Я проектирую приложение в NetBeans, как показано на снимке экрана ниже.
Когда пользователь нажимает JButton на JFrame, всплывающее окно JDialog спрашиваетпользователь вводит числовое значение с помощью цифровой клавиатуры.Я хотел бы, чтобы JDialog динамически добавлял 2 JPanels.JPanel 1 будет содержать текстовое поле для ввода.JPanel 2 будет содержать цифровую клавиатуру.Я разработал их таким образом, чтобы я мог использовать цифровую клавиатуру всякий раз, когда мне это нужно.Проблема, с которой я сталкиваюсь, заключается в динамическом отображении этих 2 JPanels на JDialog, который появляется.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
}
}