스윙 프레임에 두 개의 텍스트 영역이 있고 그 사이에 네 개의 텍스트 영역이 있으며 netbeans를 사용하고 있습니다.스윙 프레임이 jbutton을 클릭 한 상태로 유지 또는 유지하지 않습니다.
버튼을 클릭하면 에서 getText()
을 사용하여 sql 쿼리를 가져옵니다.
SubmitData()
으로 입력이 처리됩니다 (즉, 쿼리를 분할 한 후 키워드의 철자를 검사 함). 해당 메서드 내에서 으로 출력을 설정하는 데는 setText()
만 사용됩니다.
문제점 : 버튼을 누른 후 프레임이 멈추거나 유지되지 않습니다. 멀리 갈 것 나던
void createUI() throws Exception
{
JFrame frame = new JFrame("JDBC All in One");
// Layout of Main Window
Container c = frame.getContentPane();
c.setLayout(new BoxLayout(c, BoxLayout.Y_AXIS));
textArea1 = new JTextArea(10, 50);
textArea1.setBounds(10, 10, 30, 30);
btnInsert = new JButton("Submit");
btnInsert.setBounds(10, 10, 10, 10);
btnInsert.addActionListener(this);
textArea2 = new JTextArea(10, 50);
textArea2.setBounds(10, 10, 30, 30);
JPanel pnlInput1 = new JPanel();
JPanel pnlInput2 = new JPanel();
JPanel pnlInput3 = new JPanel();
pnlInput1.add(textArea1);
pnlInput3.add(btnInsert);
pnlInput2.add(textArea2);
frame.add(pnlInput1);
frame.add(pnlInput3);
frame.add(pnlInput2);
frame.setSize(400, 500);
frame.pack();
frame.setVisible(true);
}
public void actionPerformed(ActionEvent evt)
{
String cmd = evt.getActionCommand();
if (cmd.equals("Submit")) {
try {
SubmitData();
} catch (Exception e) {}
}
}
public static void SubmitData() throws Exception {
s1 = textArea1.getText();
String[] s2 = s1.split("\\s+");
for (int i = 0; i < s2.length; i++) {
if (s2[i] .equals("elect")|| s2[i] .equals("selct") || s2[i].equals("slect")|| s2[i].equals("selec")|| s2[i].equals("seect")
{
textArea2.setText("use 'select' instead of " + s2[i]);
System.exit(0);
}
if (s2[i] == "updat" || s2[i] == "updae" || s2[i] == "updte" || s2[i] == "upate") {
textArea2.setText("use 'update' instead of " + s2[i]);
System.exit(0);
}
if (s2[i] == "delet" || s2[i] == "delte" || s2[i] == "elete" || s2[i] == "dlete") {
textArea2.setText("use 'delete' instead of " + s2[i]);
System.exit(0);
}
if (s2[i] == "fro" || s2[i] == "frm" || s2[i] == "fom") {
textArea2.setText("use 'from' instead of " + s2[i]);
System.exit(0);
}
}
}
편집 들려요가 .equals으로 "=="이리저리 문자열을 비교 한 변경()하지만 문제 :
여기 내 코드입니다.
Welcome to StackOverflow! 다음은 답변을 얻는 데 도움이되는 몇 가지 팁입니다. 1. 문제가 해결되지 않으면 스택 추적, 오류 로그 등을 게시하십시오. 길이가 너무 길면 관련 스 니펫을 [pastebin] (http://pastebin.com/)과 같은 붙여 넣기 서비스에 게시 할 수 있습니다. 우리의 관점에서 보자. 출력물을 보여주지 않으면 버튼을 눌렀을 때 창이 닫히는 이유를 알아내는 것이 정말 어렵다! –
2. 질문을 편집 할 때 질문 내용을 심각하게 변경하지 마십시오. 타이포 등으로 편집하는 경우. 그게 좋지만 일반적으로 콘텐츠를 변경하면 하단에 "EDIT :"로 시작하는 줄을 쓰는 것이 예의가되어 사람들이 변경 한 내용을 알게됩니다. –
3. 코드를 게시 할 때 사람들이 코드를 신속하게 테스트 할 수 있도록 [SSCCE] (http://sscce.org/)를 게시하는 것이 좋습니다. 매우 길기 때문에 게시 한 것을 사용하는 것이 매우 어렵습니다. 필요한 모든 것이 아니기 때문입니다. 모든 코드를 게시해야하고 스 니펫을 게시 한 다음 맨 아래에 전체를 모두 게시해야합니다. –