Java第十八章

一.Swing常用窗体

1.JFrame窗体

JFrame类的常用构造方法包括以下两种形式:

public JFrame()

public JFrame(String title)

 创建一个不可见、具有标题的窗体,关键代码如下:

JFrame jf = new JFrame("登录系统");
Container container = jf.getContentPane();

例1.

2.JDialog对话框 

JDialog 对话框继承了java.awt.Dialog 类,其功能是从一个窗体中弹出另一个窗体,如使用IE 浏览器时弹出的确定对话框。JDialog对话框与JFrame窗体类似被使用时也需要先调用getContentPane()方法把JDialog 对话框转换为容器再对JDialog对话框进行设置

例2.

3.JOptionPane小型对话框

JavaAPI中的javax.swing.JOptionPane类是一个非常简便的小型对话框类,该类用于创建对话框的方法都是静态方法,无须创建对象即可弹出。在日常开发中经常使用该类弹出提示、确认用户需求、调试程序等。JOptionPane 提供了4种创建对话框的方法 

自定义对话框

首先介绍一个自定义的对话框,这个对话框可以说是一块白板,开发者可以自行定义对话框中显示的元素。

例3.

确认框

 确认框已经封装好了一套外观样式,弹出后要求用户做选择操作,用户选择具体选项后,确认框可以返回用户的选择结果,结果以int方式返回

例4.

输入框

输入框已经封装好了一套外观样式,弹出后要求用户在文本框中输入文本,用户完成输入操作后输入框可以返回用户输入的结果。

 

例5.

通知框

通知框是最简单的一个对话框,仅弹出提示,不会返回任何值 

 

例6.

二.常用布局管理器

1.null绝对布局

绝对布局也叫 null布局,其特点是硬性指定组件在容器中的位置和大小,组件的位置通过绝对坐标的方式来指定。使用绝对布局首先要使用ContainersetLayout(null)方法取消容器的布局管理器然后再使用Component.setBounds(intx,intyint width,int height)方法设置每个组件在容器中的位置和大小 

例7.

2.FlowLayout 流布局管理器 

流布局(FlowLayout)管理器是 Swing 中最基本的布局管理器。使用流布局管理器摆放组件时,组件被从左到右摆放。当组件占据了当前行的所有空间时,溢出的组件会被移动到当前行的下一行。默认情况下,行组件的排列方式被指定为居中对齐,但是通过设置可以更改每一行组件的排列方式 

构造方法中的 alignment参数表示使用流布局管理器时每一行组件的排列方式,该参数可以被赋予FlowLayout.LEFT、FlowLayout.CENTER 或 FlowLayout.RIGHT

 

例8.

 3.BorderLayout 边界布局管理器 

使用 Swing创建窗体后,容器默认的布局管理器是边界布局(BorderLayout)管理器,边界布局管理器把容器划分为东南、西、北、中5个区域

 

例9.

4.GridLayout 网格布局管理器 

网格布局(GridLayout)管理器能够把容器划分为网格组件可以按行、列进行排列。在网格布局管理器中,网格的个数由行数和列数决定,且每个网格的大小都相同。 

例10.

三.常用面板

在 Swing 程序设计中,面板是一个容器,被用于容纳其他组件,但面板必须被添加到其他容器中.
Swing中常用的面板包括JPanel面板和JScrollPane面板。

1.JPanel面板

JPanel面板继承javaawt.Container 类。JPanel面板必须在窗体容器中使用,无法脱离窗体显示 

例11.

2.JScrollPane 滚动面板 

JScrollPane面板是带滚动条的面板,被用于在较小的窗体中显示较大篇幅的内容。需要注意的是,JScrollPane滚动面板不能使用布局管理器,且只能容纳一个组件。如果需要向JScrollPane 面板中添加多个组件,那么需要先将多个组件添加到JPanel 面板,再将JPanel面板添加到JScrollPane滚动面板。 

例12.

四.文字标签组件与图标

在 Swing 程序设计中,标签 (JLabel) 被用于显示文本、图标等内容。在 Swing 应用程序的用户界面中,用户能够通过标签上的文本、图标等内容获得相应的提示信息

1.JLabel 标签

标签(JLabel)的父类是JComponent 类。虽然标签不能被添加监听器,但是标签显示的文本、图标等内容可以被指定对齐方式。
通过JLabel 类的构造方法,可以创建多种标签,如显示只有文本的标签、只有图标的标签以及同时包含文本和图标的标签等 

例13.

2.图标的使用 

在Swing程序设计中,图标经常被添加到标签、按钮等组件,使用javaxswing.Imagelcon类可以依据现有的图片创建图标。ImageIcon类实现了Icon接口它有多构造方法 

例14.

五.按钮组件

1.JButton 按钮

Swing按钮由JButton对象表示,JButton常用的构造方法如下:

publicJButton()
publicJButton(String text)
publicJButton(Iconicon)
publicJButton(String text Iconicon)

 

例15.

2.JRadioButton 单选按钮 

Swing单选按钮由JRadioButton 对象表示。在Swing程序设计中,需要把多个单选按钮添加到按钮组,当用户选中某个单选按钮时,按钮组中的其他单选按钮将不能被同时选中。 

例16.

 3.JCheckBox 复选框 

复选框组件由 JCheckBox 对象表示。与单选按钮不同的是,窗体中的复选框可以被选中多个,这是因为每一个复选框都提供“被选中”和“不被选中”两种状态。JCheckBox 的常用构造方法如下:

public JCheckBox()

public JCheckBox(Icon icon, Boolean checked)

public JCheckBox(String text, Boolean checked)

 

例17.

六.列表组件

1.JComboBox下拉列表框

初次使用Swing中的下拉列表框时,会感觉到Swing中的下拉列表框与Windows操作系统中的拉列表框有一些相似,实质上两者并不完全相同,因为 Swing 中的下拉列表框不仅可以供用户从中择列表项,也提供编辑列表项的功能。
下拉列表框是一个条状的显示区,它具有下拉功能,在下拉列表框的右侧存在一个倒三角形的技钮,当用户单击该按钮时,下拉列表框中的项目将会以列表形式显示出来。 

例18.

2.JList列表框 

列表框组件被添加到窗体中后,就会被指定长和宽。如果列表框的大小不足以容纳列表项的个数,那么需要设置列表框具有滚动效果,即把列表框添加到滚动面板。用户在选择列表框中的列表项时,既可以通过单击列表项的方式选择列表项,也可以通过“单击列表项+按住 Shia键的方式连续选择列表项,还可以通过“单击列表项+按住 Ctl键”的方式跳跃式选择列表项,并能够在选择状态和选择状态之间反复切换 

例19.

七.文本组件

1.JTextField 文本框

文本框组件由JTextField对象表示。JTextField类的常用构造方法如下:

public JTextField()

public JTextField(String text)

public JTextField(int fieldwidth)

public JTextField(String text,int fieldwidth)

public JTextField(Document docModel, String text,int fieldWidth)

 

例20.

2.JPasswordField 密码框 

密码框组件由 JPasswordField 对象表示,其作用是把用户输入的字符串以某种符号进行加密。JPasswordField类的常用构造方法如下:

public JPasswordField()

public JPasswordFiled(String text)

public JPasswordField(int fieldwidth)

public JPasswordField(String text,int fieldwidth)

public JPasswordField(Document docModel,String text,int feldWidth)

 3.JTextArea 文本域

文本域组件由JTextArea 对象表示,其作用是接受用户的多行文本输入。JTextArea 类的常用构造方法如下:

public JTextArea()

public JTextArea(String text)

public JTextArea(int rows,int columns)

public JTextArea(Document doc)

public JTextArea(Document doc,String text,int rows,int columns)

 

例21.

八.表格组件

1.创建表格

JTable 类除提供了默认的构造方法外,还提供了被用于显示二维数组中的元素的构造方法,这个构造方法的语法如下:

JTable(Object[][] rowData, Object[] columnNames)

 

例22.

2.DefaultTableModel 表格数据模型 

 Swing 使用 TableModel 接口定义了一个表格模型,AbstractTableModel 抽象类实现了 TableModel接口的大部分方法,只有以下3 个抽象方法没有实现:

public int getRowCount();

public int getColumnCount();

public Object getValueAt(int rowIndex, int columnIndex);

 

例23.

3.维护表格模型 

表格中的数据内容需要予以维护,如使用 getValueAt0方法获得表格中某一个单元格的值,使用addRow0方法向表格中添加新的行,使用 setValueAt0方法修改表格中某一个单元格的值,使用removeRow0方法从表格中删除指定行等。 

例24.

九.事件监听器

1.ActionEvent动作事件

动作事件(ActionEvent)监听器是 Swing 中比较常用的事件监听器,很多组件的动作都会使用它监听,如按钮被单击等

 

例25.

2.KeyEvent 键盘事件 

当向文本框中输入内容时,将发生键盘事件。KeyEvent 类负责捕获键盘事件,可以通过为组件添
加实现了KeyListener接口的监听器类来处理相应的键盘事件。

KeyListener 接口共有3个抽象方法,分别在发生击键事件(按下并释放键)按键被按下(手指按下键但不松开)和按键被释放(手指从按下的键上松开)时被触发,具体如下:

public interface KeyListener extends EventListener {
    public void keyTyped(KeyEvent e);
    public void keyPressed(KeyEvent e);
    public void keyReleased(KeyEvent e);
}

例26.

3.MouseEvent 鼠标事件 

所有组件都能发生鼠标事件,MouseEvent 类负责捕获鼠标事件,可以通过为组件添加实现了MouseListener接口的监听器类来处理相应的鼠标事件。
MouseListener 接口共有5个抽象方法,分别在光标移入或移出组件、鼠标按键被按下或释放和发生单击事件时被触发。所谓单击事件,就是按键被按下并释放。需要注意的是,如果按键是在移出组件之后才被释放,则不会触发单击事件。MouseListener 接口的具体定义如下:

public interface MouseListener extends EventListener {
    public void mouseEntered(MouseEvent e);
    public void mousePressed(MouseEvent e);
    public void mouseReleased(MouseEvent e);
    public void mouseClicked(MouseEvent e);
    public void mouseExited(MouseEvent e);
}

 

例27.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值