Apache技术文档:Java Swing 实例
"Apache技术文档主要涵盖了如何在Java Swing环境中创建一个包含菜单栏和工具栏的窗口应用。这个示例代码展示了如何初始化一个 JFrame,设置窗口大小和位置,以及添加组件如JTextArea、JMenuBar、JToolBar和JMenuItem。此外,它还涉及到键盘快捷键的设定。" Apache技术文档中的这一部分主要讲解了Java GUI编程,特别是使用Swing库来构建用户界面。Swing是Java的一个图形用户界面(GUI)工具包,它是Java Foundation Classes (JFC)的一部分,用于构建桌面应用程序。 1. JFrame初始化:`MenuAndToolFrame` 类继承自 `JFrame`,这是Swing中的顶级容器,用于创建窗口。在构造函数中,通过 `Toolkit.getDefaultToolkit().getScreenSize()` 获取屏幕尺寸,并将窗口的大小设置为屏幕宽度的一半和高度的一半,然后使用 `setLocation` 方法设置窗口在屏幕上的位置。 2. 窗口可调整大小:`setResizable(true)` 允许用户改变窗口的大小。 3. 标题设置:`setTitle("ı༭")` 设置窗口的标题,这里看起来可能是字符编码问题,实际应用中应该使用合适的字符串。 4. 添加组件:`editPanel` 是一个自定义的类,可能包含一个 `JTextArea`。`add(editPanel)` 将编辑面板添加到窗口中。`JMenuBar` 用于创建菜单栏,`JToolBar` 用于创建工具栏,两者都是增强用户交互的重要组件。 5. 菜单栏和菜单项:创建了一个名为 `FileMenu` 的 `JMenu`,并添加了两个菜单项 `NewItem` 和 `OpenItem`,分别代表“新建”和“打开”功能。通过 `ActionTest` 类(可能是一个自定义的 `Action` 类)来实现这些功能的行为。同时,使用 `KeyStroke` 来设定快捷键,如 `CTRL+N` 对应“新建”,`CTRL+O` 对应“打开”。 6. 工具栏组件:创建了两个 `JToolBar`,`jtoolBar1` 添加了一个 `JCheckBox`,而 `jtoolBar` 添加了一个 `JButton`,并且将 `jtoolBar1` 添加到 `jtoolBar` 中,最后将 `jtoolBar` 添加到窗口的菜单栏上。 7. 键盘快捷键:`setAccelerator` 方法用来设置菜单项的快捷键,这样用户可以通过键盘快速触发相应的操作。 这个文档片段虽然不完整,但展示了Java Swing创建基本GUI应用的基本步骤,包括窗口、菜单栏、工具栏和快捷键的创建和配置。在实际开发中,还需要考虑更多的交互逻辑、事件处理以及错误处理等内容。
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class MenuAndToolFrame extends JFrame
{
public MenuAndToolFrame()
{
Toolkit kit = Toolkit.getDefaultToolkit();
Dimension screenSize = kit.getScreenSize();
int width = screenSize.width;
int height = screenSize.height;
setSize(width/2,height/2);
setLocation(width/4,height/4);
setTitle("文本编辑器");
setResizable(true);
editPanel = new EditPanel();
JtextArea = editPanel.getTextArea();
add(editPanel);
JMenuBar jmenuBar = new JMenuBar();
jtoolBar1 = new JToolBar("工具栏2");
jtoolBar = new JToolBar("工具栏");
jtoolBar.add(new JButton("字体"));
jtoolBar1.add(new JCheckBox("观感"));
setJMenuBar(jmenuBar);
JMenu FileMenu = new JMenu("文件");
JMenuItem NewItem = FileMenu.add(new ActionTest("新建"));
NewItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,InputEvent.CTRL_DOWN_MASK));
JMenuItem OpenItem = FileMenu.add(new ActionTest("打开"));
OpenItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,InputEvent.CTRL_DOWN_MASK));
FileMenu.addSeparator();
JMenuItem SaveItem = FileMenu.add(new ActionTest("保存"));
SaveItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_DOWN_MASK));
JMenuItem SaveasItem = FileMenu.add(new ActionTest("另存为"));
SaveasItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A,InputEvent.CTRL_DOWN_MASK));
FileMenu.addSeparator();
JMenuItem ExitItem = new JMenuItem("退出");
ExitItem.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent event)
{
System.exit(0);
}
});
FileMenu.add(ExitItem);
JMenu EditMenu = new JMenu("编辑");
ActionTest CancelAction = new ActionTest("撤消");
PictureAction CopyAction = new PictureAction("复制",new ImageIcon("copy.gif"));
PictureAction PastAction = new PictureAction("粘贴",new ImageIcon("paste.gif"));
PictureAction CutAction = new PictureAction("剪切",new ImageIcon("cut.gif"));
剩余6页未读,继续阅读
- 粉丝: 0
- 资源: 12
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- ASP.NET数据库高级操作:SQLHelper与数据源控件
- Windows98/2000驱动程序开发指南
- FreeMarker入门到精通教程
- 1800mm冷轧机板形控制性能仿真分析
- 经验模式分解:非平稳信号处理的新突破
- Spring框架3.0官方参考文档:依赖注入与核心模块解析
- 电阻器与电位器详解:类型、命名与应用
- Office技巧大揭秘:Word、Excel、PPT高效操作
- TCS3200D: 可编程色彩光频转换器解析
- 基于TCS230的精准便携式调色仪系统设计详解
- WiMAX与LTE:谁将引领移动宽带互联网?
- SAS-2.1规范草案:串行连接SCSI技术标准
- C#编程学习:手机电子书TXT版
- SQL全效操作指南:数据、控制与程序化
- 单片机复位电路设计与电源干扰处理
- CS5460A单相功率电能芯片:原理、应用与精度分析