2013-08-12 3 views
0

Может кто-нибудь дать мне несколько советов о том, как динамически генерировать вложенные радиокнопки? Я никогда не работал с радиокнопками в JAVA, поэтому, прежде чем начать, я найду здесь полезные советы. Я прочитал информацию из базы данных и использовал ее, чтобы создать несколько переключателей, а также выпадаю.Java - динамически генерирует кнопки радиосвязи

Что-то вроде этого:

enter image description here

Когда я прижимаю сберегательный счет новой выпадающие панели появится с набором продуктов, на которые приходится есть. Также я хочу, чтобы мой ответ на выбор этих переключателей был сохранен.

+0

http://docs.oracle.com/javase/tutorial/uiswing/components/button.html – christopher

+0

ArrayLists может хранить динамическое число элементов –

+1

использовать циклы для генерации числа петель. Затем скройте параметры разделенных радиостанций. Включите их видимым, только когда выбрана основная кнопка. –

ответ

1

Я не рекомендую использовать гнездование. Хорошей практикой является использование пользовательского интерфейса, где компоненты выравниваются друг с другом, насколько это возможно, а вложенность создавала бы вертикальное выравнивание для каждого уровня вложенных компонентов. Также в сочетании с переключателями требуется большая площадь пустого пользовательского интерфейса!

Вместо гнездования вы можете разместить каждый уровень переключателей под предыдущим уровнем переключателей. Выбор переключателя на одном уровне позволит и обновлять переключатели на уровне ниже. Что-то вроде этого, но представьте себе, больше радио кнопки группы:

radio button groups

Также вы можете заменить радиокнопки с поля со списком. Это сэкономит дополнительное пространство и упростит интерфейс.

Если вы действительно хотите, чтобы вложенные кнопки переключателей, я бы использовал GridBagLayout. Каждый переключатель будет находиться в одной строке и заполняется несколькими столбцами. Каждый уровень радиокнопок бы начать на следующей колонке:

Radio buttons with grid

0

enter image description here Вот простое упражнение добавления кнопки в Swing, да и в этом примере используется RadioButton.

Здесь проверьте это.

for (int i = 0; i < 10; i++) { 

      final JRadioButton button1 = new JRadioButton("Kishan"+i); 
      jPanel1.add(button1); 
      buttonGroup1.add(button1); 

      button1.addActionListener(new ActionListener() { 

       @Override 
       public void actionPerformed(ActionEvent e) { 
        System.err.println("Action Performed..************"); 
        System.out.println("This is action text.."+button1.getText()); 

       } 
      }); 

     } 
Смежные вопросы