SQLite 데이터베이스의 내용을 표시하는 Java 응용 프로그램을 작성하고 있습니다.JTextField ActionListener가 이벤트에 응답하지 않습니다.
사용자가 필드를 클릭하면 프로그램이 데이터베이스의 다음 테이블에 액세스 할 수 있도록 ActionListener를 설정하려고합니다.
청취자가 클릭에 응답하지 않는 것이 문제입니다. 사용자가 컨트롤에 포커스가 프레스 들어가면
public void text(JTextField jtf, String a, int x, int y, int wid, int hei){
Font font = new Font("Courier", Font.BOLD,12);
gbc=new GridBagConstraints();
jtf=new JTextField(a);
gbc.gridx=x;
gbc.gridy=y;
gbc.gridwidth = wid;
gbc.gridheight=hei;
gbc.fill=GridBagConstraints.BOTH;
add(jtf,gbc);
jtf.setEditable(false);
jtf.setHorizontalAlignment(JTextField.CENTER);
jtf.setBorder(BorderFactory.createLineBorder(Color.BLACK));
jtf.setFont(font);
jtf.addActionListener(new ActionListener()
{ @Override
public void actionPerformed(ActionEvent arg0) {
JOptionPane.showMessageDialog(null,"Pressed");
}
});
}
'문제는 청취자가 클릭에 응답하지 않습니다.'입니다. 올바르게 추가 된 ActionListener는 JTextField를 클릭 할 때 실행되지 않습니다. 포커스가 JTextField에 있으면 Enter 키를 누릅니다. 아마도 JButton에 리스너를 추가하려고 할 것입니다. – splungebob
더 나은 도움을 받으려면 문제를 나타내는 [Minimal, Complete, Verifiable Example (http://stackoverflow.com/help/mcve)]을 게시하십시오. 여러 번, 예제를 만들면 문제가 드러납니다. – splungebob