上周老师讲了关于事件响应的知识,通过学习和结合书本上的知识,我做了一个关于心理学兴趣调查表的程序,里面运用了GridLayout网格布局,复选框JCheckBox,按钮JButton,面板JPanel等组件,该程序的功能为,当某同学选好自己的各项兴趣爱好时,按确定按钮弹出一个对话框显示“您的信息已存档”,按退出按钮则关闭该界面。通过查阅资料在代码里还运用了JRadioButton实现了性别选项的互斥;下面是程序的源代码:
import javax.swing.*;
import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class CheckBoxDemol extends JFrame{ GridLayout gridlayout; JButton btn[];
private JCheckBox chkgengdi;
private JCheckBox chksiyang;
private JCheckBox chkbozhong;
private JCheckBox chkBoy;
private JCheckBox chkGirl;
private JPanel mb1;
private JCheckBox chkzhiwu;
private JCheckBox chkfuzhuang;
private JCheckBox chkyanliao;
private JCheckBox chkyumaoqiu;
private JCheckBox chklanqiu;
private JCheckBox chkpingpangqiu;
private JCheckBox chkxiaoshou;
private JCheckBox chkguanli;
private JCheckBox chkcaizheng;
private JCheckBox chkxiezuo;
private JCheckBox chkyanjiang;
private JCheckBox chkyuedu;
private JLabel lab,lab1,lab2,lab3,lab4,lab5,bq1;
private ButtonGroup grp;
private JButton Btn1;
private JButton Btn2;
CheckBoxDemol(String s){
super(s);
setSize(500,500);
setLocationRelativeTo(null);
JPanel contentPane=new JPanel();
setContentPane(contentPane);
gridlayout=new GridLayout(7,7);
contentPane.setLayout(gridlayout);
bq1=new JLabel(" ");
lab1=new JLabel("性别:");
chkBoy=new JCheckBox("男");
chkGirl=new JCheckBox("女");
grp=new ButtonGroup();
grp.add(chkBoy);
grp.add(chkGirl);
lab=new JLabel("农业兴趣:");
chkgengdi=new JCheckBox("耕地");
chksiyang=new JCheckBox("饲养");
chkbozhong=new JCheckBox("播种");
lab2=new JLabel("艺术性趣:");
chkzhiwu=new JCheckBox("织物");
chkfuzhuang=new JCheckBox("服装");
chkyanliao=new JCheckBox("颜料");
lab3=new JLabel("运动性趣:");
chkyumaoqiu=new JCheckBox("羽毛球");
chklanqiu=new JCheckBox("篮球");
chkpingpangqiu=new JCheckBox("乒乓球");
lab4=new JLabel("商业性趣:");
chkxiaoshou=new JCheckBox("销售");
chkguanli=new JCheckBox("管理");
chkcaizheng=new JCheckBox("财政");
lab5=new JLabel("沟通兴趣:");
chkxiezuo=new JCheckBox("写作");
chkyanjiang=new JCheckBox("演讲");
chkyuedu=new JCheckBox("阅读");
Btn1=new JButton("确定");
Btn1.setSize(10,10);
Btn1.addActionListener(new ActionListener(){
@Override public void actionPerformed(ActionEvent arg0) { // TODO Auto-generated method stub JOptionPane.showMessageDialog(null, "您的信息已存档");
}});
Btn2 =new JButton("退出"); Btn2.addActionListener(new ActionListener(){
@Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub System.exit(0);
}});
contentPane.add(lab);
contentPane.add(chkgengdi);
contentPane.add(chksiyang);
contentPane.add(chkbozhong);
contentPane.add(lab2);
contentPane.add(chkzhiwu);
contentPane.add(chkfuzhuang);
contentPane.add(chkyanliao);
contentPane.add(lab3);
contentPane.add(chkyumaoqiu);
contentPane.add(chklanqiu);
contentPane.add(chkpingpangqiu);
contentPane.add(lab4);
contentPane.add(chkxiaoshou);
contentPane.add(chkguanli);
contentPane.add(chkcaizheng);
contentPane.add(lab5);
contentPane.add(chkxiezuo);
contentPane.add(chkyanjiang);
contentPane.add(chkyuedu);
contentPane.add(lab1);
contentPane.add(chkBoy);
contentPane.add(chkGirl);
contentPane.add(bq1);
mb1=new JPanel();mb1.add(Btn1);mb1.add(Btn2);
contentPane.add(mb1, BorderLayout.SOUTH);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true); }
//CheckBoxDemol.java
public static void main(String[] args) { // TODO Auto-generated method stub CheckBoxDemol frm=new CheckBoxDemol("心理学兴趣调查表");
}
}
程序运行结果如下图所示:
我的照片: