Java - Как добавить новые JLabel и JTextPane в JPanel при нажатии кнопки - PullRequest
0 голосов
/ 03 апреля 2012

У меня есть JPanel, к которому при нажатии кнопки я хочу добавить новые JLabel и JTextField. Однако я не могу заставить его работать.

Есть ли проблема с моим ActionListener, и если нет, то как этого достичь?

JPanel south = new JPanel();
JButton add = new JButton("Add");
ActionListener addListener = new ActionListener() {

     @Override
     public void actionPerformed(ActionEvent e) {
           JLabel mL = new JLabel("MOD: ");
           mR.add(mL);
           JTextField mM = new JTextField(10);
           mR.add(mM);
           mR.repaint();

     }

};
add.addActionListener(addListener);
south.add(add);
add(south, BorderLayout.NORTH);

Макет панели mR представляет собой сетку, которая позволяет использовать несколько строк и два столбца.

Ответы [ 2 ]

4 голосов
/ 03 апреля 2012

Звоните mR.revalidate() до repaint();

0 голосов
/ 03 апреля 2012

См. мой ответ на предыдущий вопрос SO , где приведен пример кода, который динамически добавляет компонент в контейнер

...