《Java语言与面向对象程序设计第15讲(图形用户界面的设计与实现)课件》由会员分享,可在线阅读,更多相关《Java语言与面向对象程序设计第15讲(图形用户界面的设计与实现)课件(16页珍藏版)》请在金锄头文库上搜索。
1、Java语言与面向对象程序设计第15讲,Java语言与面向对象程序设计第15讲,【上节回顾】,GUI概述; Java中事件和事件处理机制; AWT组件。,Java语言与面向对象程序设计第15讲,第7章 图形用户界面的设计与实现,7.1 GUI概述 7.2 用户自定义成分 7.3 Java的标准组件与事件处理 7.4 标签、按钮与动作事件 7.5 文本框、文本区域与文本事件 7.6 单选按钮、复选框、列表框与选择事件 7.7 设计时间处理专用类 7.8 滚动条与调整事件 7.9 画布与鼠标、键盘事件 7.10 布局设计 7.11 容器组件 7.12 菜单的定义与使用 7.13 对话框及组件事件
2、7.14 Swing GUI组件,【授课内容】 GUI概述; 事件和事件处理; AWT组件、容器、布局管理器; Swing组件。,Java语言与面向对象程序设计第15讲,3. AWT组件、容器和布局管理器,AWT组件,Java语言与面向对象程序设计第15讲,动作事件ActionEvent,如何区别事件的事件源? 方法一: e.getSource() = btn 方法二: Button btn = new Button(“操作”); btn.setActionCommand(“click”); btn.addActionListener(this); e.getActionCommand(“cl
3、ick”); e.getActionCommand(“操作”);/无setActionCommand(),Java语言与面向对象程序设计第15讲,设计事件处理专用类,不同事件的监听者即可以在一个类上实现,也可以由不同的类承担。 在某个类的内部定义的类称之为内部类,其拥有对外层类中定义的属性和方法的访问权。 若在Myclass类内定义两个类c1,c2,则内部类文件名为: Myclass$c1.class Myclass$c2.class,Java语言与面向对象程序设计第15讲,【课堂示例(一)】,设计一个小计算器程序,实现加、减、乘、除运算,当用户在文本框中输入一个操作数后按回车键,程序检查操作
4、数范围是否在0100,否则在文本框中显示输入错误信息,计算类型默认为加法。,CASE1:caculatorDemo.java,Java语言与面向对象程序设计第15讲,3. AWT组件、容器和布局管理器,AWT布局管理 FlowLayout:组件在一行从左到右排列,排满后折行。是Panel和它的子类Applet默认使用的布局策略。 BorderLayout:组件按北、南、东、西、中几个位置排列。 CardLayout:每一个组件作为一个卡片,容器仅显示其中一张卡片。 GridLayout:以行和列的网格形式安排组件。 GridBagLayout:更复杂、功能更强的网格布局。,Java语言与面向对
5、象程序设计第15讲,BorderLayout,CardLayout,GridLayout,Java语言与面向对象程序设计第15讲,3. AWT组件、容器和布局管理器,AWT容器,Java语言与面向对象程序设计第15讲,3. AWT组件、容器和布局管理器,AWT容器 容器组件的常用方法 (1) setLayout( ): 设置容器的布局编辑器。 (2) add( ): Container类中有多个经过重载的add( )方法,其作用都是把Component组件,可能是一个基本组件,也可能是另一个容器组件,加入到当前容器中。每个被加入容器的组件根据加入的先后顺序获取一个序号。 (3) getComp
6、onent(int index)与getComponent(int x,int y): 这两个方法分别获得指定序号或指定(x,y)坐标点处的组件。 (4) remove(Component)与remove(int index): 将指定的组件或指定序号的组件从容器中移出。 (5) removeAll( ): 将容器中所有的组件移出。,Java语言与面向对象程序设计第15讲,【课堂示例(二)】,修改课程示例(一),其中的组件不放在Applet中而放在Frame中。,CASE2:TestFrame.java,Java语言与面向对象程序设计第15讲,4. Swing组件,javax.swing包里的
7、Swing组件归为3个层次 顶层容器:JFrame、JApplet、JDialog 中间层容器:一般用途的JPanel、JScrollPane、JSplitPane、JTabbedPane、JToolBar,特殊用途的JInternalFrame、JRootPane 原子组件:JLabel、JButton、JCheckbox、JRadioBUton、JCommboBox、JList、JMenu等,Java语言与面向对象程序设计第15讲,【课堂示例(三)】,用swing组件设计一个菜单。但单击菜单“文件”下的菜单项“打开”时,在文本域中显示“选择了文件-打开”信息,其余菜单项同此。,CASE3:JMenuDemo.java,Java语言与面向对象程序设计第15讲,【小结】,AWT容器; AWT布局管理; 内部类的使用; Swing组件简介。,Java语言与面向对象程序设计第15讲,【本章小结】,GUI概述; 事件和事件处理; AWT组件、容器和布局管理 Swing组件、容器。,