Я новичок в Java, и я хочу сделать простую программу с 3 радиокнопками, с выбранной только одной кнопкой за раз.
Я сделал ту же программу с actionListener в том же классе, и она работала, но когда я переместил actionListener в другой класс, я застрял.
Вот класс, в котором я создал окно:
import javax.swing.JRadioButton;
import javax.swing.JFrame;
import java.awt.FlowLayout;;
public class window extends JFrame{
public JRadioButton radio1= new JRadioButton("Salam1");
public JRadioButton radio2= new JRadioButton("Salam2");
public JRadioButton radio3= new JRadioButton("Salam3");
public window(){
super("Title");
setLayout(new FlowLayout());
add(radio1);
add(radio2);
add(radio3);
action acc = new action();
radio1.addActionListener(acc);
radio2.addActionListener(acc);
radio3.addActionListener(acc);
}
}
А это мой класс ActionListener:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class action implements ActionListener{
window sarma = new window();
public void actionPerformed(ActionEvent event){
if(sarma.radio1.isSelected()){
sarma.radio2.setSelected(false);
sarma.radio3.setSelected(false);
}
if(sarma.radio2.isSelected()){
sarma.radio1.setSelected(false);
sarma.radio3.setSelected(false);
}
if(sarma.radio3.isSelected()){
sarma.radio2.setSelected(false);
sarma.radio1.setSelected(false);
}
}
}
Основной класс
import javax.swing.JFrame;
public class first{
public static void main(String args[]) {
window salam = new window();
salam.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
salam.setSize(500,150);
salam.setResizable(false);
salam.setVisible(true);
}
}
После того, как я создал объект окна (с именем sarma) в классе действия, окно не открывается, когда я пытаюсь запустить программу.
Итак, как я могу заставить эту программу работать?