【发布时间】:2012-02-16 15:55:36
【问题描述】:
我正在 NetBeans 中设计一个应用程序,如下面的屏幕截图所示。
当用户单击 JFrame 上的 JButton 时,会弹出一个 JDialog,要求用户使用数字键盘输入数值。我希望 JDialog 动态添加 2 个 JPanel。 JPanel 1 将包含一个用于输入的文本框。 JPanel 2 将包含一个数字键盘。我以这种方式设计它们,以便我可以在需要时重复使用数字小键盘。我面临的问题是在弹出的 JDialog 上动态显示这两个 JPanel。 JDialog弹出空。请看下面我的代码。谢谢大家,感谢大家的帮助
这是JDialog的示例代码:
public class MyDialog extends javax.swing.JDialog {
public MyDialog(java.awt.Frame parent, boolean modal) {
super(parent, modal);
initComponents();
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {//Add JPanel 2 (Numeric Keypad) to JDialog
Container contentPane = getContentPane();
NumericKeypadPanel nkp = new NumericKeypadPanel();
nkp.setLayout(new java.awt.BorderLayout());
contentPane.removeAll();
contentPane.add(nkp);
contentPane.validate();
contentPane.repaint();
}
});
}
这是 JPanel 2(数字键盘)的示例代码:
public class NumericKeypadPanel extends javax.swing.JPanel {
/** Creates new form NumericKeypadPanel */
public NumericKeypadPanel() {
initComponents();//Draws 10 number buttons
}
}
【问题讨论】:
标签: java swing netbeans jpanel jdialog