у меня есть несколько jradiobutton, которые находятся внутри цикла for, и я пытаюсь поместить на него слушателя, и вот что я нашел:
Прослушиватель действий для нескольких переключателей
Создайте двумерный массив JRadioButton, например
JRadioButton[][] jRadioButtons = new JRadioButton[8][]; ButtonGroup bg = new ButtonGroup(); JPanel panel = new JPanel(); panel.setLayout(new GridLayout(8, 8)); for (int i = 0; i < 8; i++) { for (int j = 0; j < 8; j++) { JRadioButton btn = new JRadioButton(); btn.addActionListener(listener); btn.setName("Btn[" + i + "," + j + "]"); bg.add(btn); panel.add(btn); // can be used for other operations jRadioButtons[i][j] = btn; } }
Вот один ActionListener для всех JRadioButtons
ActionListener listener = new ActionListener() { @Override public void actionPerformed(ActionEvent e) { JRadioButton btn = (JRadioButton) e.getSource(); System.out.println("Selected Button = " + btn.getName()); } };
я вроде понимаю, но у меня все еще есть несколько разъяснений:
- какова цель двумерного jradiobutton? я имею в виду, я как бы вижу, что это нужно для установки имени для jradiobuttons, но, насколько я понимаю, это только для отображения. да, чтобы подтвердить, что это jradiobutton, который вы выбрали, но я не понимаю, с какой целью он помещает actionlistener
- действительно ли двухмерный jradiobutton так необходим?
- могу я просто использовать имя jradiobuttons
сделать что-то вроде этого:
if(NameOfJRadioButton.isSelected())
{
//some procedures
}
^ (кажется, я не могу преобразовать это в код:/)
если да, то как я могу это сделать? или у вас есть другие предложения о том, как поставить прослушиватель для нескольких jradiobuttons? спасибо за любое ваше предложение :)
is the two dimensional jradiobutton really that necessary?
- вы когда-нибудь ссылались на массив где-нибудь в своем коде?i don't get what's the purpose of it in putting actionlistener
- если у вас нет цели, то зачем писать ActionListener? Вы пишете ActionListener только в том случае, если хотите что-то сделать, когда пользователь нажимает переключатель. - person camickr   schedule 21.10.2016