我这样做略有不同,它有助于达到目的。 我有几节课。 它们扩展了JPanel,用于不同的目的并使用JDialogs来获取用户的输入。
典型的类将包含必要的字段,保存和取消按钮。
公共类EnterpriseGUI扩展javax.swing.JPanel {...}将如下所示:
类EnterpriseGUI有一个私有变量jdialog和一个设置jdialog的方法。 还有“保存”按钮和“取消”按钮的ActionEvent。
private JDialog jdialog;
public void setJDialog(JDialog jdialog) {
this.jdialog = jdialog;
}
private void btnSaveActionPerformed(java.awt.event.ActionEvent evt) {
// Do your stuff..
jdialog.dispose();
}
private void btnCancelActionPerformed(java.awt.event.ActionEvent evt) {
// Discard your stuff..
jdialog.dispose();
}
最后,我根据需要从任何其他类创建EnterpriseGUI实例,并将其嵌入到JDialog中。
Class OtherClass{
private JDialog dialog;
private EnterpriseGUI = new enterprisegui();
private void button1ActionPerformed(java.awt.event.ActionEvent evt) {
this.dialog = new JDialog(this, "My dialog", true);
this.dialog.setResizable(false);
enterprisegui.setJDialog(dialog);
this.dialog.getContentPane().add(enterprisegui);
this.dialog.pack();
Dimension Size = Toolkit.getDefaultToolkit().getScreenSize();
this.dialog.setLocation(new Double((Size.getWidth()/2) -
(dialog.getWidth()/2)).intValue(), new Double((Size.getHeight()/2) -
(dialog.getHeight()/2)).intValue());
this.dialog.setVisible(true);
}
}