繁体   English   中英

JRadiobutton ActionListener没有响应

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM