JavaSwing界面设计(所有控件及示例)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1张蕾zhanglei@ujn.edu.cn界面设计2概述用户界面组件介绍布局管理事件处理菜单和表格主要内容3本章基本要求了解AWT和Swing熟悉4个顶层容器掌握JFrame熟悉常用的中间容器会对组件进行布局熟悉常用基本组件的创建和操作会设置组件的颜色和字体会处理组件上发生的事件会创建菜单和表格4用户界面的类型字符用户界面(CUI):例如,MS-DOS图形用户界面(GUI):例如,MicrosoftWindowsGUI的组件基本的控制组件,例如:Button、Label等。容器:能容纳和排列组件的组件组件用户界面概述组件继承它的父容器的性质5MenuListBoxCheckBoxRadioButtonButtonLabelFrameWindowTextBoxComboBox6AWTAWT(AbstractWindowToolkit)是在Swing出现之前用来设计界面的工具包用awt包中的类创建的用户界面在不同的操作平台上有不同的表现。使用不灵活importjava.awt.*;SwingSwing是对AWT的扩展,它是Java2中的一个标准包组件都以J开头,例如:JFrame、JButton等。swing界面在不同的平台上外观完全一样,真正做到平台独立importjavax.swing.*;基本概述7界面设计中常用组件类的体系结构java.lang.Objectjava.awt.Componentjava.awt.Containerjava.awt.Paneljava.awt.Windowjava.applet.AppletJAppletjavax.swing.JComponentjava.awt.Dialogjava.awt.FrameJDialogJFrameJWindowSwing组件8用户界面9一个顶层容器(即主窗口)顶层容器包含若干个中间容器每个中间容器包含若干个基本组件按照合理的布局方式将它们组织在一起基本组件可响应发生在其上的事件Java程序界面的构成10容器容器是用来容纳和管理一组界面元素的对象。基本组件必须被安排在某个容器中,否则就无法使用。JFrameContainerJWindowJPanelJDialogJApplet有边框容器无边框容器顶层容器11顶层容器JFrame,JApplet,JDialog,JWindow作用:创建初始界面,为其他组件提供一个容器,以构建满足用户需求的操作界面JFrame用来创建application,最常用的JApplet用来创建appletJDialog用来创建对话框,常用JWindow不常用12JPanel,JScrollPane,JSplitPane,JTabbedPane、JInternalFrame、Box这些容器提供将有关组件按照某种布局组合在一起,然后放入中间容器或顶层容器的功能JPanel提供一个面板JScrollPane是具有滚动条的窗格JSplitPane是具有拆分功能的窗格JTabbedPane是带有若干标签的分类窗格JInternalFrame用于创建内嵌于JFrame中的内部框架Box提供创建横向/纵向盒子容器的功能中间容器13JLabelJButton、JCheckBox、JRadioButtonJList、JComboBoxJTextField、JPasswordField、JTextAreaJToolBar、JToolTip、JProgressBarJSlider、JSpinnerJFileChooser、JColorChooserJMenuBar、JMenu、JMenuItem、JCheckBoxMenuItem、JRadioButtonMenuItem、JPopupMenuJTableJTreeJOptionPane、JSeparator基本组件14类JFrame是java.awt.Frame的子类在Swing的组件中,JFrame并不全是由Java编写的是一种与平台关系比较密切的组件(Heavyweightcomponent)java.lang.Object|+--java.awt.Component|+--java.awt.Container|+--java.awt.Window|+--java.awt.Frame|+--javax.swing.JFrame创建用户主窗口--JFrame15构造方法JFrame()创建无标题窗口。JFrame(Strings)创建标题名字是字符串s的窗口。例如:JFramef=newJFrame(“Hello”);常用方法setTitle(Stringtitle)设置JFrame标题文本get/setSize():获取/设置JFrame的大小。add(Objecta):将组件添加到JFrame中。dispose()关闭JFrame并回收用于创建窗口的任何资源。setVisible(booleanb)设置JFrame的可见性。setLocation(x,y)设置JFrame在屏幕的位置创建用户主窗口--JFrame16常用方法voidsetExtendedState(int);//设置扩展的状态,取值:NORMALICONIFIEDMAXIMIZED_HORIZMAXIMIZED_VERTMAXIMIZED_BOTH//最大化voidsetDefaultCloseOperation(int);//设置默认的关闭时的操作,取值:DO_NOTHING_ON_CLOSEHIDE_ON_CLOSEDISPOSE_ON_CLOSEEXIT_ON_CLOSE//关闭创建用户主窗口--JFrame17importjavax.swing.*;publicclassFirstJFrame{publicstaticvoidmain(String[]args){JFramef=newJFrame();f.setTitle(MyFirstJFrame);f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);f.setSize(300,300);f.setVisible(true);}}示例:直接使用JFrame创建18importjavax.swing.*;publicclassSecondJFrameextendsJFrame{publicSecondJFrame(){super(“MySecondJFrame”);setDefaultCloseOperation(EXIT_ON_CLOSE);setExtendedState(MAXIMIZED_BOTH);setVisible(true);}publicstaticvoidmain(String[]args){SecondJFramef=newSecondJFrame();}}示例:扩展JFrame创建19相关类a)图标类:javax.swing.ImageIconb)图像类:java.awt.Image创建图标和图像对象a)ImageIconii=newImageIcon(“x.gif”);b)Imageimage=ii.getImage();设置setIconImage(image);设置JFrame的图标20由JFrame创建初始的用户界面由JPanel、JScrollPane、JTabbedPane、JSplitPane、JInternalFrame、Box等创建中间容器由基本组件类创建有关的组件将基本组件按照某种布局添加到中间容器中,根据需要可能会用到容器的嵌套将中间容器按照某种布局添加到顶层容器中,形成满足用户需求的操作界面界面的基本组织方式21Containercon=getContentPane();JPanelpanel=newJPanel();JButtonbutt=newJButton(PressMe);panel.add(butt);con.add(panel);获得JFrame的容器并添加组件22学生基本信息录入界面的设计设计一个用户界面,用于输入学生的下列信息:姓名JTextField密码JPasswordField性别JRadioButton党否JCheckBox年龄JSpinner颜色JColorChooser加分JSlider系别JComboBox选课JList确认JButton保存JFileChooser结果JTextArea要求输入完毕按“确认”将该学生的信息记录到“结果”中;按“保存”将结果保存到一个指定的文件中;基本信息与结果界面上下分布在一个JSplitPane中;屏幕下方显示当前时间示例:学生信息管理系统23步骤一:由JFrame创建初始的用户界面,获得JFrame的容器,添加中间容器JPanel示例:学生信息管理系统JFramef=newJFrame();f.setTitle(学生信息管理系统);f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);f.setExtendedState(MAXIMIZED_BOTH);//f.setSize(800,600);//f.setLocation(200,200);Containercon=f.getContentPane();JPanelpan=newJPanel();con.add(pan);f.setVisible(true);24基本组件25标签标签(JLabel)是最简单的组件,用于显示单行静态文本。用户只能查看其内容而不能对其进行修改。标签类没有事件响应。构造方法JLabellabel1=newJLabel(“姓名”);ImageIconii=newImageIcon(“java.gif”);JLabellabel2=newJLabel(ii);JLabellabel3=newJLabel(“姓名”,ii,JLabel.CENTER);标签内容一般不需要改变,但也可以使用setText和setIcon方法进行改变例如当使用同一标签显示不同的图片时,就可使用setIcon方法实现基本组件—标签26步骤二:添加标签(要录入的基本信息的名称)示例:学生信息管理系统JFramef=newJFrame();……Containercon=f.getContentPane();Jpanelpan=newJPanel();JLabell_xm=newJLabel(姓名);pan.add(l_xm);JLabell_xb=newJLabel(性别);pan.add(l_xb);……con.add(pan);f.setVisible(true);27按钮是常用的功能组件,表示按钮的类为JButton。构造方法JButtonbutton1=newJButton(“姓名”);ImageIconii=newImageIcon(“java.gif”);JButtonbutton2=newJButton(ii);JButtonbutton3=newJButton(“姓名”,ii);常用方法voidsetActionCommand(String);voidaddActionListener(ActionListener);基本组件—按钮28步骤二:添加按钮(确认和保存按钮)示例:学生信息管理系统JFramef=newJFrame();……Containercon=f.getContentPane();JPanelpan=newJPanel();JLabell_xml_xm=newJLabel(姓名);pan.add(l_xm);……JButtonb_sub=newJButton(确认);pan.add(b_sub);JButtonb_save=newJButton(保存);pan.add(b_save);con.add(pan);f.setVis

1 / 133
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功