版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
高级程序设计与应用Java程序设计与Android应用开发5张震上海大学-机自学院JavaSwing编程〔1〕Swing组件Swing的类层次Swing应用程序根本组件和容器JavaSwing概述Swing和AWTAWT(AbstractWindowToolkit):抽象窗口工具包,早期编写图形界面应用程序的包。Swing:为解决AWT存在的问题而新开发的图形界面包。Swing是对AWT的改进和扩展。
Swing的特点标准的GUI库成熟稳定丰富的组件类型丰富的组件特性可扩展和灵活性
Swing的现状和未来IntelliJ等多个大型程序未来JavaFX、Html5等JavaSwing应用程序是如何构造的Swing构造应用程序生成个框架frame框架就是个容器,可以翻开,显示,关闭等等生成假设干个面板Panel面板是用来摆放部件的生成假设干个部件部件是应用程序的根本单位,例如按钮、标签、文本输入等Swing例子JavaSwingJavaSwing顶层容器中间容器根本组件JavaSwing容器顶层容器顶层容器可以独立存在,包括JFrame、JDialog、JApplet、JWindow〔JDialog不可以独立存在〕。JFrame是大多数应用程序的根本窗口,有边框、标题和按钮,允许程序员把其他组件添加到它里面,把它们组织起来,并把它们呈现给用户。JavaSwing容器中间容器:JPanel,JScrollPane,JSplitPane,JToolBar
特殊容器:在GUI上起特殊作用的中间层,如InternalFrame,JLayeredPane,JRootPane.容器控件就是能包含其他控件的特殊控件JavaSwing控件根本控件:实现人际交互的组件,如Jbutton,JComboBox,JList,JMenu,JSlider,JtextField。
不可编辑信息的显示:向用户显示不可编辑信息的组件,例如JLabel,JProgressBar,ToolTip。
可编辑信息的显示:向用户显示能被编辑的格式化信息的组件,如JColorChooser,JFileChoose,JFileChooser,Jtable,JtextAreaJavaSwing布局如何将容器或控件放到框架或容器中?方法一:设置容器或控件的属性(需去除容器的默认布局)JavaSwing布局如何将容器或控件放到框架或容器中?方法二:使用布局JavaSwing布局布局vs位置控件越多,布局越简单窗口变化,布局自动调整不同平台,布局一致Java提供了多种布局方式常用布局:FlowLayout、BorderLayout、BoxLayout、CardLayout、GridLayout和GridBagLayoutJavaSwing常用布局FlowLayoutFlowLayout类是最简单的布局管理器。它按照和页面上排列单词的类似方式来安排组件从左到右,直至没有多余的空间,然后转到下一行。JavaSwing常用布局BorderLayout一个BorderLayout对象将界面分成五大区域,分别用BorderLayout类的静态常量指定:PAGE_START、PAGE_END、LINE_START、LINE_END、CENTERJavaSwing常用布局BoxLayoutBoxLayout可以将组件由上至下或由左至右依次参加当前面板。JavaSwing常用布局CardLayout卡片布局和其他布局不同,因为它隐藏了一些组件。卡片布局就是一组容器或者组件,它们一次仅仅显是一个,组中的每个容器称为卡片。JavaSwing常用布局GridLayoutG ridLayout让你建立一个组件表格,并且当组件参加时,会依序又左至右,由上至下填充到每个格子,它不能由你指定想放那个格子就放那个格子JavaSwing常用布局GridBagLayoutGridBagLayout是所有AWT布局管理器当中最复杂的,同时他的功能也是最强大的。GridBagLayout同GridLayout一样,在容器中以网格形式来管理组件。但GridBagLayout功能要来得强大得多。GridBagLayout管理的所有行和列都可以是大小不同的;GridLayout把每个组件限制到一个单元格,而GridBagLayout并不这样:组件在容器中可以占据任意大小的矩形区域。GridBagLayout通常由一个专用类来对他布局行为进行约束,该类叫GridBagConstraints。JavaSwing布局一个布局如果不能满足需要,可多嵌套几个panel多panel还有利于修改布局布局用IDE设计更方便使用IDE开发Javaswing应用程序Eclipse、IntelliJ和NetBeansEclipse需要windowbuilder插件IntelliJGUIForm不支持menu,JFormDesigner收费NetBeans暂时不支持JDK9,目前界面友好度最好安装NetBeans在NetBeans官网下载NetBeans并安装s:///downloads//下载安装jdk8://NetBeans新建Swing应用程序NetBeans
Swing程序结构Swing根本控件标签——JLabel根本构造JLabel()创立无图像并且其标题为空字符串的JLabel。JLabel(Iconimage)创立具有指定图像的JLabel实例。JLabel(Iconimage,inthorizontalAlignment)创立具有指定图像和水平对齐方式的JLabel实例。JLabel(Stringtext)创立具有指定文本的JLabel实例。JLabel(Stringtext,Iconicon,inthorizontalAlignment)创立具有指定文本、图像和水平对齐方式的JLabel实例。JLabel(Stringtext,inthorizontalAlignment)创立具有指定文本和水平对齐方式的JLabel实例常用方法getIcon()返回该标签显示的图形图像〔字形、图标〕。getText()返回该标签所显示的文本字符串。setIcon(Iconicon)定义此组件将要显示的图标。setText(Stringtext)定义此组件将要显示的单行文本。Swing根本控件按钮——Jbutton根本构造JButton();JButton(Stringname);JButton(Iconicon);JButton(Stringname,Iconicon);常用方法addActionListener(ActionListenerlistner);//将该按钮注册到事件处理接口StringgetText();//返回按钮上显示的字符串setBackground(Colorbg);//设置颜色背景setEnabled(booleanb);//接通或断开按钮功能,默认状态为truesetForeground(Colorfg);//设置按钮的颜色setFont(Fontfont);//设置按钮上的显示的字体setName(Stringname);//设置按钮上显示的按钮名setSize(intwidth,intheight);//设置按钮的宽度和高度setVisible(booleanb);//设置按钮是否可见消息处理单任务系统多任务系统应用程序需要监听操作系统应用程序系统层应用层控件响应操作系统系统层应用层应用程序控件响应应用程序控件响应Swing中的监听器监听器:焦点变化、鼠标、键盘、属性变化等事件处理步骤定义事件监听接口类创立事件监听器事件管理器注册监听器对象Swing中的监听器匿名类方法实现优点:控件建立和监听在一起,查找方便缺点:构造代码太拥挤Swing代码撰写改进代码撰写改进JFrame派生类,不浪费资源控件定义为属性,方便在方法中调用方法总结归类,便于阅读入口函数,一目了然Swing中的监听器一般类方法实现利用一般内部类防止了使用匿名内部类而导致的代码混乱。它把所有的事件处理方法都集中在一块,并且都具有有意义的名称,程序非常容易阅读与维护。单个的事件处理程序也可以被工具栏、菜单栏等重复使用Swing根本控件单项选择按钮JRadioButton构造函数JRadioButton构造函数:JRadioButton():建立一个新的JRadioButton.JRadioButton(Iconicon):建立一个有图像但没有文字的JRadioButton.JRadioButton(Iconicon,booleanselected):建立一个有图像但没有文字的JRadioButton,且设置其初始状态(有无被选取).JRadioButton(Stringtext):建立一个有文字的JRadioButton.JRadioButton(Stringtext,booleanselected):建立一个有文字的JRadioButton,且设置其初始状态〔有无被选取〕。JRadioButton(Stringtext,Iconicon):建立一个有文字且有图像的JRadioButton,初始状态为无被选取。JRadioButton(Stringtext,Iconicon,booleanselected):建立一个有文字且有图像的JRadioButton,且设置其初始状态(有无被选取)。Swing根本控件Swing根本控件多项选择按钮JCheckBoxSwing根本控件普通文本控件——JTextFieldJTextField是一个轻量级组件,它允许编辑单行文本。根本构造JTextField()构造一个新的TextField。JTextField(intcolumns)构造一个具有指定列数的新的空TextField。JTextField(Stringtext)构造一个用指定文本初始化的新TextField。JTextField(Stringtext,intcolumns)构造一个用指定文本和列初始化的新TextField。常用方法:SetText(string)设置文本域中的文本值GetText()返回文本域中的输入文本值getColumns()返回文本域的列数setEditable(Boolean)设置文本域是否为只读状态Swing根本控件小结
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 押题01大气运动和天气系统-备战2023年高考地理之考前押大题(解析版)
- 2024年房产赠与法律文件
- 2024小红书网红产品推广合同
- 2024年房地产投资与建设合作协议
- 电影《熊猫计划》观后感(8篇)
- 2024年房屋改造合作协议
- 团结500字演讲稿(9篇)
- 2024年教育培训合作协议(在线课程)
- 2024年国际长途汽车运输服务合同
- 2024年工程合同款履约保函
- 检测公司检验检测工作控制程序
- 社工机构项目管理制度
- 充电桩整体解决方案PPT幻灯片(PPT 27页)
- 物业服务集团全员品质督导策划方案
- 建筑设计基础(ppt)课件
- 半导体芯片项目商业计划书范文参考
- 邯郸市政府采购办事指南
- 城市初期雨水污染治理
- 在护林员培训班上的讲话护林员会议讲话稿.doc
- 材料科学基础-第7章-三元相图
- (完整word版)高频变压器的设计
评论
0/150
提交评论