GUI菜单栏
菜单栏
菜单栏组件:
构造方法:JMenuBar();
方法:add(menu); 向菜单栏添加菜单
菜单组件:
构造方法:JMenu(“菜单名称");
方法:add(menuItem); 向菜单添加菜单选项
菜单项组件:
构造方法:JMenuItem(“菜单项名称");
将菜单栏添加到窗口
setJMenuBar(menuBar);
输出
布局管理器
概述:
Java中的图形界面在布局管理上采用容器和布局管理相分离的方案,也
就是说容器只是把组件放进来,但它不管怎样放置。至于如何放置需要
用到布局管理器(Container) 。Java中有几种常用的布局管理器,分
别是:FlowLayout , BorderLayout, GridLayout。
流式布局:java.awt.FlowLayout
1)、FlowLayout
FlowLayout布局管理器是流式布局管理器,它将组件按照从左到右、从上到下的顺序来安排
并在默认情况下使组件尽量居中放置。
this.setLayout(new FlowLayout());
this.add(new Button("确定"));
this.add(new Button("取消"));
FlowLayout布局管理器对组件逐行定位,行内从左到右,一行排满后换行。不改变组件的大小,按组件原有尺寸显示组件,可设置不 同的组件间距,行距以及对齐方式。
由于默认是流失布局所以输出不在展示。
边界布局:java.awt.BorderLayout
● BorderLayout
BorderLayout布局管理器只允许在容器内放置5个组件,这5个组件的位置是由BorderLayout类中的
North、South、East、West和Center5个常量来确定的,他们对应着容器中的上下左右中,用法如下:
this.add(new Button(“按钮”) ,BorderLayout.NORTH);
this.add(new Button(“按钮”) ,BorderLayout.CENTER);
组件在BorderLayout中的大小都是可以改变的。一般情况下可以让中间区域大一些,而且可以只用其中几
个区域。
注意:
● BorderLayout将整个容器的布局划分成东(EAST)西(WEST)南(SOUTH)北(NORTH)中
(CENTER)五个区域,组件只能被添加到指定的区域。
● 如不指定组件的加入部位,则默认加入到CENTER区。
● 每个区域只能加入一个组件,如加入多个,则先前加入的会被覆盖。
输出:
网格布局:java.awt.GridLayout
3)、GridLayout
● GridLayout布局管理器是矩形网格,在网格中放置组件,每个网格的高度和宽
度都相等,组件随着网格的大小而在水平和垂直方向上拉伸,网格的大小是由容器的
大小和创建网格的多少来确定的。其用法如下:
this.setLayout(new GridLayout(2 , 3)); //创建一个2行3列的网格
this.add(new Button(“按钮”));
当组件数目大于网格数时,GridLayout保持行数不变而自动增加列数。
● GridLayout型布局管理器将空间划分成规则的矩形网格,每个单元格区域大小相等。
组件被添加到每个单元格中,先从左到右添满一行后换行,再从上到下。
● 在 GridLayout 构造方法中指定分割的行数和列数.
输出:
事件处理
概述:
● Java中,事件处理的基本思路如下:
● 一个事件源产生一个事件并把它送到监听器那里,监听器一直等待,直
到它收到一个事件,一旦事件被接受,监听器将处理这些事件;
(• 由于我们想要处理按钮的点击事件,因此,按钮便是事件源, 监听器类型是ActionListener)。
● 添加事件监听器(此处即为匿名类)
按钮对象.addActionListener(new ActionListener() {
// 事件处理
@Override
public void actionPerformed(ActionEvent e) {
执行操作
}
})
JOptionPane对话框,showMessageDialog():消息对话框
主要有五种消息类型,类型不同,图标不同:
ERROR_MESSAGE 错误消息提示
INFORMATION_MESSAGE 信息提示
WARNING_MESSAGE 警告提示
QUESTION_MESSAGE 问题提示
PLAIN_MESSAGE 简洁提示
showConfirmDialog():确认对话框
主要有四种消息类型,类型不同,图标不同:
DEFAULT_OPTION YES_NO_OPTION | 默认选项 是/否选项 |
YES_NO_CANCEL_OPTION 是/否/取消选项 | |
OK_CANCEL_OPTION | 确定/取消 |
输出: