JAVA教程第3章(程序界面设计)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
在需要选中多项时使用,返回最大索引号。
用于设置列表框中可见元素的数量。 判断该索引所对应选项是否被选中 判断是否选择了,没有选择则返回true 设置数组为列表对象的数据源 设置Vector对象(可变长数组)为列表对象的数据源
知识学习——SWING
组合框常用方法
方法 void addItem(Object item) Object getItemAt(int index) int getItemCount() Object getSelectedItem() int getSelectedIndex() void setMaximumRowCount(int count) 功能 增加选项到组合框 得到指定索引的选项 得到组合框中的选项个数 得到选中项的值,若未选中任何值,则返回null。 得到选中的索引号,若未选中,则返回null。 设置显示在下拉框的元素个数。
例子:
//创建窗体对象frame frame = new JFrame("Hello Java"); //创建一文本标签 label = new JLabel("Hello Java"); //初始化容器frame Container c=frame.getContentPane()
//将文本标签添加到窗体(容器)上
知识学习——AWT和SWING
AWT:
Componenet
Button
Choice
TextArea
TextField Container
List
Label
Window
Panel
Dialog
Frame
知识学习——AWT和SWING
SWING是原先AWT的扩充。它加入了广泛的、可完全移植的、类和库的集合。JFC 作为Java平台的一部分,它有丰富的组件集合,这些都是完全平台独立的。 Javax.swing.*
案例JComponentDemo.java
知识学习——SWING
列表框常用方法
方法 Object getSelectedValue() int getSelectedIndex() 功能 返回选中项的值,null表未选。若允许选多项,则返回第 一项的值。 返回选中项的索引号,若未选中任何项,则返回-1。若允 许选择多项,则返回选中的第一项索引。
案例JComponentDemo.java
知识学习——SWING
按钮组语法: ButtonGroup buttonGroup; buttonGroup = new ButtonGroup(); buttonGroup.add(grade); buttonGroup.add(high);
知识学习——SWING
第3章 程序界面设计
本章提要
◆用户界面类型 ◆常用界面元素的使用 ◆常用图形元素的使用
引子:软件的用户界面重要吗?
用户界面是系统提供给外界的用户接口,通过这一接口,我们可以对系统进行操 作,指挥系统按照某种流程运行。
在诸如银行业务、飞机售票等这些业务中,每天都会有大量的事务处理。我们必 须为办事人员提供操作方便,美观大方的操作界面。 例如,银行办事人员的帐号操作界面,应将各种输入框合理布局在界面中;为飞 机票售票员提供的查询航班的界面,应以列表的形式显示航班次数,等等。 良好的用户界面将使得软件更加人性化,如应易于展现功能,且对于用户而言是必 要的。
void setVisibleRowCount(int count) boolean isSelectedIndex(int index) boolean isSelectionEmpty() void setListData(Object[] listData) void setListData(Vector listData)
知识学习——SWING
复选和单选按钮:复选按钮是通过JCheckBox来实现,单选按钮通过 JRadioButton来实现。
JCheckBox语法:
JCheckBox music; music = new JCheckBox(“音乐”);
JRadioButton语法:
JRadioButton grade,high; grade = new JRadioButton(“小学”); high = new JRadioButton(“中学”);
知识学习——AWT和SWING
AWT:
在Java1.0版本中,图形元素包括在java.awt包中。Java的AWT包定义了窗口
系统所显示的各种对象,既包括组织窗口屏幕元素所需的基本类,也包括图 形处理,显示所需的基本类。
java.awt java.awt.Event Color Font Image Graphics FlowLayout,CardLayout,BorderLayout,GridBagLayout Component
知识学习——图形用户界面组成
组件 文本框JText 容器 框架 JFrame
容器 面板 面板 JPanel
姓名 男 蓝球 提交 女
JPanel
组件 单选JRadioButton
组件 复选JCheckBox
组件 标签JLabel
组件 按钮JButtonl
Baidu Nhomakorabea
用户界面组成
知识学习——SWING
JFrame类:框架(JFrame)是带标题的顶层窗口 从类的层次上来看,它是Frame类的扩展,属于Container类。JFrame类 的构造方法有两种: JFrame myFrame = new JFrame();//不带标题的窗体 JFrame myFrame = new JFrame(“MyFrame”);//带标题的窗体
参数1:指定该对话框的父容器对象,如果没有可以指定为null,通
常可以指定为已有的frame对象。
参数2:指定了对话框中显示的信息。 参数3:指定了对话框任务栏的标题。 参数4:指定显示在对话框上面的按钮集。
知识学习——SWING
JOptionPane.showInputDialog("Please input a value");
Object[] getSelectedValues()
int[] getSelectedIndices() int getMinSelectionIndex()
返回选中项的值的数组。
返回选中项的索引的数组。 在需要选中多项时使用,返回最小索引号。
int getMaxSelectionIndex()
c.add(label); //设置窗口的大小 frame.setSize(300,300); //设置窗口的可见性 frame.setVisible(true);
案例JFrameDemo.java
知识学习——SWING
JPanel类 :JPanel类是一个大家会经常使用的容器类,被称为面板。
步骤分析:
了解Java程序用户界面类型 构建图形用户界面的方法 常用组件 设计产品信息处理界面,分析需要什么组件,及大小,形状 编写代码 编译执行
知识学习——用户界面类型
用户界面分为两类:
字符用户界面(CUI) 图形用户界面(GUI)
知识学习——AWT和SWING
本章知识要点
用户界面的类型 Java中提供的GUI组件类 SWING高级组件
图形绘制
声音文件处理
任务1 设计产品信息处理界面
问题分析 知识学习
用户界面的类型 Java中提供的GUI组件类
任务实施
执行效果
问题分析
任务描述:
编写一个程序,能够实现产品信息处理界面
消息对话框: JOptionPane类能够定制出好几种不同的消息对话框:
普通的消息对话框 出错对话框 警告对话框 询问对话框等等。
知识学习——SWING
JOptionPane.showMessageDialog(null,"alert","alert",JOptionPane. ERROR_MESSAGE);
AWT 和 SWING 是 Java 设计 GUI 用户界面的基础。 AWT为重量级组件, Swing 则大部分是轻量级组件。
AWT是Swing的基础,而基于图形化用户界面发展需要,采用纯Java实现 了轻量级先进的组件,更为美观易用,且无本地代码,从而不依赖本地操 作系统(AWT会因操作系统不同,出现不同显示效果)。 但有一些类是Swing无法代替的,实现用户界面时,可选择Swing绘制界 面上的元素,而将AWT用于界面布局、图形绘制、字体设置、事件处理 等。 进行界面元素的绘制时,不要混用AWT、Swing。
知识学习——AWT和SWING
组件类 JFrame JApplet JButton JCheckBox JComboBox JDialog JLable JList JOptionPane JPasswordField JPanel JRadioButton JTable JTextArea JTextField 描述 扩展了java.awt.Frame的外部窗体类 java.applet.Applet类的扩展 能显示文本和图形的按钮类 能显示文本和图形的复选框类 带下拉列表的文本框类 Swing对话框的基类,扩展了AWT的Dialog类 可显示文本和图标的标签类 显示选项列表的组件类 显示标准的对话框类 文本框类的扩展,使得输入的内容不可见 通用容器类 单选按钮类 表格类 用于输入多行文本的文本框类 单行文本框类
String[] city = {"北京","上海","广州","西安"}; JList listCity = new JList(city);
组合框语法:
String[] city = {"北京","上海","广州","西安"}; JComboBox comboObj = new JComboBox(city);
frame.setVisible(true); frame.setSize(300,300);
知识学习——SWING
标签:标签是用来在用户界面中显示静态的文本。 用JLabel类来创建一个标签控件。 JLabel label=new JLabel(“label”);
文本字段:用JTextField类来创建一个输入框控件。
一般情况下,我们把所有的组件加入到面板,然后将面板加入到框架。
例子 :
JFrame frame = new JFrame("JPanal Demo"); JButton b1 = new JButton("Button1");
//创建panel对象
JPanel panel = new JPanel(); //将按钮添加到面板 panel.add(b1); //将面板添加到框架窗口 frame.getContentPane().add(panel); frame.setSize(300,300); frame.setVisible(true);
参数1:指定该对话框的父容器对象,如果没有可以指定为null,通
常可以指定为已有的frame对象。
参数2:指定了对话框中显示的信息。 参数3:指定了对话框任务栏的标题。
参数4:指定了对话框显示的样式。
知识学习——SWING
JOptionPane.showConfirmDialog(null,"choose one","choose one", JOptionPane.YES_NO_OPTION);
案例JPanelDemo.java
知识学习——SWING
有了面板,就可以将很多不同的窗体页面做成不同的panel,那么在这种 情况下,可以随时加载不同的panel达到页面转换的效果。
例子:
//从框架中移除panel1,加载panel2 frame.remove(panel1);
frame.getContentPane().add(panel2);
getText()方法来得到文本输入框中的内容 setText()来设置文本输入框中的内容
案例JComponentDemo.java
知识学习——SWING
列表框和组合框
JList(列表框)和JComboBox(组合框)类都属于多值控件,它允许用户在
其所给的列表中进行选择。
列表框语法: