您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > 韩顺平 java 图形界面编程
主讲韩顺平主讲:韩顺平email:hanshunping@tsinghua.org.cn主讲韩顺平java图形化编程主讲韩顺平内容介绍1.图形用户界面(gui)介绍2.eclipse开发工具介绍3.swing组件介绍4.三大常用布局管理器5.gui编程实战案例主讲韩顺平目标1.初步掌握swing组件的使用2.知道什么是awt、swing、swt、JFace3.掌握常用的布局管理器4.学会使用eclipse做java程序的开发主讲韩顺平图形用户界面(gui)■介绍先请各位看一个小图,这就是用java编写的一个图形界面,图形用户界面(GraphicsUserInterface,GUI)是用户与程序交互的窗口,比命令行的界面更加直观并且更好操作。主讲韩顺平图形用户界面(gui)■介绍先请各位再看一个满汉楼餐饮系统,这个系统功能完备,界面简洁大方。大家学习完java后,也能写出这样漂亮的软件.主讲韩顺平图形用户界面(gui)■用什么开发gui说起gui开发,这里还有一个小故事,想当年我学习gui的时候,被awt,swing,swt,Jface这几个东东搞得是晕头转向.都不知道老师在讲什么,现在兄弟我明白了,给大家讲讲是怎么回事.Sun已经提供了一个跨平台GUI开发工具包AWT抽象窗口工具箱(AbstractWindowToolkit).Sun又创建了一个新的gui框架swing,解决了awt存在的lcd问题IBM认为swing比较消耗内存,创建了一个新的GUI库,这就是SWTIBM为了方便开发SWT程序,在SWT基础上又创建了一个更易用.功能强大的图形包“JFace”。主讲韩顺平图形用户界面(gui)■快速入门我用不同的方式给大家演示一下开发gui程序,【案例:Demo8_1.java】主讲韩顺平eclipse开发工具介绍■eclipse工具用记事本开发程序显然是比较慢的,前面使用记事本开发完全是为了给大家打基础,在软件公司基本上是使用一个叫eclipse的开发工具来做java开发的。特别说明一下,从本讲开始,我们将使用eclipse工具开发java程序.主讲韩顺平eclipse开发工具介绍■eclipse工具-介绍eclipse是个什么东东,我有三句话来说明:1.eclipse最早是ibm附属公司oti开发的,一共投入了4000万美金,后来捐献给开源社区。2.eclipse是一个开源的、可扩展的集成开发环境,已经成为目前最流行的java开发工具。3.eclipse安装后就可以开发javase的项目了,但不能开发javaee项目,需要安装web开发插件(lomboz或是myeclipe..)eclipse的官网:开发工具介绍■eclipse工具-安装在使用eclipse开发javase项目前,我们应当安装以下软件:1.jdk;2.eclipse;下载jdk6.0的网址:的地址如下:我给大家演示一下下载/安装/汉化的过程主讲韩顺平eclipse开发工具介绍■eclipse工具-使用一个新的名词:ide(集成开发环境,比如jcreator、vs2005这些个开发工具都是ide)为了让大家迅速的上手eclipse开发工具,我们完成一个小案例:1.建立一个java工程2.创建一个java文件Test.java该文件就输出跳出一个窗口:hello,顺平!3.编译Test.java文件,运行该文件主讲韩顺平swing组件一览图主讲韩顺平swing组件窗体组件■窗体组件-为什么有?在图形用户界面编程中,我们必须要用到窗体,也就是大家看到的那个窗口,这是最基本的。先前我们看过一个图:这个就是swing的窗体组件JFrame做的,主讲韩顺平swing组件窗体组件■窗体组件-深入讨论我们一起看一下java的帮助文档.请大家以后也养成这样一个习惯-多多看文档.①JFrame是Frame的子类。②属于容器类组件,顶层容器。③JFrame有一些常用的方法,我演示几个最最常用的方法,通过java的帮助文档我们可以了解。主讲韩顺平swing组件按钮组件■按钮组件-为什么有?在图形用户界面编程中,我们在窗体中会经常使用到按钮,如下图所示:我们在进行选择的时候,常常需要确认,所以按钮很重要。主讲韩顺平swing组件按钮组件■按钮组件-怎么用?只需要在窗体中添加按钮组件(JButton)即可完成,我们一起来完成这个简单的案例(Demo8_2.java)主讲韩顺平swing组件按钮组件■按钮组件-深入讨论我们一起看一下java的帮助文档.请大家以后也养成这样一个习惯-多多看文档.①JButton是AbstractButton的子类。②属于容器类组件,可以加入别的组件.③Swing包的按钮组件不只有JButton,还有单选按钮(JRadioButton)、箭头按钮(BasicArrowButton)、触发器按钮(JToggleButton)..这些按钮我们在后面会讲解。主讲韩顺平三大布局管理器---介绍■布局管理器–介绍①概念组件在容器(比如JFrame)中的位置和大小是由布局管理器来决定的。所有的容器都会使用一个布局管理器,通过它来自动进行组件的布局管理。②种类java共提供了五种布局管理器:流式布局管理器(FlowLayout)、边界布局管理器(BorderLayout)、网格布局管理器(GridLayout)、卡片布局管理器(CardLayout)、网格包布局管理器(GridBagLayout)。其中前三种是最常见的布局管理器。主讲韩顺平三大布局管理器---边界布局■边界布局BorderLayout–介绍边界布局(BorderLayout)将容器简单的划分为东南西北中5个区域,中间区域最大。JFrame窗体,JDialog对话框组件默认布局方法主讲韩顺平三大布局管理器---边界布局■边界布局BorderLayout–使用我们对Demo8_2.java改进,让它可以显示不同的按钮组件(JButton)。这里请大家注意边界布局的使用。主讲韩顺平三大布局管理器---边界布局■边界布局BorderLayout–注意事项1.不是五个部分都必须添加.2.中部组件会自动的调节大小.3.JFrame,JDialog默认布局管理器就是BorderLayout。主讲韩顺平三大布局管理器---流式布局■流式布局FlowLayout–介绍请大家看一个组件布局图:FlowLayout布局,按照组件的添加次序将按钮组件(当然也可以是别的组件)从左到右放置在容器中。当到达容器的边界时,组件将放置在下一行中。FlowLayout可以以左对齐、居中对齐、以右对齐的方式排列组件。主讲韩顺平三大布局管理器---流式布局■流式布局FlowLayout–使用我们为大家演示一下如何用流式布局来部署组件(Demo8_3.java)这里请大家注意流式布局的使用。主讲韩顺平三大布局管理器---流式布局■流式布局FlowLayout–注意事项1.不限制他所管理的组件大小,允许他们有最佳大小2.当容器被缩放时,组件的位置可能变化,但组件的大小不变。3.默认组件是居中对齐,可以通过FlowLayout(intalign)函数来指定对齐方式.主讲韩顺平三大布局管理器---网格布局■网格布局GridLayout–介绍请大家看一个组件布局图:GirdLayout布局,听其名而知其意,它将容器分割成多行多列,组件被填充到每个网格中,添加到容器中的组件首先放置在左上角的网格中,然后从左到右放置其它的组件,当占满该行的所有网格后,接着继续在下一行从左到右放置组件。主讲韩顺平三大布局管理器---网格布局■网格布局GridLayout–使用我们为大家演示一下如何用网格布局来部署组件(Demo8_4.java)这里请大家注意网格布局的使用。主讲韩顺平三大布局管理器---网格布局■网格布局GridLayout–注意事项1.组件的相对位置不随容器的缩放而变化,但大小会变化。2.所有组件的大小相同。3.可以通过GridLayout(introws,intcols,inthgap,intvgap)来指定网格的行/列,水平间隙/垂直间隙。参数说明:rows:行数cols:列数hgap:垂直间隙vgap:水平间隙主讲韩顺平三大布局管理器---小结■开发GUI程序步骤1.继承Jframe2.定义需要的组件3.创建组件4.设置布局管理器5.添加组件6.显示窗体主讲韩顺平swing组件---面板组件■面板组件(Jpanel)-为什么有?在图形用户界面编程中,如果只是普通的组件布局,我们用前面讲的三种布局管理器就可以解决,但是在比较复杂的布局要求时,就需要使用布局管理器的组合使用,比如下图:主讲韩顺平swing组件---面板组件■面板组件(JPanel)-怎么用?JPanel:面板组件,非顶层容器,一个界面只可以有一个JFrame窗体组件,但可以有多个Jpanel面板组件,而JPanel上也可使用FlowLayout,BorderLayout,GirdLayout等各种布局管理器,这样可以组合使用达到较为复杂的布局效果。案例(Demo8_5.java),可以做图说明原理。主讲韩顺平swing组件---面板组件■面板(JPanel)组件-注意事项我们一起看一下java的帮助文档.请大家以后也养成这样一个习惯-多多看文档。①JPanel是JComponent的子类。②属于容器类组件,可以加入别的组件.③默认布局管理器是流式布局(FlowLayout)主讲韩顺平swing组件---文本框/密码框/标签■几个常用组件在图形用户界面编程中,我们常常会提供用户登陆界面,比如登录到会员管理系统、登录到工资管理系统、仓库管理系统等,如下图:这个时候我们就会用到:1.文本框(JTextField)2.密码框(JPasswordField)3.标签(JLable)见案例(Demo8_6.java)主讲韩顺平swing组件---复选框/单选框■几个常用组件在图形用户界面编程中,我们常常会提供用户注册界面,如下图:这个时候我们就会用到:1.复选框组件(JCheckBox)2.单选框组件(JRadioButton)见案例(Demo8_7.java)特别说明:同一组单选按钮必须先创建ButtonGroup,然后把单选框组件放入到ButtonGroup中主讲韩顺平swing组件---下拉框/列表框/滚动窗格组件■几个常用组件在图形用户界面编程中,我们常常会提供用户调查界面,如下图:这个时候我们就会用到:1.下拉框组件(JComboBox)2.列表框组件(JList)3.滚动窗格组件(JScrollPane)见案例(Demo8_8.java)特别说明:一般来说,列表框组件+滚动窗格组件是结合使用的.目的是让列表框中的选项可以有滚动条支持。主讲韩顺平swing组件---总结■总结1.本章我们讲解了swing的常用组件(JFrame、JButton、JPanel、JLable、JTextField、JPasswordField、JCheckBox、JRadioButton、JComboBox、JScrollPane、JList),当然swing组件还有很多,我就不一一讲解了,在后面用的时候再讲解。2.三大布局管理器(BorderLayout、FlowLayout、GridLayout),这个大家要灵活使用。从而满足设计的需要主讲韩顺平gui编程实战---金山词霸■金山词霸涉及到新的swing组件:①拆分窗格:JSplitPane属于容器类组件案例【Demo8_9.java】主讲韩顺平gui编程实战---qq聊天界面■qq聊天界面涉及到新的swing组件:①JTextArea多行文本框组件案例【Demo8_10.java】主讲韩顺平gui编程实战---qq登录界面■qq登录界面涉及到新的swing组件:①JTabbe
本文标题:韩顺平 java 图形界面编程
链接地址:https://www.777doc.com/doc-3639848 .html