单选按钮没有做它的动作

时间:2016-03-17 08:35:15

标签: java swing jradiobutton

每次单击in2cm的单选按钮并尝试转换时,单击转换按钮时都没有显示任何内容。如果可能的话,还会告诉我如何使用列表框,所以我将它放在一个列表框中,使GUI更容易使用。

ButtonGroup convertgroup=new ButtonGroup();
jr=new JRadioButton[10];

jr[0]=new JRadioButton("Inch to Cm");

l1 = new JTextField(25);
l2 = new JTextField(25);

length1 = new JLabel("ft", SwingConstants.LEFT);
length2 = new JLabel("cm", SwingConstants.LEFT);

convertgroup.add(jr[0]);

jr[1]=new JRadioButton("Meter to Feet");
length = new JLabel("m    = ", SwingConstants.LEFT);
l1 = new JTextField(25);
l2 = new JTextField(25);

length1 = new JLabel("ft", SwingConstants.LEFT);
length2 = new JLabel("cm", SwingConstants.LEFT);

convertgroup.add(jr[1]);

jr[2]=new JRadioButton("Mile to Km");
Mi2Km = new JTextField(25);
Km2Mi = new JTextField(25);
length3 = new JLabel("Mile", SwingConstants.LEFT);
length4 = new JLabel("Km", SwingConstants.LEFT);

convertgroup.add(jr[2]);

jr[3]=new JRadioButton("Nautical Mile to Km");
Nmi2Km= new JTextField(25);
Km2Nmi= new JTextField(25);

jr[4]=new JRadioButton("League to Km");
Le2Km = new JTextField(25);
Km2Le = new JTextField(25);

submit = new JButton("Convert");
clear = new JButton("Clear");
quit = new JButton("Quit");

submit.addActionListener(this);
clear.addActionListener(this);
quit.addActionListener(this);

converterPanel.add(jr[0]);
converterPanel.add(jr[2]);
converterPanel.add(jr[1]);
converterPanel.add(l1);
converterPanel.add(length);
converterPanel.add(l2);
converterPanel.add(length1);
converterPanel.add(jr[3]);
converterPanel.add(jr[4]);

converterPanel.add(submit);
converterPanel.add(clear);
converterPanel.add(quit);

length.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));

以下是执行的操作:

public void actionPerformed(ActionEvent event) {

    if (event.getSource() == quit) {
        System.exit(0);
    }

    if (event.getSource() == clear) {
        l1.setText("");
        l2.setText("");
    }

    if (event.getSource()== submit) {

        if(!jr[0].isSelected() && !jr[1].isSelected() && !jr[2].isSelected())
            JOptionPane.showMessageDialog(converterFrame,
                    "No RadioButton has been Selected ", "Warning",
                    JOptionPane.WARNING_MESSAGE);

        if(jr[0].isSelected())
            in2cm();

        if(jr[1].isSelected()){
            lengthConvert();

            return;
        }
    }
}

我找到了问题并修复了它,但是每次选择jr [0]时如何更改jlabel?因为jr [1]中的jlabel是m和feet,而在jr [0]中我需要将它设置为cm。

0 个答案:

没有答案