Frame框架的典型应用程序
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
GUI编程的核心知识
GUI设计工具,包括下述三个主要概念:
组件:Component(组件类)
容器:Container(容器类)
布局管理器:LayoutManager(布局管理器类)
●常见的组件有:
JLabel(标签):用来在窗口中显示文字的文本框,也是在屏幕上显示图像或文本的一种最简单和快捷的方式。
JButton(按钮组件)是交互式界面常用的组件,用户可以通过点击按钮,控制程序的运行。
JTextField用来处理单行文字;
JTextArea可以做多行文字处理。
●常用的容器有:
框架(JFrame/Frame);
面板(JPanel/Panel);
滚动面板(JScrollPanel/ScrollPanel)等类。
(JPanel/Panel)必须放在(JFrame/Frame)中。可用方法为容器设置其可见性,大小,出现坐标等属性。
●布局管理器的种类:
1)流式布局管理器:FlowLayout
2)边界布局管理器:BorderLayout
3)网格布局管理器:GridLayout
4)卡片布局管理器:CardLayout
5)网格包布局管理器:GridBagLayout
GUI编程的典型示例(熟读之)
编写一个Frame框架应用程序,要求如下:
(1) 在窗口设置两个菜单“文件”、“编辑”
(2) 在“文件”菜单里添加三个菜单项“打开”、“保存”、“关闭”
(3) 在“编辑”菜单里添加两个菜单项“复制”、“粘贴”
(4) 点击关闭菜单项时,使程序关闭。
解答:
import java.awt.Color;
import java.awt.Frame;
import java.awt.Menu;
import java.awt.MenuBar;
import java.awt.MenuItem;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
/*
* 主窗体
*/
public class MyFrame extends Frame {
private static final long serialVersionUID = 6895463895656626294L;
private Frame frmMain; // 窗体
MenuBar mb; // 菜单栏
Menu mnuFile; // "文件"菜单
Menu mnuEdit; // "编辑"菜单
MenuItem miOpen; // "打开"菜单项
MenuItem miSave; // "保存"菜单项
MenuItem miClose; // "关闭"菜单项
MenuItem miCopy; // "复制"菜单项
MenuItem miPaste; // "粘贴"菜单项
public MyFrame() {
frmMain = new Frame("主窗体");
// 创建菜单栏
mb = new MenuBar();
// 创建菜单
mnuFile = new Menu("文件");
mnuEdit = new Menu("编辑");
// 创建菜单项
miOpen = new MenuItem("打开");
miSave = new MenuItem("保存");
miClose = new MenuItem("关闭");
miCopy = new MenuItem("复制");
miPaste = new MenuItem("粘贴");
}
•public void showFrame() { //设置窗体的属性、窗体可见、显示用户界面frmMain.setSize(800, 600); //设置窗体的大小
frmMain.setLocation(100, 100); //设置窗体的位置
frmMain.setBackground(Color.white); //设置窗口背景颜色
frmMain.setVisible(true); //将窗体显示
frmMain.setLayout(null); //布局
frmMain.addWindowListener(new WindowHandler()); // 注册窗口监听器
// 将菜单栏放入窗体中
frmMain.setMenuBar(mb);
// 将菜单放入菜单栏中
mb.add(mnuFile);
mb.add(mnuEdit);
// 将菜单项放入菜单中
mnuFile.add(miOpen);
mnuFile.add(miSave);
mnuFile.add(miClose);
mnuEdit.add(miCopy);
mnuEdit.add(miPaste);
// 注册动作事件监听器
miClose.setActionCommand("miClose_Clicked");
miClose.addActionListener(new MenuHandler());
}
// 定义一个内部类,在这个类中编写“窗口关闭事件”处理程序。
private class WindowHandler extends WindowAdapter {
public void windowClosing(WindowEvent e) {
System.exit(0); // 退出应用程序,状态码0 表示正常终止,非0 表示异常终止。
}
}
// 定义一个内部类,在这个类中编写“动作事件”处理程序。
private class MenuHandler implements ActionListener {