第四章 Java图形用户界面设计PPT课件

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
panelObj.add(ScrollPaneObj); } }
复选框
• 可以通过以下构造函数来创建:
- JCheckBox(String text,Icon icon,boolean selected): 新建一个带图标 和标签的复选框
•. .复.选框中常用的方法: IcchoencksiOBebotjxS=Oneeblwje1=cImnteaewgdeJ(IcCbohone(co“kclB:e\o\a1x.ng("i复fs")t选;a框te",)iOBJ,false); paneilOsSbje.aldedc(ctheedck(B) oxObj1);
...
ButtonGroup buttonGroupObj=new ButtonGroup();
buttonGroupObj.add(rButtonObj1); buttonGroupObj.add(rButtonObj2);
建立约 束
文本组合框
• 可以通过以下构造数来创建:
- JComboBox(Object[] items): 新建一个下拉 列表框
创建菜单条添加到容器创建菜单项添加到菜单条中创建菜单子项添加到菜单项中面神经麻痹的病理变化早期主要为面神经水肿髓鞘和轴突有不同程度的变性以在茎乳突孔和面神经管内的部分尤为显著图形界面示例面神经麻痹的病理变化早期主要为面神经水肿髓鞘和轴突有不同程度的变性以在茎乳突孔和面神经管内的部分尤为显著布局管理器每当需要重新调整屏幕大小或重新绘制屏幕上任一项目时就要用到布局管理器
• JTextArea有如下属性: lineWrap、rows、lineCount、tabSize等。
• 可以使用以下方法完成文本区的插入、追 加和替换。 public void insert(Sting s,int pos) public void append(Sting s) public void replaceRange(Sting s,int start,int end)
定行数和列数的TextArea - JTextArea(String text, int rows, int cols) : 新建一
个包含给定字符串、行数和列数的TextArea
...
JTextArea txtComment=new JTextArea();
add(txtComment);
...
文本区_2
• Container类的特点是:容器类可以容纳其他组 件,加入容器中后,组件的位置由布局管理器决 定。
容器类组件_2
• Container类的常用方法有: add(Component comp) 将指定组件放到容器 中。 remove(Component comp) 删除指定组件 setLayout(LayoutManager mgr) 设置容器布 局
getContentPane().add(panelObj);
}
}
加入组件到框架窗体,等价于
Container
m=getContentPane();
用户界面对象(UI)
• 所有的UI组件和容器类都有一个共同的基类 Component类,并从中继承了一些属性和 方法:
font、background、foreground、height、 width等。
控制组件
• 控制组件指可以放置在用户界面上的任何东 西,它是图形用户界面中的最小单元之一, 它里面不再包含其他的元素。它的作用是完 成与用户的一次交互。
• AWT支持的组件:按钮、标签、文本框、文 本区、复选框、单选按钮、滚动条、单选按 钮、表格、菜单等。
不同组件
标 签
按钮
文本框 复选框 单选按钮
的标准窗口。 – JFrame(String Title): 创建一个含有标题的窗口,这个标
题是由参数title指定的。 – JFrame(String Title ,GraphicsConfiguration gc) • 当一个JFrame窗口被创建以后,需要调用setSize()方法来 设置窗口的大小,并调用setVisible()来显示窗口。
• 必须将面板添加到窗体中。
使用JPanle容器示例
class PanelTest extends FrameTest
{
JPanel panelObj;
public PanelTest()
{
panelObj=new JPanel();
panelObj.setBackground(Color.red);
praenmeloOvbje.aIdtd(ecomm(bOobBjoxeOcbtj); anObject) .r.e. moveAllItem()
文本列表框
文本区
容器类组件_1
• 容器分为顶层容器和非顶层容器两大类。
• 顶层容器可以独立的窗口,不需要其他组件支持。 顶层容器的类是Windows,其重要子类是Frame和 Dialog。
• 非顶层容器不是独立的窗口,必须位于窗口之内, 非顶层容器包括Pande及ScrollPane等,Panel的 重要子类是Applet类。
使用JFrame容器示例
import javax.swing.*;
import java.awt.*; class FrameTest
使用GUI组件 必须导入该包
{ Jframe f;
public FrameTest() { f=new JFrame(“窗体标题”);
f.setDefaultCloseOperation(Jframe.EXIT_ON_CLOSE);
• 除JFrame、JApplet和JDialog外,所有的Swing 组件都是Jcomponent的子类,常见属性有:
toolTipText、doubleBuffered、border等。
按钮
❖按钮是任何GUI都不可或缺的组件
❖用来捕捉用户操作的最为简便的 方式
• 可以使用以下任一构造函数来创建按钮:
{ ScrollPane ScrollPaneObj;
public ScrollPaneTest() {ScrollPaneObj=newJScrollPane(textObj,
JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
f.setVisible(true); f.setSize(240,90); }
设置窗体属 性
}
容器 - 面板
• 面板不是一个单独的窗口,它只是包含 在窗口中的一个区域。
• 面板是可以将许多组件组合起来的一种 容器,在程序中经常用于布局和定位。
• 最简单的创建面板的方式就是通过面板 的构造函数 JPanel() 来进行。
- JTextField(String s, int columns) : 新建一个包 含给定字符串和列数的文本域
JPasswordField类
• JPasswordField类是JTextField类的子 类。当在这类控件中输入数据时,只出 现“*”号。
class PasswordFieldTest extends PanelTest { JPasswordField passwordObj;
• 文本组合框常用属性: .se.lec.tedIndex、selectedItem等。
•S列文tr表in本框g 2组c"o,"m合文b框本oS列常tr表[]用=框{"方3文",本法};列:表框","文本列表框1","文本 caodmdbIoBtoexmO(bOj=bnejweJcCtomibtoBeomx)(comboStr);
– JLabel(String labeltext,Icon icon, int alignment)
ImageIcon类
class IconTest extends PanelTest { JLabel labelObj;
ImageIcon iconObj; public IconTest()
{iconObj=newImageIcon("c:\\water.jpg"); labelObj=new JLabel(iconObj); panelObj.add(labelObj);
滚动面板 ❖作为滑块使用 ❖用来实现窗口的滚动
• 可以通过以下构造函数来创建:
- JScrollPane(Component view, int vsbPolicy, int hsbPolicy): 添加指定组件到新的滚动面板 容器上,可指定垂直和水平滚动条。
class ScrollPaneTest extends PanelTest
- JButton() : 新建一个空的按钮
- JButton(String text) : 新建一个包含给定字符串 的按钮
... JButton btnOk=new JButton("确定!"); JButton btnCancel=new JButton("取消!");
add(btnOk);
add(btnCancel);
• 在JDK1.2版本以后,引入新的包java.swing。 Swing GUI组件在AWT的基础上增加了很多功 能。
java.awt 包中的类体系结构
Component
Button Checkbox Container Choice Canvas
Label
TextComponent
Jcomponent
public PasswordFieldTest() {passwordObj=new JPasswordField("口令",15);
panelObj.add(passwordObj); } }
文本区_1 ❖要接受输入多行文本时使用 ❖可以包括滚动条
• 可以通过以下构造函数来创建:
- JTextArea( ) : 新建一个TextArea - JTextArea(int rows, int cols) : 新建一个包含给
容器 – 框架
• JFrame的层次结构为 Container\Windows\Frame\JFrame。
• Jframe被默认初始化为不可见的。 • 可以通过以下任一构造函数来创建:
– JFrame():创建一个不含标题的标准窗口。 – JFrame(GraphicsConfiguration gc):创建一个带标题栏图标
} }
文本框
❖一种用来输入文本的GUI 组件
❖只能接受一行输入
• 可以通过以下任一构造函数来创建:
- JTextField() : 新建一个文本域
- JTextField(int columns) : 新建一个包含给定列 数的文本域
- JTextField(String s) : 新建一个包含给定字符 串的文本域
第四章 Java图形用户界面设计
图像用户界面
• 图形用户界面(GUI)使用图形的方式,借助菜 单、按钮等标准界面元素和鼠标操作,帮助用 户方便的发送指令,并将运行结果以图形方式 显示得给用户。
• 抽象窗口工具包(AWT)是一组Java类,此组 Java类允许创建图形用户界面(GUI)。
• AWT提供用于创建生动而高效的GUI的各种组 件,如按钮、菜单、列表、文本框等,还包括 窗体、面板等容器。
...
单选按钮
• 可以通过以下构造函数来创建:
- JRadioButton(String text,boolean selected): 新建一个标签的单选按钮。
...
rButtonObj1=new JRadioButton("单选按钮1",true);
panelObj.add(radioButtonObj1);
...
>
标签
❖通常用来指明项目的用 途 ❖标签不可以被用户编辑
• 可以通过以下任一构造函数来创建:
– JLabel( ) : 新建一个空标签
– JLabel(String labeltext): 新建一个包含给定文本的 标签
– JLabel(Icon image): 使用指定图像新建一个标签
– JLabel(String labeltext, int alignment) :新建一个包 含给定对齐方式的标签,对齐方式可以为 Label.LEFT、Label.RIGHT 或 Label.CENTER
Panel
Window
TextArea TextField
Applet Frame Dialog
容器
• 容器(Container)是用来组织其它界面成 分和元素的单元。
• java.awt包中的Container类可直接或间接派 生出两个常用容器:框架(Frame类)和 面板(Panel类)。
• 容器有一定的范围;容器有一定的位置; 容器通常都有一个背景;容器可以包含 其他的界面成分和元素。容器可以按一 定的规则来排列它所包含的元素。
相关文档
最新文档