[英]JRadiobutton ActionListener not responding
我正在为两个JRadiobuttons注册事件,但是什么也没有发生! 没有引发任何错误,因此我无法追溯问题。.选择第一个单选按钮时,它应该打印出文本。 选择第二个按钮时,它应打印出不同的文本。
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class num2 extends JFrame {
private static JLabel type;
private static JLabel days;
private static JLabel amt;
private static JRadioButton checkStandard;
private static JRadioButton checkExecutive;
private static JTextField txtDays;
private static JTextField txtAmount;
private static JButton btnCalculate;
private static ButtonGroup group = new ButtonGroup();
public num2(){
super("Testing Events");
JPanel p = new JPanel();
JLabel type = new JLabel("Room Type : ");
JLabel days = new JLabel("Number Of Days : ");
JLabel amt = new JLabel("Total Amount : ");
JRadioButton checkStandard = new JRadioButton("Standard");
JRadioButton checkExecutive = new JRadioButton("Executive");
p.setLayout(new FlowLayout());
group.add(checkStandard);
group.add(checkExecutive);
p.add(checkStandard);
p.add(checkExecutive);
TheHandler handler = new TheHandler();
checkStandard.addActionListener(handler);
checkExecutive.addActionListener(handler);
add(p);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(100, 100);
setVisible(true);
}
public static void main(String[] args) {
num2 app = new num2();
}
private class TheHandler implements ActionListener{
public void actionPerformed(ActionEvent evt) {
Object source = evt.getSource();
if (source == checkStandard) {
System.out.println("Done");
}
else if(source == checkExecutive){
System.out.println("nope");
}
}
}
}
您正在遮盖两个JRadioButton
变量
JRadioButton checkStandard = new JRadioButton("Standard");
JRadioButton checkExecutive = new JRadioButton("Executive");
应该
checkStandard = new JRadioButton("Standard");
checkExecutive = new JRadioButton("Executive");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.