java Swing 组件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
17.1
Swing组件概述
Swing包含了大部分与AWT对应的组 件 。多数Swing组件以字母“J”开头。 Swing组件的用法与AWT组件基本相 同,大多数AWT组件只要在其类名前加J 即可转换成Swing组件 。
javax.swing中类的继承关系
Swing与AWT的异同:
Swing组件与AWT组件最大的不同是,Swing
每个JFrame窗口都有一个内容窗格 (contant pane),窗口中除菜单之外的所有组 件都放在其内容窗格中。 要将组件添加到其内容窗格中,首先用 JFrame类的getContentPane()方法获得其缺省的 内容窗格,getContentPane()方法的返回类型是 java.awt.Container,然后使用add()方法将组件 添加到其内容窗格中。这与在Frame窗口中直接 使用add()方法添加组件明显不同。
创建一个标题为str、图标为icon的 复选框
JCheckBox(String str,Icon icon,boolean sele)
创建一个标题为str、图标为icon的 复选框,且初始状态为sele
Swing复选框举例
编程实现:窗口中有标题为Plain和Bold的 2个复选框及2个标签,在第1个标签中显示 Plain复选框是否被选中的信息,在第2个 标签中显示Bold复选框是否被选中的信息。
17.5
单选按钮和复选框
在Swing中,单选按钮JRadionButton 用来显示一组互斥的选项。在同一组单选 按钮中,任何时候最多只能有一个按钮被 选中。一旦选中一个单选按钮,以前选中 的按钮自动变为未选中状态。
要让多个单选按钮位于同一组,必须使用按 钮组类ButtonGroup。ButtonGroup是 javax.swing包中的类,但不是JComponent的子 类。 调用ButtonGroup类的add()方法可以将一 个按钮添加到一个ButtonGroup对象中。
JRadioButton类的构造方法
JRadioButton类构造方法 功能说明
JRadioButton ()
JRadioButton (Icon icon) JRadioButton (Icon icon,boolean sele) JRadioButton (String str)
创建一个无标题的单选按钮
Swing单选按钮举例
import java.awt.*; import java.awt.event.*; import javax.swing.*; public class JRadio extends JFrame { private JLabel lbl; private JRadioButton pla, bol,ita; private ButtonGroup buttonG; public JRadio() { super("JRadioButton Example"); Container c = getContentPane(); c.setLayout( new FlowLayout() ); lbl=new JLabel("Plain is selected"); pla=new JRadioButton("Plain",true); bol=new JRadioButton("Bold",false); ita=new JRadioButton("Italic",false);
组件在实现时不包含任何本地代码,因此 Swing组件可以不受硬件平台的限制,而具有 更多的功能。 Swing组件比AWT组件拥有更多的功能。 Swing库是抽象窗口工具AWT库的扩展,提 供了比AWT更多的特性和工具,用于建立更 复杂的图形用户界面。
17.2
窗口
基于Swing组件的图形用户界面,采用 JFrame框架作为容器。 JFrame类是从Frame类派生的。
Swing单选按钮举例
c.add(pla); c.add(bol); c.add(ita); c.add(lbl); pla.addItemListener(new Handler1()); bol.addItemListener(new Handler1()); ita.addItemListener(new Handler1()); buttonG = new ButtonGroup(); buttonG.add(pla); buttonG.add(bol); buttonG.add(ita); setSize(200,150); setVisible(true); } public static void main(String args[]) { JRadio app = new JRadio(); app.addWindowListener(new Handler2()); }
JButton类的构造方法
JButton类的构造方法 JButton() JButton(Icon icon) JButton(String str) JButton(String str,Icon icon) 功能说明 创建一个没有标题和图标的按钮 创建一个图标为icon的按钮 创建一个标题为str的按钮 创建一个标题为str、图标为icon 的按钮
JFrame的构造方法
JFrame类的构造方法 JFrame() JFrame(String title) 主要功能 创建没有标题的窗口 创建以title为标题的窗口
JFrame的成员方法
JFrame类的成员方法 Container getContentPane() Int getDefaultCloseOperation() int setDefaultCloseOperation() 主要功能 返回窗口的ContentPane组件 当用户关闭窗口时的缺省处理方法 设置用户关闭窗口时所执行的操作
Swing单选按钮举例
class Handler1 implements ItemListener { public void itemStateChanged(ItemEvent e) { if(e.getItemSelectable()==pla) lbl.setText("Plain is selected"); else if(e. getItemSelectable()==bol) lbl.setText("Bold is selected"); else lbl.setText("Italic is selected"); } } static class Handler2 extends WindowAdapter { public void windowClosing(WindowEvent e) { System.exit( 0 ); } } }
第十七章Biblioteka Swing 组件17.1 17.2 17.3 17.4 17.5 17.6 17.7 17.8
Swing组件概述 窗口 标签 按钮 单选按钮和复选框 文本编辑组件 列表框和组合框 菜单
17.1
Swing组件概述
早期的JDK版本中提供了Java抽象窗 口工具集(Abstract Window Toolkit, AWT),其目的是为程序员创建图形用户 界面提供支持,但是AWT功能有限,因 此在后来的JDK版本中,又提供了功能 更强的Swing类库。
创建一个无标题的复选框
创建一个图标为icon的复选框 创建一个图标为icon的复选框,且 初始状态为sele 创建一个标题为str的复选框
JCheckBox (String str,boolean sele)
JCheckBox (String str,Icon icon)
创建一个标题为str的复选框,且初 始状态为sele
17.3
标签
Swing中的标签组件JLabel与AWT中 标签组件Label相似,可以显示文本。 JLabel组件还可以显示图标,当鼠标 的指针移动到标签上时,还会显示一段提 示信息。
JLabel的构造方法
JLabel类的构造方法
JLabel() JLabel(Icon icon) JLabel(Icon icon,int alignment) JLabel(String str) JLabel(String str,int alignment) JLabel(String str,Icon icon,int alignment)
创建一个标题为str的单选按钮,且 初始状态为sele
创建一个标题为str、图标为icon的 单选按钮 创建一个标题为str、图标为icon的 单选按钮,且初始状态为sele
Swing单选按钮举例
编程实现:窗口中有标题为Plain、Bold和 Italic的3个单选按钮和1个标签,当选择任 一单选按钮时,标签中显示该单选按钮被 选中的信息。
创建一个图标为icon的单选按钮 创建一个图标为icon的单选按钮, 且初始状态为sele 创建一个标题为str的单选按钮
JRadioButton (String str,boolean sele)
JRadioButton (String str,Icon icon) JRadioButton (String str,Icon icon,boolean sele)
void update(Graphics g) void remove(Component component)
JMenuBar getMenuBar()
调用paint()方法重绘窗口 将窗口中的component组件删除
返回窗口中的菜单栏组件
void setLayout(LayoutManager manager) 设置窗口的布局
JLabel类的成员方法
Icon getIcon()
功能说明
返回标签的图标
void setIcon(Icon icon)
String getText() void setText(String str) void setHorizontalAlignment(int alignemt) void setVerticalAlignment(int alignment) void setHorizontalTextPosition(int ps) void setVerticalTextPosition(int ps)
Swing复选框举例
import java.awt.*; import java.awt.event.*; import javax.swing.*; public class JCheck extends JFrame { private JLabel lblp,lblb; private JCheckBox pla,bol; public JCheck() { super("JCheckBox"); Container c = getContentPane(); c.setLayout( new FlowLayout() ); pla=new JCheckBox("Plain",true); bol=new JCheckBox("Bold",false); lblp=new JLabel("Plain is selected"); lblb=new JLabel("Bold is not selected");
(a)初始界面
(b)选中Bold后的界面
复选框JCheckBox
复选框JCheckBox用来显示一组选项。 在一组复选框中,可以同时选中多个 复选框,也可以不选中任何复选框。
JCheckBox类的构造方法
JCheckBox类的构造方法 功能说明
JCheckBox ()
JCheckBox (Icon icon) JCheckBox (Icon icon,boolean sele) JCheckBox (String str)
功能说明
创建一个空标签 创建一个图标为icon的标签 创建一个图标为icon的标签并指定它的水 平排列方式为alignment 创建一个标题为str的标签 创建一个标题为str的标签并指定标签的 水平排列方式为alignment 创建一个图标为icon、标题为str的标签, 并指定它的水平排列方式
JLabel的成员方法
设置标签的图标为icon
返回标签的标题 设置标签的标题为str 设置标签的水平对齐方式为alignemt 设置标签的垂直对齐方式为alignemt 设置标签标题的水平位置为ps 设置标签标题的垂直位置垂直位置为ps
17.4
按钮
在Swing中,所有按钮都是由 AbstractButton类派生的。 Swing中按钮的功能较AWT中的按钮功 能更加强大,包括给按钮添加图像、使用快 捷键以及设置按钮的对齐方式,还可以将多 个图像分配给一个按钮以处理鼠标在按钮上 的停留等。