收藏 分享(赏)

第七章图形用户界面(gui)设计 26p.ppt

上传人:无敌 文档编号:1072374 上传时间:2018-06-09 格式:PPT 页数:26 大小:293.52KB
下载 相关 举报
第七章图形用户界面(gui)设计 26p.ppt_第1页
第1页 / 共26页
第七章图形用户界面(gui)设计 26p.ppt_第2页
第2页 / 共26页
第七章图形用户界面(gui)设计 26p.ppt_第3页
第3页 / 共26页
第七章图形用户界面(gui)设计 26p.ppt_第4页
第4页 / 共26页
第七章图形用户界面(gui)设计 26p.ppt_第5页
第5页 / 共26页
点击查看更多>>
资源描述

1、第七章 图形用户界面(GUI)设计,界面设计使用的基本组件如何生成图形用户界面如何实现人机交互事件处理,7.1 用户界面设计概述,1. 用户界面的组成基本要素 1)显示/输出窗口区域 2)提示性的信息 3)信息接收域/输入域 4)可点击/选取的操作控件 5)窗口的显示格局(输出格式、具体定位、大小) 6)窗口的美工处理(颜色、字体字型、背景) 2. Java语言的基本处理对策 窗口区域容器(自定义大小,可嵌套/套装) 窗口中的可见内容基本组件 ? 窗口的显示格局布局管理 窗口的美工处理特殊修饰,可以以图形化的方式显示在屏幕上并能够实现系统与用户进行交互的对象(对象集合),3. AWT工具集 A

2、bstract Window Toolkit , java.awt 包, JDK1.2前 做UI设计唯一使用 (1) 主要构成成分:,(2) 二个基础类 Component Container 容器基本类型: 独立型顶级 (底层) 容器 依赖型子容器,父类、抽象、核心,存放、管理基本组件,容器类的父类,AWT中的基本组件类与继承关系,(3) AWT中的常用容器,1) 框架 (Frame) window类的子类 创建对象 Frame 对象名= new Frame(标题名); 2) 面板(Panel ) Container类的子类 创建对象 Panel 容器名=new Panel( ); 注意:不

3、能作为底层容器 依赖型,2. Swing,(1) 特性(2) 组件分类 JComponent父类 1) 顶层容器: JFrame JApplet 2) 普通容器:JPanel JScrollPane JTabblePane. 3) 特殊容器: JRootPane JToolBar 4) 基本控件: JButton JTextField JPasswordField JList JTree Jtable ,基于AWT,100%纯java编写,存在javax.swing包中完全实现了平台无关性,界面设计更美观、灵活,增加了剪裁板和打印等功能。,Swing的类层次结构,java.awt.Compon

4、ent-java.awt.Container-java.awt.Window -java.awt.Framejavax.swing.JFrame -java.Dialogjavax.swing.JDialog -javax.swing.JWindow-java.awt.Appletjavax.swing.JApplet-javax.swing.Box-javax.swing.JComponet,组件的层次关系,1. 主要容器 1) JFrame JFrame 对象名=new JFrame(标题名); 常用方法: getTitle( ); setTitle(String-obj); 2) JPa

5、nel JPanel 容器名=new JPanel( );依赖型容器 P249 常用方法: setSize(n1,n2);add(cop-obj); setVisible(true/false);,7.2 Swing容器和组件,1.5 之前,组件只能添加到内容面板(内含); JFrame-obj.getContentPane().add(cop); or JFrame-obj.setContentPane(Jpane-obj,3) JTabbedPane,将组件放置在多个不同的布局中,但同一时刻只有一个布局可见。用户用过一个标签(tab)来访问各个布局,这类似于文件箱(file cabinet

6、)中的文件夹,在用户单击标签时,将显示合适的布局。标签默认上显示在JtabbedPane的顶部,但也可以显示在JtabbedPane的左侧、右侧或底部。标签中可以放置任何组件。如果组件是一个诸如面板的容器,则可以使用任何布局管理器将多个组件放置在标签中。JtabbedPane类是Jcomponent的子类。,JTabbedPaneDemo.java,2. 基本组件,1) 命令按钮类(JButton) P159 JButton 对象名=new JButton(“标识”); 标识:字符串、Icon 图标文件对象 例: JButton but1=new JButton(“open”); JButto

7、n but2=new JButton(“save”); 常用方法:String getText(); setText(); setEnabled(bo_v); setSize(n1,n2); setLocation(x,y); /有时无效,2) 标签类(JLabel)静态文本组件 P151 JLabel 对象名=new JLabel(“标识”,位置); 位置声明:JLabel.LEFT/CENTER/RIGHT 常用方法 P151 表6-3 setText(“标识”); getText( ); 例: JLabel lab=new JLabel(“The Same World”);,3) 文本类

8、,JTextField: 单行文本,回车结束。 P152 JTextField( ); 宽度为0位 JTextField( N); JTextField(String s); JTextField(String s,N); JTextArea:多行文本/文本区 P157 JTextArea( ); /窗口的宽度2字节(1字符) JTextArea(n1,n2); JTextArea(String s,n1, n2); JPasswordField: 自动密码屏蔽 常用方法:getText( ); setText(“value”/String obj); getSelectionText( );

9、append(str-obj);,import javax.swing.*;public class screen_1 JButton bt1=new JButton(Confirm); JButton bt2=new JButton( Exit ); JTextField te1=new JTextField(10); JTextField te2=new JTextField(8); JLabel la1=new JLabel(Username:); JLabel la2=new JLabel(Passwd1:); JLabel la3=new JLabel(Passwd2:); JFra

10、me fr=new JFrame(); JPanel pa=new JPanel( ); JPasswordField pasf=new JPasswordField(10); public static void main(String as) screen_1 obj=new screen_1(); obj.did(); void did() pa.add(la1); pa.add(te1); pa.add(la2);pa.add(te2); pa.add(la3); pa.add(pasf); pa.add(bt1); pa.add(new JLabel( ); pa.add(bt2);

11、 fr.add(pa); fr.setSize(250,400); fr.setVisible(true); ,操作结果界面,4) 列表类 JList 构造方法 JList( ); JList(str_obj); 常用方法 getSelectedIndices( ); getSelectedValues();,5) 组合框 JComboBox int getSelectedIndex( );返回被选中项目的序号 Object getItemAt(N); . Object getSelectedItem( ); 返回被选中的项目,import javax.swing.*;public class

12、 ppt_61 JFrame f=new JFrame(); JPanel p=new JPanel(); JButton bt1=new JButton(Confirm); JButton bt2=new JButton(exit); StringBuffer sb=new StringBuffer(); JLabel la1=new JLabel(Course: ); JLabel la2=new JLabel( Time: ); JTextArea ta=new JTextArea(5,20); String lis_cor=SQL,Orical,Access,java,English;

13、 JTextField tf=new JTextField(4); JComboBox ls=new JComboBox(lis_cor); public static void main(String s) ppt_61 obj=new ppt_61(); obj.go(); public void go() p.add(la1); p.add(ls); p.add(la2); p.add(tf); p.add(ta); p.add(bt1); p.add(bt2); ta.append(tf.getText(); System.out.println(ls.getSelectedIndex

14、()+-+ tf.getText(); f.add(p); f.setSize(300,400); f.setVisible(true); ,运行结果:,6) 选择钮 P162 复选框类 JCheckBox JCheckBox 对象名=new JCheckBox(“标识”,Icon-obj ,bool-var);,JCheckBox chn1=new JCheckBox(“Sql”);JCheckBox chn2=new JCheckBox(“Orical”);JCheckBox chn3=new JCheckBox(“Access”),常用方法 boolean getState( ); bo

15、olean isSelected( ); void setState(true/false); String getSelectedJCheckBox( );,收音机钮 JRadioButton P164JRadioButton 对象名=new JRadioButton(“标识”, ,bool-var);例:,JRadioButton chn1=new JRadioButton(“Sql”, true);JRadioButton chn2=new JRadioButton(“Orical”,);,3. 菜单类JMenu,(1) 特点: 属于组件,只能被添加到菜单容器JMenuContiner中

16、。 菜单中的内容全部是JMenuComponent的子类。(2) 建立菜单的操作方法 确定一个菜单条对象 JMenuBar() 将菜单条对象添加到一个窗口容器中 Frameobj.SetMenuBar(条对象名) 确定菜单条中的内容构造主菜单 JMenu MenuObj=new JMenu(“菜单名”);,向菜单条中添加JMenu 对象 MenuBarObj.add(MenuObj); 确定各下拉菜单中的内容菜单项 JMenuItem MI_Obj=new JMenuItem(“菜单项名”); 将菜单项添加到相应的菜单下 MenuObj.add(MI_Obj);,4. 快捷菜单类JPopupMenu,(1) 特点: 依附于一个组件,而不是添加在菜单栏JMenuBar中。 不随窗口的出现而显示,完全由用户单击鼠标右键时弹出 是javax.swing.JComponent的子类。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 经营企划

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报