【发布时间】:2014-03-29 09:52:34
【问题描述】:
我用一个 JDesktopPane 和几个 JButton 制作了一个简单的用户界面。该程序的工作原理是,当单击按钮时,会加载 JInternalFrame 并且禁用该按钮以防止创建内部框架的副本。 JInternalFrame 上的 Cancel 按钮关闭框架并再次启用 JButton。我的代码如下:
adminAddUser addNew = new adminAddUser();
private javax.swing.JButton newUserButton;
private void newUserButtonActionPerformed(java.awt.event.ActionEvent evt)
{
AdminPane.add(addNew);
addNew.setVisible(true);
newUserButton.setEnabled(false);
}
adminAddUser 类上取消按钮的动作监听器。 dispose() 方法用于关闭 JInternalFrame。
private void cancelActionPerformed(java.awt.event.ActionEvent evt) {
int option;
option = JOptionPane.showConfirmDialog(rootPane, "Cancel?", "", JOptionPane.YES_NO_OPTION);
switch(option)
{
case (JOptionPane.YES_OPTION):
dispose();
break;
case (JOptionPane.NO_OPTION):
break;
default:
break;
}
}
最后,我在内部框架关闭时重新启用 JButton 的处理代码。
private void AdminPaneComponentRemoved(java.awt.event.ContainerEvent evt) {
if(evt.getChild() == addNew)
{
newUserButton.setEnabled(true);
}
}
当单击 JInternalFrame 上的默认关闭按钮时,该按钮重新启用正常,但取消按钮工作一次,并且在尝试第二次使用它时,JInternalFrame 关闭,但 JButton 不会重新启用。如何重新启用它?
任何帮助将不胜感激,因为我是 Java 的 GUI 编码新手。
【问题讨论】:
-
你为什么这么频繁地使用选项面板?自己创建对话框。
标签: java swing jbutton actionlistener jinternalframe