运行程序时未显示JCheckBox

时间:2019-06-04 15:11:55

标签: java swing

我是Java的新手,并且正在学习在线教程来学习挥杆技巧。 我刚刚进入JCheckBox的地方,我无法弄清楚为什么我在运行程序时没有显示它们。如果有帮助,我可以在Mac上的Eclipse上运行它。

我试图重写所有内容,但是那没有用。我知道已添加它们,但它们没有出现。 JRadioButtons显示得很好。

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Userimputcomplex 
{
    public static void main(String[] args) 
    {
         RadioDemo r = new RadioDemo();
    }
}

class RadioDemo extends JFrame
{
    JTextField t1; //Input Text
    JButton b; //Button
    JRadioButton r1,r2; //Check buttons
    JLabel l; //Text
    JCheckBox c1,c2; //Multiple check buttons

    public RadioDemo()
    {
        t1 = new JTextField(15);
        b = new JButton("Ok");
        r1 = new JRadioButton("Male");
        r2 = new JRadioButton("Female");
        l = new JLabel("Greetings");
        c1 = new JCheckBox("Dancing");
        c2 = new JCheckBox("Singing");

        ButtonGroup bg = new ButtonGroup(); 
        bg.add(r1);
        bg.add(r2);

        add(t1);

        add(r1);
        add(r2);
        add(c1);
        add(c2);
        add(b);
        add(l);

        b.addActionListener(new ActionListener() 
        {
            public void actionPerformed(ActionEvent e) 
            {
                String name = t1.getText();

                if(r1.isSelected()) 
                {
                    name = "Mr." + name;
                }
                else
                {
                    name = "Ms." + name;
                }
                if(c1.isSelected()) 
                {
                    name = name + " Dancer";
                }
                if(c2.isSelected()) 
                {
                    name = name + " Singer";
                }
                l.setText(name);
            }
        });

        setLayout(new FlowLayout());
        setVisible(true);
        setSize(400, 400);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
}

0 个答案:

没有答案