我对actionListener有问题。我创建了自己的简单对话框,它只有两个JButtons - 是和否。当我点击按钮时,actionListener不响应。JButton对actionListener没有反应
这是我的代码:
private void showInfoNewUML() {
Dimension buttonsSize = new Dimension(60, 25);
Dimension programSize = new Dimension(1200, 700);
final JDialog dialogWindow = new JDialog(this, "Erase actual UML diagram"
+ " with his files", true);
JTextArea descDialogWindow = new JTextArea("Do you really erase actual\n"
+ "UML diagram with his files? ");
descDialogWindow.setEditable(false);
descDialogWindow.setBackground(new Color(220, 220, 220));
descDialogWindow.setBorder(null);
dialogWindow.getContentPane().setBackground(new Color(220, 220, 220));
dialogWindow.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
dialogWindow.setModal(true);
dialogWindow.setResizable(false);
dialogWindow.setLayout(new FlowLayout());
dialogWindow.setSize(310, 100);
dialogWindow.setLocation((int) programSize.getWidth()/2,
(int) programSize.getHeight()/2);
JButton buttonYes = new JButton("Yes");
JButton buttonNo = new JButton("No");
buttonYes.setPreferredSize(buttonsSize);
buttonNo.setPreferredSize(buttonsSize);
dialogWindow.add(descDialogWindow);
dialogWindow.add(buttonYes);
dialogWindow.add(buttonNo);
dialogWindow.setVisible(true);
buttonYes.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
buttonAnoActionPerformed(e);
}
private void buttonAnoActionPerformed(ActionEvent e) {
dialogWindow.setVisible(false);
}
});
buttonNo.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
buttonNeActionPerformed(e);
}
private void buttonNeActionPerformed(ActionEvent e) {
dialogWindow.setVisible(false);
}
});
}
我想关闭这个对话框后,我按一下按钮。当我点击十字的右上角按钮时,对话窗口关闭。
谢谢你帮助解决这个问题。
创建一个[SSCCE](http://sscce.org)将帮助我们理解您的问题。 – Jeffrey 2012-04-05 21:38:56
''你真的用他的文件擦除了实际的\ n“ +”UML图吗?“'这似乎更适合['JOptionPane.showConfirmDialog(...)'](http://docs.ora .com/javase/7/docs/api/javax/swing/JOptionPane.html#showConfirmDialog%28java.awt.Component,%20java.lang.Object%29)(以及重载的变体)。 – 2012-04-05 21:44:25
是的,我愿意。不幸的是,我正在做一个捷克语的应用程序,它可以响应showConfirmDialog Yes [in czech“Ano”]和No [in czech“Ne”]进行调整。这是我创建自己的对话框的原因。 – avalagne 2012-04-05 21:48:20