use*_*135 0 java user-interface swing
我正在为两个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");
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
你正在影响这两个JRadioButton变量
JRadioButton checkStandard = new JRadioButton("Standard");
JRadioButton checkExecutive = new JRadioButton("Executive");
Run Code Online (Sandbox Code Playgroud)
应该
checkStandard = new JRadioButton("Standard");
checkExecutive = new JRadioButton("Executive");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
50 次 |
| 最近记录: |