15-java-GUI1(组件、容器、布局管理器).ppt
《15-java-GUI1(组件、容器、布局管理器).ppt》由会员分享,可在线阅读,更多相关《15-java-GUI1(组件、容器、布局管理器).ppt(53页珍藏版)》请在咨信网上搜索。
1、图形(GUI)编程AWT、布局管理器了解 AWT 包及其组件掌握如何创建 GUI 程序掌握 AWT 组件的基本用法掌握如何使用布局管理器构造复杂的布局本章目标本章目标图形编程是用图形的方式,借助菜单,按钮等标准界面元素和鼠标操作,帮助用户方便地向计算机系统发出指令,启动操作,并将系统运行的结果同样以图形方式显示给用户的技术。Java提供了AWT和Swing开发包进行GUI编程AWT包(以 java.awt 开头的)Swing包 (以 javax.swing 开头的)图形编程概述图形编程概述AWT-Abstract Window Toolkit 是Java专门用来设计“GUI”和“绘制2D”的包
2、在开发Applet和图形应用程序时,一般需要用到AWT,AWT给用户提供基本的UI及事件处理结构,支持剪贴板、数据传输和图像操作。根据功能分类:图形(现在一般不用,因为在不同平台显示处观和感觉不一样,需要在不同平台进行测试,现在主要使用JFC-Java的基础类)事件处理图形和图像工具布局管理器AWTAWT包包java.awt java.awt 包中的类体系结构包中的类体系结构ComponentButtonCheckboxContainerChoiceCanvasTextComponentLabelPanelWindowAppletFrameDialogTextAreaTextFieldJava
3、1.2引入称为Swing的新的GUI组件库。Swing包括javax.swing包及其子包。Swing有一个与平台无关的实现,而且具有一个艺术状态的属性集。尽管Swing独立于AWT,但它是依照基本的 AWT类实现的。Swing很好的界定了容器、组件以及用户元素之间的关系。SwingSwing介绍介绍SwingSwing体系结构体系结构ObjectComponentJFrameContainerWindowFrameDialogJDialogJTextJComboBoxJLabelJListJMenuBarJOptionPaneJPanelJScrollBarAbstractButtonJTo
4、ggleButtonJMenuItemJButtonJCheckBoxJRadioButtonJComponentJMenuSwing 组件独立于本地窗口系统。Swing组件除了 AbstractButton 类之外都以 J开头。Swing 组件是基于 AWT 构建。包含 AWT 可视化组件的替代组件,也包含复杂组件-树和表Swing Swing 组件组件设计 GUI 时,都有用于放置可视化组件的主窗口。Container 对象可用于将组件组合在一起。容器中的组件根据特定布局排列。Swing 中的容器有两类:-顶级容器-中间容器 Swing Swing 应用程序的容器层次应用程序的容器层次JF
5、rame:用于框架窗口的类,此窗口带有边框、标题、用于关闭和最小化窗口的图标等。带 GUI 的应用程序通常至少使用一个框架窗口。JDialog:用于对话框的类。JApplet:用于使用 Swing 组件的 Java Applet 的类。顶级容器顶级容器JPanel:最灵活、最常用的中间容器。JScrollPane:与 JPanel 类似,但还可在大的组件或可扩展组件周围提供滚动条。JTabbedPane:包含多个组件,但一次只显示一个组件。用户可在组件之间方便地切换。JToolBar:按行或列排列一组组件(通常是按钮)。中间容器中间容器Swing GUISwing GUI框架框架菜单栏菜单栏顶
6、级容器顶级容器GUI组件组件GUI组件组件内容窗格内容窗格import javax.swing.*;public class HelloSwing public static void main(String args)JFrame frame=new JFrame(HelloSwing);JLabel label=new JLabel(你好,Swing);frame.getContentPane().add(label);frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);frame.setSize(300,200);frame.set
7、Visible(true);基本的基本的 Swing Swing 应用程序应用程序导入必要的包,一般还需导入:导入必要的包,一般还需导入:import java.awt.*;import java.awt.event.*;设置一个设置一个顶级容器顶级容器创建一个创建一个Swing组组件件将组件添加到将组件添加到容器内容窗格容器内容窗格实现了在单击实现了在单击“关闭关闭”按钮按钮时,时,可以关闭窗口。可以关闭窗口。如果使用的如果使用的早期版本的平台,则需要通早期版本的平台,则需要通过事件监听器实现过事件监听器实现 JFrameJFrame是放置其他 Swing 组件的顶级容器JFrame 组件用
8、于在 Swing 程序中创建窗体它的构造函数:JFrame()JFrame(String Title)组件必须添加至内容窗格,而不是直接添加至 JFrame 对象,示例:frame.getContentPane().add(b);JPanel 组件是一个中间容器用于将小型的轻量级组件组合在一起JPanel 的缺省布局为 FlowLayoutJPanel 具有下列构造函数:JPanel()JPanel()JPanel(LayoutManager lm)JPanel(LayoutManager lm)JPanelJPanelSwing 的按钮相对于AWT中Button类提供了更多的功能。JButt
9、on类允许用图标、字符串或两者同时构造一个按钮。构造函数如下:JButton()JButton()JButton(Icon icon)JButton(Icon icon):iconicon表示使用的图标表示使用的图标JButton(String text)JButton(String text):texttext表示使用的字符串表示使用的字符串JButton(String text,Icon icon)JButton(String text,Icon icon)JButtonJButtonImageIcon buttonIcon1=new ImageIcon(on.gif);JButton b
10、1=new JButton(First Button,buttonIcon1);b1.setMnemonic(KeyEvent.VK_F);设置键盘设置键盘快捷方式快捷方式创建一个带图标创建一个带图标的的JButtonimport java.awt.*;import javax.swing.*;class PanelDemo extends JFrame public PanelDemo(String title)super(title);Container c=getContentPane();JPanel cpane=new JPanel();JButton ok=new JButton(
11、确定);cpane.add(ok);JButton cancel=new JButton(取消);cpane.add(cancel);c.add(cpane,BorderLayout.SOUTH);JPanelJPanel和和JButtonJButton使用示例使用示例 public static void main(String args)PanelDemo pd=new PanelDemo(JPanel测试测试);pd.setSize(300,200);pd.setVisible(true);它既可以显示文本也可以显示图像构造函数如下:JLabel(Icon icon)JLabel(Ico
12、n icon):iconicon表示使用的图标表示使用的图标JLabel(String text,Icon icon,int align)JLabel(String text,Icon icon,int align):texttext表示使表示使用的字符串用的字符串;icon;icon表示使用的图标表示使用的图标;align;align表示水平对齐表示水平对齐方式,其值可以为:方式,其值可以为:LEFTLEFT、RIGHTRIGHT、CENTERCENTER。JLabelJLabelImageIcon icon=new ImageIcon(Calv.gif);JLabel calv_label
13、=new JLabel(这这是是 Calvin,icon,SwingConstants.LEFT);JtextComponent 为所有 Swing 文本组件的根类文本组件文本组件JTextField JEditorPaneJTextAreaJTextPaneJPasswordFieldJTextField 组件允许输入或编辑单行文本此类的构造函数包括:JTextField()JTextField()JTextField(Document doc,String text,int JTextField(Document doc,String text,int columns)columns)JT
14、extField(int columns)JTextField(int columns)JTextField(String text)JTextField(String text)JTextField(String text,int columns)JTextField(String text,int columns)JTextFieldJTextFieldContainer con=getContentPane();con.setLayout(new FlowLayout();JLabel jl=new JLabel(“文本域文本域”);con.add(jl);JTextField tf=n
15、ew JTextField(20);con.add(tf);JTextArea 组件用于接受来自用户的多行文本它可实现可滚动界面JTextArea 组件可使用下列构造函数创建:JTextArea()JTextArea()JTextArea(int rows,int cols)JTextArea(int rows,int cols)JTextArea(String text)JTextArea(String text)JTextArea(String text,int rows,int cols)JTextArea(String text,int rows,int cols)JTextArea(
16、Document doc)JTextArea(Document doc)JTextArea(Document doc,String text,int rows,int JTextArea(Document doc,String text,int rows,int cols)cols)JTextAreaJTextAreaJLabel jl=new JLabel(“文本区文本区”);con.add(jl);JTextArea ta=new JTextArea(5,10);con.add(ta);为了简化表单填写过程,通常为用户提供多种可供选择的选项,而无需用户写出他们的响应。常用于选择性输入的组件
17、有:复选框复选框单选按钮单选按钮列表框列表框组合框组合框选择性输入选择性输入复选框用于为用户提供一组选项JCheckBox 类具有下列构造函数:JCheckBox()JCheckBox()JCheckBox(Icon icon)JCheckBox(Icon icon)JCheckBox(Icon icon,boolean selected)JCheckBox(Icon icon,boolean selected)JCheckBox(String text)JCheckBox(String text)JCheckBox(String text,boolean selected)JCheckBox
18、(String text,boolean selected)JCheckBox(String text,Icon icon)JCheckBox(String text,Icon icon)JCheckBox(String text,Icon icon,boolean selected)JCheckBox(String text,Icon icon,boolean selected)复选框复选框单选按钮允许用户从多个选项中选择其中一个ButtonGroup 用于在 Swing 中创建组JRadioButton 对象可使用下列构造函数创建:JRadioButton()JRadioButton()J
19、RadioButton(Icon icon)JRadioButton(Icon icon)JRadioButton(Icon,boolean selected)JRadioButton(Icon,boolean selected)JRadioButton(String text)JRadioButton(String text)JRadioButton(String text,boolean selected)JRadioButton(String text,boolean selected)JRadioButton(String text,Icon icon)JRadioButton(Str
20、ing text,Icon icon)JRadioButton(String text,Icon icon,boolean JRadioButton(String text,Icon icon,boolean selected)selected)单选按钮单选按钮import java.awt.*;import javax.swing.*;class Hobby extends JPanel JCheckBox c1=new JCheckBox(阅读,false);JCheckBox c2=new JCheckBox(音乐,false);JCheckBox c3=new JCheckBox(绘画
21、,false);JRadioButton rad1=new JRadioButton(大专);JRadioButton rad2=new JRadioButton(本科);JRadioButton rad3=new JRadioButton(硕士);JLabel jl=new JLabel(您有什么爱好?);JLabel j2=new JLabel(您的最高学历?);JButton exitbtn=new JButton(退出);public Hobby()setLayout(new GridLayout(9,1);add(jl);add(c1);add(c2);add(c3);add(j2)
22、;add(rad1);add(rad2);add(rad3);add(exitbtn);JCheckBoxJCheckBox和和JRadioButtonJRadioButton使用示使用示例例public class Hobbytest extends JFrame Hobbytest()super();getContentPane().add(new Hobby();setSize(300,200);setVisible(true);public static void main(String args)new Hobbytest();在可供选择的选项很多时,可向用户呈现一个列表来供他们选择
23、JList 组件依次排列项目列表,这些项目可以单选或多选JList 类既可显示字符串,也可显示图标JList 不支持双击MouseListener 可用于解决双击问题列表列表public JList():使用空模型构造 JListpublic JList(ListModel dataModel):构造一个列表,用它显示指定模型中的元素。public JList(Object listData):构造一个列表以显示指定数组listData的元素。JList 不支持滚动。要启用滚动,可使用下列代码:JScrollPane myScrollPane=new JScrollPane();JScroll
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 15 java GUI1 组件 容器 布局 管理器
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【w****g】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【w****g】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。