图形用户界面1
来源:互联网 发布:阿国网络随笔博客 编辑:程序博客网 时间:2024/05/23 21:19
作业:编写一个JFrame窗口,要求如下:
1.在窗口的NORTH区放置一个JPanel面板。
2.JPanel面板放置如下组件:
(1)JLable标签,标签文本为“兴趣”,右边接着是三个JCheckBox多选按钮,选项分别是“羽毛球”、“乒乓球”、“唱歌”。可以多选。
(2)JLabel标签,标签文本为“性别”,右边接着是两个JRadioButton按钮,选项分别是“男”、“女”。置成单选按钮,提示:使用ButtonGroup类 。
(3)兴趣标签及按钮放在第一行,性别标签及按钮放在第二行,分别借助两个行型Box容器安排这两行组件的位置,而两个行型Box容器放入
JPanel面板中,要两行组件对齐的话,
可以把JPanel面板设置两行一列的GridLayout布局。
3.窗口的CENTER区域放置一个JScrollPane容器,容器中放置一个JTextArea文本域。
4.当点击JCheckBox多选按钮和JRadioButton按钮时,如果是选中操作,则把选中项的文本显示在JTextArea文本域,每行显示一个选项。可以重复
点击,每次点击都显示选中项。
代码如下:
import java.awt.*; import java.awt.event.*; import javax.swing.*; public class EventTest extends JFrame{ //继承框架 JPanel panel; JLabel label1,label2; JCheckBox checkBox1,checkBox2,checkBox3; //先声明面板 JRadioButton rButton1,rButton2; Container contentPane; //声明容器 JTextArea textArea; JScrollPane scrollPane; Box box1,box2; public EventTest(){ //构造方法 super("第七章事件监听练习"); panel=new JPanel(); //再生成面板对象 contentPane=getContentPane(); //调用get方法获取容器对象 textArea=new JTextArea(9,26); //文本区有两个参数 scrollPane=new JScrollPane(textArea);//文本区加入到滚动面板中 label1=new JLabel("兴趣"); label2=new JLabel("性别"); checkBox1=new JCheckBox("羽毛球"); checkBox2=new JCheckBox("乒乓球"); checkBox3=new JCheckBox("唱歌"); //使用ButtonGroup类实现JRadioButtton的单选 ButtonGroup group=new ButtonGroup(); //group对象 rButton1=new JRadioButton("男"); rButton2=new JRadioButton("女"); group.add(rButton1); //单选按钮添加到group组 group.add(rButton2); box1=Box.createHorizontalBox(); //调用生成Box的方法 box1.add(label1); box1.add(checkBox1); box1.add(checkBox2); //往box中添加组件 box1.add(checkBox3); box2=Box.createHorizontalBox(); box2.add(label2); box2.add(rButton1); box2.add(rButton2); panel.add(box1); //往面板中添加Box panel.add(box2); panel.setLayout(new GridLayout(2,1)); //往容器中添加面板和滚动面板 contentPane.add(panel, BorderLayout.NORTH); contentPane.add(scrollPane,BorderLayout.CENTER); //为事件源添加事件监听 checkBox1.addActionListener(new MyListenner()); checkBox2.addActionListener(new MyListenner()); checkBox3.addActionListener(new MyListenner()); rButton1.addActionListener(new MyListenner()); rButton2.addActionListener(new MyListenner()); //设置布局模式 //setLayout(new FlowLayout()); //设置窗体大小 setSize(400,300); setVisible(true); //设置用户不允许自行调整窗口大小 //setResizable(false); //关闭窗体退出程序 setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); } public class MyListenner implements ActionListener{ public void actionPerformed(ActionEvent e) { String s; if(e.getSource() == checkBox1) { if(checkBox1.isSelected() == true) { s = checkBox1.getText(); textArea.append(s + "\n"); } } else if(e.getSource() == checkBox2) { if(checkBox2.isSelected() == true) { s = checkBox2.getText(); textArea.append(s + "\n"); } } else if(e.getSource() == checkBox3) { if(checkBox3.isSelected() == true) { s = checkBox3.getText(); textArea.append(s + "\n"); } } else if(e.getSource() == rButton1) { if(rButton1.isSelected() == true) { s = rButton1.getText(); textArea.append(s + "\n"); } } else if(e.getSource() == rButton2) { if(rButton2.isSelected() == true) { s = rButton2.getText(); textArea.append(s + "\n"); } } } } public static void main(String[] args) { new EventTest(); } }
运行结果:
阅读全文
0 0
- [1.2.1] 图形用户界面
- 图形用户界面 1
- java图形用户界面1
- Lesson7 图形用户界面1
- Lesson7 图形用户界面1
- 图形用户界面1
- 图形用户界面1
- Lesson7 图形用户界面1
- Java图形用户界面设计1
- 图形用户界面 GUI(1)
- Java【图形用户界面(1)】
- Java图形用户界面(1)
- 图形用户界面
- 图形用户界面
- 图形用户界面
- 图形用户界面
- 图形用户界面
- 图形用户界面
- impdp 虚拟列含包体数据导入
- Jzoj5246 Trip
- Java之调用天气API及解析JSON数据
- MyBatis XML方式的基本用法
- 三个浏览器内核引擎
- 图形用户界面1
- HDU_2955_Robberies(01背包,需动脑子)
- MyBatis注解方式的基本用法
- js表单结合struts上传文件
- MySql的select语句的关键字一般顺序
- OSPF 直连接与虚连接配置实例 (Cisco Packer Tracer 模拟器)
- [论文笔记]Arbitrary-Oriented Scene Text Detection via Rotation Proposals
- MyBatis动态SQL
- Java(8-1-x)