您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > JavaSwing界面设计(所有控件及示例)
1张蕾zhanglei@ujn.edu.cn界面设计2概述用户界面组件介绍布局管理事件处理菜单和表格主要内容3本章基本要求了解AWT和Swing熟悉4个顶层容器掌握JFrame熟悉常用的中间容器会对组件进行布局熟悉常用基本组件的创建和操作会设置组件的颜色和字体会处理组件上发生的事件会创建菜单和表格4用户界面的类型字符用户界面(CUI):例如,MS-DOS图形用户界面(GUI):例如,MicrosoftWindowsGUI的组件基本的控制组件,例如:Button、Label等。容器:能容纳和排列组件的组件组件用户界面概述组件继承它的父容器的性质5MenuListBoxCheckBoxRadioButtonButtonLabelFrameWindowTextBoxComboBox6AWTAWT(AbstractWindowToolkit)是在Swing出现之前用来设计界面的工具包用awt包中的类创建的用户界面在不同的操作平台上有不同的表现。使用不灵活importjava.awt.*;SwingSwing是对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用来创建appletJDialog用来创建对话框,常用JWindow不常用12JPanel,JScrollPane,JSplitPane,JTabbedPane、JInternalFrame、Box这些容器提供将有关组件按照某种布局组合在一起,然后放入中间容器或顶层容器的功能JPanel提供一个面板JScrollPane是具有滚动条的窗格JSplitPane是具有拆分功能的窗格JTabbedPane是带有若干标签的分类窗格JInternalFrame用于创建内嵌于JFrame中的内部框架Box提供创建横向/纵向盒子容器的功能中间容器13JLabelJButton、JCheckBox、JRadioButtonJList、JComboBoxJTextField、JPasswordField、JTextAreaJToolBar、JToolTip、JProgressBarJSlider、JSpinnerJFileChooser、JColorChooserJMenuBar、JMenu、JMenuItem、JCheckBoxMenuItem、JRadioButtonMenuItem、JPopupMenuJTableJTreeJOptionPane、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
本文标题:JavaSwing界面设计(所有控件及示例)
链接地址:https://www.777doc.com/doc-1770440 .html