第18章swing程序设计

目录

 

概述

 

Swing常用窗体 

 

JFrame 窗体

 

JDialog 对话框 

 

JOptionPane 小型对话框 

 

 1.自定义对话框

 

2.确认框 

 

3.输入框 

 

4.通知框 

 

常用布局管理器 

 

null绝对布局

 

 FlowLayout 流布局管理器

 

BorderLayout 边界布局管理器 

 

GridLayout 网络布局管理器

 

常用面板 

 

JPanel 面板

 

JScrollPane 滚动面板 

 

 文字标签组件与图标

 

JLable 标签

 

图标的使用

 

按钮组件 

 

JButton 按钮

 

JRadinButton 单选按钮 

 

1.单选按钮

 

2.按钮组

 

列表组件 

 

JComboBox 下拉列表框

 

JList 列表框 

 

文本组件 

 

JTextField文本框

 

JPasswordField 密码框

 

JTextArea 文本域

 

表格组件

 

创建表格

 

DefaultTableModel 表格数据模型

 

维护表格模型 

 

事件监听器 

 

ActionEvent 动作事件

 

KeyEvent 键盘事件 

 

MouseEvent 鼠标事件 

 

概述

String包的层次结构和继承关系如下 

 

 

 

常用的Swing组件如下表

 

 

 

Swing常用窗体 

JFrame 窗体

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

 

public JFrame():创建一个初始不可见、没有标题的窗体。

public JFrame(String title):创建一个不可见、具有标题的窗体。

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

 

 

JFrame jf = new JFrame(“登录系统”);

 

Container container = jf.getContentPane();

 

 在创建窗体后,先调用getContentPaneO方法将窗体转换为容器,再调用addO方法或者removeO方法向容器中添加组件或者删除容器中的组件。向容器中添加按钮,关键代码如下:

 

JButton okBtn= new JButton(“确定“)

 

container.add(okBtn);

 

删除容器中的按钮,关键代码如下:

 

container.remove(okBtn); 

 

创建窗体后,要对窗体进行设置,如设置窗体的位置、大小、是否可见等。JFrame 类提供的相应方法可实现上述设置操作,具体如下:

 

setBounds(int x, int y, int width, int leight):设置窗体左上角在屏幕中的坐标为(x,y),窗体的宽度为width,窗体的高度为height。

setLocation(int x,int y):设置窗体左上角在屏幕中的坐标为(x,y)。

setSize(int width, int height):设置窗体的宽度为width,高度为height。

setVisibale(boolean b):设置窗体是否可见。b为true时,表示可见;b为false时,表示不可见。setDefaultCloseOperation(int operation):设置窗体的关闭方式,默认值为DISPOSE_ON_CLOSE 

Java 语言提供了多种窗体的关闭方式,常用的有4种,如表18.2所示。

例题18.1

 

import java.awt.*; //导入AWT包

import javax.swing.*; //导入Swing包

public class JFreamTest {

 public static void main(String args[]) { //主方法

  JFrame jf=new JFrame(); //创建窗体对象

  jf.setTitle("创建一个JFream 窗体"); //设置窗体标题

  Container container=jf.getContentPane(); //获取主容器

  JLabel jl=new JLabel("这是一个JLrame 窗体"); //一个文本标签

  jl.setHorizontalAlignment(SwingConstants.CENTER); //使标签上的文字居中

  container.add(jl); //将标签添加到主容器中

  jf.setSize(300, 150); //设置窗体宽高

  jf.setLocation(320,240); //设置窗体在屏幕中出现的位置

  jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); //关闭窗体则停止程序

  jf.setVisible(true); //让窗体展示出来

  }

}//例题18.1

 运行结果如下:

 

 

 

JDialog 对话框 

JDialog 类常用的构造方法如下:

 

public JDialogO:创建一个没有标题和父窗体的对话框。

public JDialog(Frame f):创建一个没有标题,但指定父窗体的对话框。

public JDialog(Frame f, boolean model):创建一个没有标题,但指定父窗体和模式的对话框。如果model为true,那么弹出对话框后,用户无法操作父窗体。

public JDialog(Frame f, String title):创建一个指定标题和父窗体的对话框.。

public JDialog(Frame f, String title, boolean model):创建一个指定标题、父窗体和模式的对话框。

例题18.2

 

 

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

 

class MyJDialog extends JDialog{ //自定义对话框类,继承 JDialog

 public MyJDialog(MyFrame frame) {

  //调用各类构造方法,第一个参数是父窗口,第二个参数是窗体标题,第三个参数表示阻塞父窗体

  super(frame,"第一个JDialog窗体",true);

  Container container =getContentPane();

  container.add(new JLabel("这是一个对话框")); //在容器中添加标签

  setBounds(120,120,100,100); //设置对话框窗体再桌面显示的坐标和大小

  }

 }

public class MyFrame extends JFrame { //自定义窗体类,继承JFrame

public MyFrame(){ //窗体的构造方法

 Container container =getContentPane(); //获得窗体主容器

 container.setLayout(null); //容器使用绝对布局

 JButton bl=new JButton("弹出对话框"); //创建一个按钮

 bl.setBounds(10,10,100,21); //定义按钮在容器中的坐标和大小

 bl.addActionListener(new ActionListener() { //为按钮添加单击事件

  public void actionPerformed(ActionEvent e) { //单击事件触发的方法

   MyJDialog dialog = new MyJDialog(MyFrame.this); //创建MyJDialog对话框

   dialog.setVisible(true); //使对话框可见

  }

 });

 container.add(bl); //将按钮添加到容器中

 setSize(200,200); //窗体的宽高

 setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); //关闭窗体则停止程序

 setVisible(true); //使窗体可见

}

 

 public static void main(String[] args) {

  new MyFrame();

 }

 

}//例题18.2

 运行结果如下:

 

 

 

JOptionPane 小型对话框 

JOptionPane提供了4种创建对话框的方法,如下:

 

 

 

下面分别介绍这4种对话框的外观样式和使用方法

 

 1.自定义对话框

参数说明如下:

 

parentComponent:指明对话框在哪个窗体上显示,如果传入具体的窗体对象,对话框会在该窗体居中位置显示,如果传入null则在屏幕中间弹出对话框。

message:提示的信息。

title:对话框的标题。

optionType:指定可用于对话框的选项的整数:DEFAULT_OPTION、YES NO_OPTION.YES NO_CANCEL_OPTION 或 OK_CANCEL_OPTION。

messageType:指定消息种类的整数,主要用于确定来自可插入外观的图标ERRORMESSAGE、INFORMATION_MESSAGE、WARNING_MESSAGE、QUESTION_MESSAGE 或 PLAIN_MESSAGE。

icon:在对话框中显示的图标。

options:指示用户可能选择的对象组成的数组。如果对象是组件,则可以正确呈现,非String对象使用其toString方法呈现;如果此参数为null,则由外观确定选项。

initialValue:表示对话框的默认选择的对象,只有在使用options 时才有意义,可以为null。

例题18.3

 

import javax.swing.Icon;

import javax.swing.ImageIcon;

import javax.swing.JButton;

import javax.swing.JOptionPane;//例题18.3

 

public class Demo{

 public static void main(String[] args){

  Object o[] ={ new JButton("是的"),new JButton("再想想")}; //按钮对象的Object数组

  Icon icon = new ImageIcon("src/pic.png"); //获取图标对象

  JOptionPane.showOptionDialog(null,

    "你做好准备了吗?",

    "注意了!",

    JOptionPane.DEFAULT_OPTION,

    JOptionPane.DEFAULT_OPTION,

    icon, o, null);

 }

运行结果如下:

 

 

2.确认框 

调出带有选项 Yes、No 和Cancel的对话框;标题为 Select an Option。

static int showConfirmDialog(Component parentComponent, Object message)

 

调出一个由optionType参数确定其中选项数的对话框。

 static int showConfirmDialog(Component parentComponent, Object message, String title, int optionType)

 

调用一个由optionType参数确定其中选项数的对话框,messageType参数确定要显示的图标。

static int showConfirmDialog(Component parentComp

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值