编写一个JFrame窗口,要求如下:
- 在窗口的NORTH区放置一个JPanel面板。
- JPanel面板放置如下组件:
(1) JLable标签,标签文本为“兴趣”,右边接着是三个JCheckBox多选按钮,选项分别是“羽毛球”、“乒乓球”、“唱歌”。可以多选。
(2) JLabel标签,标签文本为“性别”,右边接着是两个JRadioButton按钮,选项分别是“男”、“女”。置成单选按钮,提示:使用ButtonGroup类 。
(3) 兴趣标签及按钮放在第一行,性别标签及按钮放在第二行,分别借助两个行型Box容器安排这两行组件的位置,而两个行型Box容器放入JPanel面板中,要两行组件对齐的话,可以把JPanel面板设置两行一列的GridLayout布局。 - 窗口的CENTER区域放置一个JScrollPane容器,容器中放置一个JTextArea文本域。
- 当点击JCheckBox多选按钮和JRadioButton按钮时,如果是选中操作,则把选中项的文本显示在JTextArea文本域,每行显示一个选项。可以重复点击,每次点击都显示选中项。
package Task3;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class MyJFrame extends JFrame implements ActionListener{
JLabel interestLabel=new JLabel("兴趣");
JCheckBox badMintonCheckbox=new JCheckBox("羽毛球");
JCheckBox tableTennisCheckbox=new JCheckBox("乒乓球");
JCheckBox singCheckbox=new JCheckBox("唱歌");
JLabel genderLable=new JLabel("性别");
JRadioButton maleRadioButton=new JRadioButton("男");
JRadioButton femalRadioButton=new JRadioButton("女");
JTextArea textArea;
MyJFrame(){
super("我创建的MyJFrame");
Container contentPane = getContentPane();
Box box1=Box.createHorizontalBox();
Box box2=Box.createHorizontalBox();
ButtonGroup group=new ButtonGroup();
group.add(maleRadioButton);
group.add(femalRadioButton);
box1.add(interestLabel);
box1.add(badMintonCheckbox);
box1.add(tableTennisCheckbox);
box1.add(singCheckbox);
box2.add(genderLable);
box2.add(maleRadioButton);
box2.add(femalRadioButton);
JPanel Panel=new JPanel();
GridLayout Grid=new GridLayout(2,1);
Panel.setLayout(Grid);
Panel.add(box1);
Panel.add(box2);
contentPane.add(Panel,BorderLayout.NORTH);
JScrollPane scrollPane=new JScrollPane(textArea);
JTextArea textArea =new JTextArea();
scrollPane.add(textArea);
contentPane.add(scrollPane,BorderLayout.CENTER);
badMintonCheckbox.addActionListener(this);
tableTennisCheckbox.addActionListener(this);
singCheckbox.addActionListener(this);
maleRadioButton.addActionListener(this);
femalRadioButton.addActionListener(this);
setSize(400,300);
setVisible(true);
setDefaultCloseOperation(MyJFrame.DISPOSE_ON_CLOSE);
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource() == badMintonCheckbox)
{
{if(badMintonCheckbox.isSelected() == true)
textArea.append("羽毛球" + "\n");
}
}
else if(e.getSource() == tableTennisCheckbox)
{
if(tableTennisCheckbox.isSelected() == true)
textArea.append("乒乓球" + "\n");
}
else if(e.getSource() == singCheckbox)
{
if(singCheckbox.isSelected() == true)
textArea.append("唱歌" + "\n");
}
else if(e.getSource() == maleRadioButton)
{
if(maleRadioButton.isSelected() == true)
textArea.append("男" + "\n");
}
else if(e.getSource() == femalRadioButton)
{
if(femalRadioButton.isSelected() == true)
textArea.append("女" + "\n");
else
return;
}
}
public static void main(String[] args)
{
new MyJFrame();
}
}
![这里写图片描述](https://img-blog.csdn.net/20171123124542792?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfNDAxNjkxMTM=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)