java - Как создавать кнопки динамически?


0

Подскажите как создать кнопки в jPanel при нажатии другой кнопки. (Нажимаю кнопку, и на jPanel создается новая кнопка jButton1, нажимаю еще раз jButton2, и т.д.)

Вот кнопки теперь создаются. И вот возник еще вопрос "Как унаследовать данные из существующей кнопки в динамически созданную?"

  •  49
  •  1
  • 23 янв 2018 2018-01-23 08:51:53
Так же как и не динамически. В чем сложность? Где застряли? — 16 янв 20182018-01-16 10:08:15.000000

1 ответ

0

Если надо программно, то вот так

    JButton button = new JButton("Test");
    button.setSize(100, 100);
    jPanel1.add(button);
    jPanel1.repaint();

Скорее всего Вы так и делали. Хитрость в том, чтобы установить размер кнопки(setSize). По умолчанию он равен 0х0

P.S. данный код следует поместить в событие нажатия кнопки. Его можно автоматически создать в Netbeans посредством двойного клика по кнопке

P.P.S таже учтите, если не выставлять координаты новой кнопки, то она будет отображатся "под" первой созданной. Для избежание подобного надо устанавливать, к примеру, button.setBounds(x += 10, y += 10, 100, 100);, где x и y - это поля класса с изначальными координатами(для первой кнопки)

  • 16 янв 2018 2018-01-16 11:32:49
сейчас работает — 16 янв 20182018-01-16 09:12:32.000000
Всмысле? Сразу не отображается? А. Добавил перерисовку(repaint) — 16 янв 20182018-01-16 09:12:32.000000
Почему эта кнопка появляется когда на нее наводишь? — 16 янв 20182018-01-16 09:12:32.000000