JavaSwing界面设计(所有控件及示例).ppt
《JavaSwing界面设计(所有控件及示例).ppt》由会员分享,可在线阅读,更多相关《JavaSwing界面设计(所有控件及示例).ppt(133页珍藏版)》请在三一办公上搜索。
1、张蕾,界面设计,概述用户界面组件介绍布局管理事件处理菜单和表格,主要内容,本章基本要求,了解AWT和Swing熟悉4个顶层容器掌握JFrame熟悉常用的中间容器会对组件进行布局熟悉常用基本组件的创建和操作会设置组件的颜色和字体会处理组件上发生的事件会创建菜单和表格,用户界面的类型字符用户界面(CUI):例如,MS-DOS图形用户界面(GUI):例如,Microsoft WindowsGUI的组件,用户界面概述,组件继承它的父容器的性质,AWTAWT(Abstract Window Toolkit)是在Swing出现之前用来设计界面的工具包用awt包中的类创建的用户界面在不同的操作平台上有不同的
2、表现。使用不灵活import java.awt.*;SwingSwing是对AWT的扩展,它是Java 2中的一个标准包组件都以J开头,例如:JFrame、JButton等。swing界面在不同的平台上外观完全一样,真正做到平台独立import javax.swing.*;,基本概述,界面设计中常用组件类的体系结构,用户界面,一个顶层容器(即主窗口)顶层容器包含若干个中间容器每个中间容器包含若干个基本组件按照合理的布局方式将它们组织在一起基本组件可响应发生在其上的事件,Java程序界面的构成,容器 容器是用来容纳和管理一组界面元素的对象。基本组件必须被安排在某个容器中,否则就无法使用。,有边框
3、容器,无边框容器,顶层容器,顶层容器,JFrame,JApplet,JDialog,JWindow 作用:创建初始界面,为其他组件提供一个容器,以构建满足用户需求的操作界面JFrame用来创建application,最常用的JApplet用来创建appletJDialog用来创建对话框,常用JWindow不常用,JPanel,JScrollPane,JSplitPane,JTabbedPane、JInternalFrame、Box 这些容器提供将有关组件按照某种布局组合在一起,然后放入中间容器或顶层容器的功能JPanel提供一个面板JScrollPane是具有滚动条的窗格JSplitPane是
4、具有拆分功能的窗格JTabbedPane是带有若干标签的分类窗格JInternalFrame用于创建内嵌于JFrame中的内部框架Box提供创建横向/纵向盒子容器的功能,中间容器,JLabelJButton、JCheckBox、JRadioButtonJList、JComboBoxJTextField、JPasswordField、JTextAreaJToolBar、JToolTip、JProgressBarJSlider、JSpinnerJFileChooser、JColorChooserJMenuBar、JMenu、JMenuItem、JCheckBoxMenuItem、JRadioBut
5、tonMenuItem、JPopupMenuJTableJTreeJOptionPane、JSeparator,基本组件,类 JFrame 是的子类在Swing的组件中,JFrame 并不全是由Java编写的是一种与平台关系比较密切的组件(Heavyweight component)|+-|+-|+-|+-|+-,创建用户主窗口-JFrame,构造方法JFrame()创建无标题窗口。JFrame(String s)创建标题名字是字符串s的窗口。例如:JFrame f=new JFrame(“Hello”);常用方法setTitle(String title)设置JFrame标题文本get/se
6、tSize():获取/设置JFrame的大小。add(Object a):将组件添加到JFrame中。dispose()关闭JFrame并回收用于创建窗口的任何资源。setVisible(boolean b)设置JFrame的可见性。setLocation(x,y)设置JFrame在屏幕的位置,创建用户主窗口-JFrame,常用方法void setExtendedState(int);/设置扩展的状态,取值:NORMAL ICONIFIED MAXIMIZED_HORIZ MAXIMIZED_VERT MAXIMIZED_BOTH/最大化void setDefaultCloseOperatio
7、n(int);/设置默认的关闭时的操作,取值:DO_NOTHING_ON_CLOSE HIDE_ON_CLOSE DISPOSE_ON_CLOSE EXIT_ON_CLOSE/关闭,创建用户主窗口-JFrame,import javax.swing.*;public class FirstJFrame public static void main(String args)JFrame f=new JFrame();f.setTitle(My First JFrame);f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);f.setSize(300
8、,300);f.setVisible(true);,示例:直接使用JFrame创建,import javax.swing.*;public class SecondJFrame extends JFrame public SecondJFrame()super(“My Second JFrame”);setDefaultCloseOperation(EXIT_ON_CLOSE);setExtendedState(MAXIMIZED_BOTH);setVisible(true);public static void main(String args)SecondJFrame f=new Seco
9、ndJFrame();,示例:扩展JFrame创建,相关类图标类:图像类:创建图标和图像对象ImageIcon ii=new ImageIcon(“x.gif”);Image image=ii.getImage();设置setIconImage(image);,设置JFrame的图标,由JFrame创建初始的用户界面由JPanel、JScrollPane、JTabbedPane、JSplitPane、JInternalFrame、Box等创建中间容器由基本组件类创建有关的组件将基本组件按照某种布局添加到中间容器中,根据需要可能会用到容器的嵌套将中间容器按照某种布局添加到顶层容器中,形成满足用户
10、需求的操作界面,界面的基本组织方式,Container con=getContentPane();JPanel panel=new JPanel();JButton butt=new JButton(Press Me);panel.add(butt);con.add(panel);,获得JFrame的容器并添加组件,学生基本信息录入界面的设计设计一个用户界面,用于输入学生的下列信息:姓名JTextField密码JPasswordField 性别JRadioButton党否JCheckBox 年龄JSpinner颜色 JColorChooser 加分JSlider系别JComboBox 选课JL
11、ist确认JButton 保存JFileChooser结果JTextArea要求输入完毕按“确认”将该学生的信息记录到“结果”中;按“保存”将结果保存到一个指定的文件中;基本信息与结果界面上下分布在一个JSplitPane中;屏幕下方显示当前时间,示例:学生信息管理系统,步骤一:由JFrame创建初始的用户界面,获得JFrame的容器,添加中间容器JPanel,示例:学生信息管理系统,JFrame f=new JFrame();f.setTitle(学生信息管理系统);f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);f.setExtendedS
12、tate(MAXIMIZED_BOTH);/f.setSize(800,600);/f.setLocation(200,200);Container con=f.getContentPane();JPanel pan=new JPanel();con.add(pan);f.setVisible(true);,基本组件,标签 标签(JLabel)是最简单的组件,用于显示单行静态文本。用户只能查看其内容而不能对其进行修改。标签类没有事件响应。构造方法JLabel label1=new JLabel(“姓名”);ImageIcon ii=new ImageIcon(“java.gif”);JLabe
13、l label2=new JLabel(ii);JLabel label3=new JLabel(“姓名”,ii,JLabel.CENTER);标签内容一般不需要改变,但也可以使用setText和setIcon方法进行改变例如当使用同一标签显示不同的图片时,就可使用setIcon方法实现,基本组件标签,步骤二:添加标签(要录入的基本信息的名称),示例:学生信息管理系统,JFrame f=new JFrame();Container con=f.getContentPane();Jpanel pan=new JPanel();JLabel l_xm=new JLabel(姓名);pan.add(
14、l_xm);JLabel l_xb=new JLabel(性别);pan.add(l_xb);con.add(pan);f.setVisible(true);,按钮是常用的功能组件,表示按钮的类为JButton。构造方法JButton button1=new JButton(“姓名”);ImageIcon ii=new ImageIcon(“java.gif”);JButton button2=new JButton(ii);JButton button3=new JButton(“姓名”,ii);常用方法void setActionCommand(String);void addAction
15、Listener(ActionListener);,基本组件按钮,步骤二:添加按钮(确认和保存按钮),示例:学生信息管理系统,JFrame f=new JFrame();Container con=f.getContentPane();JPanel pan=new JPanel();JLabel l_xml_xm=new JLabel(姓名);pan.add(l_xm);JButton b_sub=new JButton(确认);pan.add(b_sub);JButton b_save=new JButton(保存);pan.add(b_save);con.add(pan);f.setVis
16、ible(true);,构造方法JTextField tf1=new JTextField(10);JTextField tf2=new TextField(“aa”);JTextField tf3=new JTextField(“aa”,8);,基本组件文本框(JTextField),其它方法 public String getText()public String getSelectedText()public void setText(String s)public void setEchoChar(char c)public void setEditable(boolean b),步骤
17、二:添加文本框(录入姓名信息),示例:学生信息管理系统,JFrame f=new JFrame();Container con=f.getContentPane();JPanel pan=new JPanel();JLabel l_xm=new JLabel(姓名);pan.add(l_xm);JTextField tf_name=new JTextField(20);pan.add(tf_name);con.add(pan);f.setVisible(true);,构造方法 JTextArea ta1=new JTextArea(5,5);JTextArea ta2=new JTextAre
18、a(“ab”,8,7);,基本组件文本区(JTextArea),其它方法 public getCaretPosition()public void insert(String str,int pos)public String getSelectedText()public int getSelectionStart()public int getSelectionEnd()public void replaceRange(String str,int start,int end),应用中经常将文本区对象放入一个滚动窗格中,以使用滚动条功能,方法如下:JTextArea ta=new JTex
19、tArea(10,10);JScrollPane sp=new JScrollPane(ta);,基本组件文本区(JTextArea),步骤二:添加文本域(显示录入结果信息),示例:学生信息管理系统,JFrame f=new JFrame();Container con=f.getContentPane();Jpanel pan=new JPanel();Jlabel l_jg=new JLabel(录入结果);JTextArea result=new JTextArea(10,30);JScrollPane sp=new JScrollPane(result);pan.add(sp);pan
20、.add(l_jg);con.add(pan);f.setVisible(true);,基本组件单选按钮(JRadioButton),构造方法(与JButton类似)JRadioButton rbutt1=new JRadioButton(“男”,true);ImageIcon ii=new ImageIcon(“java.gif”);JRadioButton rbutt2=new JRadioButton(ii);JRadioButton rbutt3=new JRadioButton(“女”,ii,false);常用方法void addActionListener(ActionListen
21、er);void addItemListener(ItemListener);boolean isSelected();void setSelected(boolean);,使用单选按钮时经常用到ButtonGroup类,如下创建按钮组对象ButtonGroup bg=new ButtonGroup();创建若干单选按钮对象JRadioButton b1=new JRadioButton(“x”);JRadioButton b2=new JRadioButton(“y”);将各单选按钮添加到按钮组中bg.add(b1);bg.add(b2);将单选按钮添加到其他容器中容器对象.add(b1);
22、容器对象.add(b2);注:按钮组维持只有一个单选按钮处于选择状态,基本组件单选按钮(JRadioButton),步骤二:添加单选按钮(选择性别),示例:学生信息管理系统,JFrame f=new JFrame();Container con=f.getContentPane();Jpanel pan=new JPanel();JRadioButton male=new JRadioButton(男,true);JRadioButton female=new JRadioButton(女);ButtonGroup group=new ButtonGroup();group.add(male)
23、;group.add(female);pan.add(male);pan.add(female);con.add(pan);f.setVisible(true);,构造方法JCheckbox()创建一个没有标签的复选框。JCheckbox(Icon icon)创建一个有图标的复选框。JCheckbox(Icon icon,boolean sele)创建一个有图标icon的复选框,初始状态为selsJCheckbox(String s)创建一个有标签的复选框。JCheckbox(String s,boolean b)创建一个有标签的复选框,参数b设置初始状态JCheckbox(String st
24、r,Icon icon)创建一个有str文字及图标icon的复选框JCheckbox(String str,Icon icon,boolean sele)创建一个有str文字及图标icon的复选框,初始状态为sels,基本组件复选框(JCheckbox),常用方法isSelected():返回复选按钮的状态,返回类型是boolean。如果返回true,则表示该按钮处于选中状态;否则处于未选中状态。setSelected(Boolean state):设置复选按钮的状态。,基本组件复选框(JCheckbox),步骤二:添加复选框(选择爱好,多项选择),示例:学生信息管理系统,JFrame f=n
25、ew JFrame();Container con=f.getContentPane();Jpanel pan=new JPanel();Jlabel l_ah=new JLabel(爱好);JCheckBox hobby=new JCheckBox(音乐),new JCheckBox(足球),new JCheckBox(绘画);pan.add(l_ah);pan.add(hobby0);pan.add(hobby1);pan.add(hobby2);con.add(pan);f.setVisible(true);,构造方法String ss=“red”,”green”,”blue”;JLis
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JavaSwing 界面设计 所有 控件 示例
链接地址:https://www.31ppt.com/p-5436006.html