收藏 分享(赏)

2023年图形用户界面编程(教学课件).ppt

上传人:sc****y 文档编号:295534 上传时间:2023-03-19 格式:PPT 页数:144 大小:4.70MB
下载 相关 举报
2023年图形用户界面编程(教学课件).ppt_第1页
第1页 / 共144页
2023年图形用户界面编程(教学课件).ppt_第2页
第2页 / 共144页
2023年图形用户界面编程(教学课件).ppt_第3页
第3页 / 共144页
2023年图形用户界面编程(教学课件).ppt_第4页
第4页 / 共144页
2023年图形用户界面编程(教学课件).ppt_第5页
第5页 / 共144页
2023年图形用户界面编程(教学课件).ppt_第6页
第6页 / 共144页
亲,该文档总共144页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、Java程序设计程序设计 Java Programming 1 第九章 图形用户界面编程 图形图像研究所 计算机科学与技术、软件学院 浙江工业大学 高飞 博士,教授,博士生导师,研究所所长 Cell:13757169225 Email:gfei_jack163 Java程序设计程序设计 Java Programming 2 前言 本章的目的本章的目的:图形用户界面(GUI)程序包括哪些元素?如何开发图形用户界面程序?如何让界面上的按钮、下拉框、树等响应鼠标、键盘等?回忆关键词:字节流回忆关键词:字节流(InputStreamOutputStream)、字符流、字符流(ReaderWriter)

2、、File、对象序列化、对象序列化(java.io.Serializable)、java中的字符编码中的字符编码(UnicodeUTF-8UTF-16)Java程序设计程序设计 Java Programming 3 小节安排 图图形形用用户户界界面面编编程程 9.3、菜单和工具条 9.5、组件常用方法 9.1、AWT与Swing 9.2、容器:JFrameJPanelJScrollPaneJSplitPane 9.6、布局管理器 9.7、事件处理模型 9.4、根本组件:JLabelJButtonJComboBoxJTree等 9.8、鼠标事件处理 9.9、事件适配器类 9.10、键盘事件处理

3、Java程序设计程序设计 Java Programming 4 9.1.1、AWT和Swing AWT(Abstract Windowing Toolkit)是Java早期(JDK1.0)的GUI标准API 重量级组件 在90年代,程序员中流传着一个笑话:Java的真正信条是一次编写,到处测试(Write Once,Test Everywhere。导致这种糟糕局面的一个可能原因据说是AWT从概念产生到完成实现只用了一个月。import java.awt.Frame;import java.awt.Color;public class TestAWT extends Frame public T

4、estAWT(String str)super(str);public static void main(String args)TestAWT fr=new TestAWT(Hello AWT Frame!);/设置Frame的大小,缺省为0,0 fr.setSize(400,300);/设置Frame的背景为红色 fr.setBackground(Color.red);/设置Frame为可见,缺省为不可见 fr.setVisible(true);Java程序设计程序设计 Java Programming 5 9.1.2、AWT和Swing Java 1.2开始,AWT被Swing替代 Sw

5、ing包含的组件的平台相关性较小,所以称为轻量级组件 所在的包:javax.swing 由100%纯java实现的 (a)Linux下 (b)Mac OS下 (c)Windows下 同样的java代码在不同操作系统下的表现 Java程序设计程序设计 Java Programming 6 9.1.2、AWT和Swing Swing组件容器组件顶层容器:JFrame,JApplet,JDialog和JWindow其他容器:JPanel,JScrollPane,JSplitPane,JToolBar基本控制组件:JButton,JComboBox,JList,JMenu,JSlider,JTextF

6、ield等不可编辑的信息显示组件:JLabel,JProgressBar,JToolTip等可编辑的信息显示组件:JColorChooser,JFileChooser,JTable,JTextArea等Java程序设计程序设计 Java Programming 7 9.1.2、AWT和Swing java.lang.Objectjava.awt.Componentjava.awt.Containerjava.awt.Windowjava.awt.Framejavax.swing.JFramejava.awt.Paneljava.applet.Appletjavax.swing.JAppletj

7、ava.awt.Dialogjavax.swing.JDialogjavax.swing.JWindowjavax.swing.JComponentjavax.swing.JPaneljavax.swing.JScrollPanejavax.swing.JSplitPanejavax.swing.JToolBarjavax.swing.AbstractButtonjavax.swing.JButtonjavax.swing.JComboBoxjavax.swing.JListjavax.swing.JMenuItemjavax.swing.JMenujavax.swing.JSliderjav

8、ax.swing.text.JTextComponentjavax.swing.JTextFieldjavax.swing.JTextAreajavax.swing.JLabeljavax.swing.JProgressBarjavax.swing.JToolTipjavax.swing.JColorChooserjavax.swing.JFileChooserjavax.swing.JTablejavax.swing.JToggleButtonjavax.swing.JCheckBoxjavax.swing.JRadioButtonjava.lang.Objectjava.awt.Compo

9、nentjava.awt.Containerjava.awt.Windowjava.awt.Framejavax.swing.JFramejava.awt.Paneljava.applet.Appletjavax.swing.JAppletjava.awt.Dialogjavax.swing.JDialogjavax.swing.JWindowjavax.swing.JComponentjavax.swing.JPaneljavax.swing.JScrollPanejavax.swing.JSplitPanejavax.swing.JToolBarjavax.swing.AbstractBu

10、ttonjavax.swing.JButtonjavax.swing.JComboBoxjavax.swing.JListjavax.swing.JMenuItemjavax.swing.JMenujavax.swing.JSliderjavax.swing.text.JTextComponentjavax.swing.JTextFieldjavax.swing.JTextAreajavax.swing.JLabeljavax.swing.JProgressBarjavax.swing.JToolTipjavax.swing.JColorChooserjavax.swing.JFileChoo

11、serjavax.swing.JTablejavax.swing.JToggleButtonjavax.swing.JCheckBoxjavax.swing.JRadioButtonJava程序设计程序设计 Java Programming 8 小节安排 图图形形用用户户界界面面编编程程 9.3、菜单和工具条 9.5、组件常用方法 9.1、AWT与Swing 9.2、容器:JFrameJPanelJScrollPaneJSplitPane 9.6、布局管理器 9.7、事件处理模型 9.4、根本组件:JLabelJButtonJComboBoxJTree等 9.8、鼠标事件处理 9.9、事件适配

12、器类 9.10、键盘事件处理 Java程序设计程序设计 Java Programming 9 9.2.1、JFrame 窗口标题窗口标题 最小化最小化 最大化最大化 CloseClose 窗 口 图 标,即窗 口 图 标,即IconIcon,同时也是窗,同时也是窗口快捷菜单点击口快捷菜单点击的地方的地方 这里的空白区,就这里的空白区,就是窗口区,也叫做是窗口区,也叫做窗口窗口 ContentContent 窗口菜单窗口菜单 Java程序设计程序设计 Java Programming 10 9.2.1、JFrame/x我的第一个java窗口程序,采用直接在main中创立窗口的方法x/import

13、 java.awt.event.x;import javax.swing.x;public class TestJFrameDirect 声明实例变量或类变量 定义实例方法或类方法 定义实例方法或类方法 Java程序设计程序设计 Java Programming 11 9.2.1、JFrame/x我的第一个java窗口程序,采用直接在main中创立窗口的方法x/import java.awt.event.x;import javax.swing.x;public class TestJFrameDirect/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

14、xxxxxxxxxxxxxxx/以下为成员变量对象的定义/定义菜单 static JMenuBar mb=new JMenuBar();/菜单栏 static FgMenu mFile=new FgMenu(文件(F),KeyEvent.VK_F);/文件菜单 static JMenuItem miNew=new JMenuItem(新建(N),KeyEvent.VK_N),miOpen=new JMenuItem(翻开(O).,KeyEvent.VK_O),miSave=new JMenuItem(保存(S),KeyEvent.VK_S),miFont=new JMenuItem(字体与颜色

15、(F).,KeyEvent.VK_F),miQuit=new JMenuItem(退出(X),KeyEvent.VK_X);/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Java程序设计程序设计 Java Programming 12 9.2.1、JFrame import JMenuBar mb/定义变量(菜单)局部 public class TestJFrameDirect public static void main(String args)/:创立窗口对象,窗口标题通过构造方法传递进去 JFrame frm

16、=new JFrame(这是我的第一个窗口应用程序);/:添加组件。本例中直接添加菜单 frm.setJMenuBar(mb);mFile.add(miNew);/新建 mFile.add(miOpen);/翻开 mFile.add(miSave);/保存 mFile.addSeparator();/分割条 mFile.add(miFont);/字体与颜色菜单 mFile.addSeparator();/分割条 mFile.add(miQuit);/退出 mb.add(mFile);/将文件菜单添加到菜单栏上/:设置窗口位置和大小 frm.setBounds(10,10,400,300);/设置close按钮的操作 frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);/:显示窗口 frm.setVisible(true);Java程序设计程序设计 Java Programming 13 9.2.1、JFrame/自定义菜单 class FgMenu extends JMenu public FgMenu(String label)sup

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教育教学 > 教案课件

copyright@ 2008-2023 wnwk.com网站版权所有

经营许可证编号:浙ICP备2024059924号-2