Java程序设计项目化教程 教学课件 ppt 作者 陈芸_ 第9章

上传人:E**** 文档编号:89355684 上传时间:2019-05-23 格式:PPT 页数:93 大小:891.50KB
返回 下载 相关 举报
Java程序设计项目化教程 教学课件 ppt 作者 陈芸_ 第9章_第1页
第1页 / 共93页
Java程序设计项目化教程 教学课件 ppt 作者 陈芸_ 第9章_第2页
第2页 / 共93页
Java程序设计项目化教程 教学课件 ppt 作者 陈芸_ 第9章_第3页
第3页 / 共93页
Java程序设计项目化教程 教学课件 ppt 作者 陈芸_ 第9章_第4页
第4页 / 共93页
Java程序设计项目化教程 教学课件 ppt 作者 陈芸_ 第9章_第5页
第5页 / 共93页
点击查看更多>>
资源描述

《Java程序设计项目化教程 教学课件 ppt 作者 陈芸_ 第9章》由会员分享,可在线阅读,更多相关《Java程序设计项目化教程 教学课件 ppt 作者 陈芸_ 第9章(93页珍藏版)》请在金锄头文库上搜索。

1、第9章 任务9设计用户注册界面,9.1 任务描述 9.2 技术要点 9.3 任务实施,9.1 任 务 描 述 本章的任务是设计用户注册界面,并完成相关功能。在用户登录的界面中,通过单击【注册】按钮,进入用户注册界面,如图9-1所示。注册界面中除了标签、按钮、文本框、密码框等熟悉的组件,还新增了作为性别选择的单选按钮以及提供所属班级选择的组合框等组件。当用户填写好正确信息后,单击【注册】按钮,系统将把当前用户信息保存至用户信息文件。由于文件读写相关操作将在后续章节进行讲解,因此在本章为了保证程序的完整性,我们暂时显示一个简单的窗口以提示注册成功,如图9-1所示。,图9-1 用户注册界面,9.2

2、技 术 要 点 本章技术要点是GUI程序设计中的选择性组件及其相关事件、常用复杂的布局方式网格包布局(GridBagLayout)和盒式布局(BoxLayout)。,9.2.1 选择性组件 1组合框(JComboBox类) 组合框是一些项目的简单列表,用户可以看到它的一个选项及其旁边的箭头按钮。当用户单击箭头按钮时,选项列表被展开,用户可以从中进行选择。其优点在于节省空间,使界面更加紧凑。同时,它也限制用户的选择范围,并且能够避免对输入数据有效性的繁琐验证。默认情况下,JComboBox是不可编辑的,但可以调用setEditable(true)将其设置为可编辑状态。 JComboBox类的常用

3、构造函数及方法如表9-1所示。,表9-1 JComboBox类的常用构造函数及方法,例如:创建一个显示城市名字的组合框。 String city=“北京”,“上海”,“广州”“; JComboBox jcity =new JComboBox(city); JComboBox可以触发ActionEvent和ItemEvent事件。选中一个新的选项时,JComboBox会触发两次ItemEvent事件,一次是取消前一个选项,另一次是选择当前选项。产生ItemEvent事件后,JComboBox紧接着触发ActionEvent事件,具体示例参见本章例9-1。,2列表框(JList类) 列表框的作用与

4、组合框基本相同,也是提供一系列的选择项供用户选择,但是列表框允许用户同时选择多项。可以在创建列表时,将其各选择项加入到列表中。 JList类的常用构造函数及方法如表9-2所示。,表9-2 JList类的常用构造函数及方法,例如:创建一个关于颜色的列表框。 JList colorlist=new JList(3,true); /列表的构造函数 colorlist.add(“red“); /将字符串加到列表中 colorlist(“green“); colorlist(“blue“); JList(3,true)中的3表明该列表只显示三个选项;true表示可做多重选择,若为false,则只能做单一

5、的选择。,3单选按钮(JRadioButton类) 单选按钮JRadioButton是提供用户从一组选项中选择唯一的选项的按钮。 JRadioButton类的常用构造函数及方法如表9-3所示。,表9-3 JRadioButton类的常用构造函数及方法,单选按钮可以像按钮一样添加到容器中,但要实现多选一的功能,必须将单选按钮分组,需要创建一个Button Group的实例,并用add方法把单选按钮添加到该实例中。具体方法如下所示,显示效果如图9-2所示。 JRadioButton rad1,rad2; rad1=new JRadioButton(“男“); rad2=new JRadioButt

6、on (“女“,true); ButtonGroup btg= new ButtonGroup( ); btg.add(rad1); btg.add(rad1);,panel = new JPanel(); panel.add(rad1); panel.add(rad2);,图9-2 单选按钮,4复选框(JCheckBox类) JCheckBox组件提供一种简单的“开/关”输入设备,它带有一个文本标签。每个复选按钮只有两种状态:true表示选中;false表示未被选中。创建复选按钮对象时可以同时指明其文本标签,这个文本标签简要地说明了复选按钮的含义。其功能与单选按钮(JRadioButton)

7、类似,所不同的是复选框可以实现多选多。 JCheckBox类的常用构造函数及方法如表9-4所示。,表9-4 JCheckbox类的常用构造函数及方法,复选按钮的构造函数如下: JCheckBox() JCheckBox(String str, boolean tf) 其中,str指明对应的文本标签;tf是一个逻辑值,或为true,或为false。 如果要获得复选按钮的状态,可以调用方法getState()获得:若按钮被选中,返回true,否则返回false。调用方法setState()可以在程序中设置是否选中复选按钮。 例如:创建一个关于字型的复选框,显示效果如图9-3所示。,JCheckBo

8、x bold = new JCheckBox( “Bold“ ); /粗体 JCheckBox italic= new JCheckBox(“Italic“); /斜体,图9-3 复选框,9.2.2 选择事件 1ItemEvent类 选择事件是在具有选择某个项目功能的组件上发生的事件,能够引发选择事件的Swing组件,包括复选框、复选框菜单项、组合框、单选按钮。 ItemEvent类的常用方法如表9-5所示。,表9-5 ItemEvent类的常用方法,ItemEvent类用两个静态常量表示选项状态: ItemEvent.SELECTED:代表选项被选中。 ItemEvent.DESELECTE

9、D:代表选项未被选中。 处理ItemEvent事件时需要实现ItemListener接口,该接口中只包含一个抽象方法,当选项的选择状态发生改变时被调用。 public void itemStateChanged(ItemEvent e) 例9-1中,当鼠标选中组合框中新的选项时,JCombo Box将触发两次ItemEvent事件,随后触发ActionEvent事件。,例9-1 ItemeventDemo.java 1 import java.awt.*; 2 import java.awt.event.*; 3 import javax.swing.*; 4 public class Ite

10、meventDemo extends JFrame implements ItemListener,ActionListener 5 JRadioButton opt1; 6 JRadioButton opt2; 7 ButtonGroup btg; 8 JTextArea ta; 9 JComboBox comb;,10 JLabel sex,city; 11 public ItemeventDemo(String title) 12 super(title); 13 setLayout(new FlowLayout(FlowLayout.LEFT); 14 sex=new JLabel(“

11、性 别: “); 15 city=new JLabel(“ 籍 贯:“); 16 opt1=new JRadioButton(“ 男 “); 17 opt2=new JRadioButton(“ 女 “); 18 btg=new ButtonGroup(); 19 btg.add(opt1); 20 btg.add(opt2);,21 opt1.addItemListener(this); 22 opt2.addItemListener(this); 23 ta=new JTextArea (8,35); 24 comb=new JComboBox(); 25 comb.addItem(“北

12、京“); 26 comb.addItem(“上 海“); 27 comb.addItem(“南 京“); 28 comb.addItem(“广 州“); 29 comb.addItem(“成 都“); 30 comb.addItem(“昆 明“); 31 comb.addItemListener(this);,32 comb.addActionListener(this); 33 getContentPane().add(sex); 34 getContentPane().add(opt1); 35 getContentPane().add(opt2); 36 getContentPane()

13、.add(city); 37 getContentPane().add(comb); 38 getContentPane().add(ta); 39 setTitle(title); 40 setSize(300,250); 41 setVisible(true); 42 ,43 public static void main(String args) 44 new ItemeventDemo(“Itemevent Demo”); 45 46 /ItemEvent事件发生时的处理操作 47 public void itemStateChanged(ItemEvent e) 48 String

14、str; 49 if(e.getSource()=opt1) /如果opt1被选择 50 ta.append(“n性 别:”+“男”); 51 else if(e.getSource()=opt2) /如果opt2被选择 52 ta.append(“n性 别:“+“女“); 53 if(e.getSource()=comb),54 str=comb.getSelectedItem().toString(); 55 ta.append(“n籍 贯:“+str+“ =ItemEvent事件 “); 56 57 58 public void actionPerformed(ActionEvent e

15、) 59 String str; 60 if(e.getSource()=comb) 61 str=comb.getSelectedItem().toString(); 62 ta.append(“n籍 贯:“+str+“ =ActionEvent事件 “);,63 64 65 程序运行效果如图9-4所示。,图9-4 选择事件运行效果,例9-2根据复选框中的选择将文本显示为不同的字型:Bold(粗体)和Italic(斜体)。 例9-2 ItemeventDemo.java 1 import java.awt.*; 2 import java.awt.event.*; 3 import javax.swing.*; 4 public class CheckBoxDemo extends JFrame implements ItemListener 5 private JTextField field; 6 private JCheckBox bold, italic; 7 private int valBold = Font.PLA

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号