java制作菜单教程_Java菜单和工具栏学习教程

本文是一篇关于Java中创建菜单栏JMenuBar和工具栏JToolBar的教程。通过实例展示了如何添加菜单项、设置快捷键,并创建响应用户操作的监听器。此外,还介绍了JToolBar的构造方法和组件添加。

Java菜单和工具栏学习教程

引导语:工具栏是显示位图式按钮行的控制条,位图式按钮用来执行命令。以下是百分网小编分享给大家的Java菜单和工具栏学习教程,欢迎阅读!

4488c39ab1fb12533be6b74326a06e80.png

1.1 菜单和工具栏

菜单和工具栏可提供简单明了的指示说明,让用户非常方便的完成软件操作。利用菜单可以将程序功能模块化。

1.1.1 JMenuBar 菜单

菜单的组织方式为:一个菜单条 (JMenuBar)中可以包含多个菜单(JMenu),一个菜单中可以包含多个菜单项(JMenuItem及其子类)。有一些支持菜单的组件,如JFrame、JDialog以及JApplet,都有一个setMenuBar(JMenuBar bar)方法,可以利用这个方法来设置菜单条。

菜单项是菜单系统中最基本的组件,用户与菜单的交互主要是菜单项的交互,因此事件处理也是针对菜单项的。当用户选择了某个菜单项,就会触发一个ActionEvent事件,可以编写相应的类实现ActionListener接口对该事件进行处理。

例1-1演示了如何创建一个完整的菜单系统,可以通过点击菜单项让菜单项做出反应。

import java.awt.*;

import javax.swing.*;

import java.awt.event.*;

class JMenuBarTest extends JFrame{

private JMenuBar bar = new JMenuBar();

private JMenu menuFile = new JMenu("文件");

private JMenuItem itemFile1 = new JMenuItem("新建");

private JMenuItem itemFile2 = new JMenuItem("打开");

private JMenuItem itemFile3 = new JMenuItem("保存");

private JMenuItem itemFile4 = new JMenuItem("退出");

private JMenu menuHelp = new JMenu("帮助");

private JMenuItem itemHelp1 = new JMenuItem("帮助主题");

private JMenuItem itemHelp2 = new JMenuItem("关于记事本");

private JTextArea ta = new JTextArea(10,30);

public JMenuBarTest(String title){

super(title);

//设置快捷键

itemFile1.setAccelerator(KeyStroke.getKeyStroke('N',KeyEvent.CTRL_MASK));

itemFile2.setAccelerator(KeyStroke.getKeyStroke('O',KeyEvent.CTRL_MASK));

itemFile3.setAccelerator(KeyStroke.getKeyStroke('S',KeyEvent.CTRL_MASK));

itemFile4.setAccelerator(KeyStroke.getKeyStroke('E',KeyEvent.CTRL_MASK));

//添加JMenuItem到JMenu

menuFile.add(itemFile1);

menuFile.add(itemFile2);

menuFile.add(itemFile3);

menuFile.addSeparator();//加分割线

menuFile.add(itemFile4);

menuHelp.add(itemHelp1);

menuHelp.addSeparator();//加分割线

menuHelp.add(itemHelp2);

//添加JMenu到JBar

this.setJMenuBar(bar);

bar.add(menuFile);

bar.add(menuHelp);

Container contentPane = this.getContentPane();

contentPane.add(ta);

pack();

this.setVisible(true);

//注册监测器

itemFile1.addActionListener(new MyActionListener());

itemFile2.addActionListener(new MyActionListener());

itemFile3.addActionListener(new MyActionListener());

itemFile4.addActionListener(new MyActionListener());

itemHelp1.addActionListener(new MyActionListener());

itemHelp2.addActionListener(new MyActionListener());

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

private class MyActionListener implements ActionListener{

public void actionPerformed(ActionEvent e) {

ta.setText("您按下了菜单项:"+e.getActionCommand());

}

}

}

public class Test1_1 {

public static void main(String[] args) {

new JMenuBarTest("记事本");

}

}

1.1.2 JToolBar 工具栏

JToolBar(工具栏)是提供快速访问常用菜单命令的一个按钮栏,一般和菜单栏一起出现,当然也可独立出现。

JToolBar提供了四个构造方法用于创建JToolBar对象。

表1-13 JToolBar构造方法

构造方法说明

JToolBar()创建新的工具栏;默认的方向为 HORIZONTAL

JToolBar(int orientation)创建具有指定 orientation 的.新工具栏

JToolBar(String name)创建一个具有指定 name 的新工具

JToolBar(String name,

int orientation)

创建一个具有指定 name 和 orientation 的新工具栏各参数意义:

name - 工具栏的名称

orientation - 初始方向,值可为 HORIZONTAL(水平方向) 或 VERTICAL (垂直方向)

工具栏的添加很简单,直接使用JFrame的add方法即可完成添加,工具栏内可添加按钮等组件。

例1-9演示了单独的一个工具栏,该程序未添加事件处理,若要添加事件处理,实际上是对添加到工具栏内的组件的事件处理,如添加JButton则可处理ActionEvent事件。

Java漂亮的树形菜单制作实例(源码),森林状的关系图,文本域,用于显示点击的节点名称,使用了JTree,可以看作是一个jTree的用法演示实例。树形菜单应用广泛,这个Tree制作漂亮,相信会让很多朋友从中学习到实现的方法,效果如演示截图所示。下面是相关的代码片段:   DefaultMutableTreeNode root = new DefaultMutableTreeNode("设置"); //生成根节点   DefaultMutableTreeNode node1=new DefaultMutableTreeNode("常规"); //生成节点一   node1.add(new DefaultMutableTreeNode("默认路径")); //增加新节点到节点一上   node1.add(new DefaultMutableTreeNode("保存选项"));   root.add(node1); //增加节点一到根节点上   root.add(new DefaultMutableTreeNode("界面"));   root.add(new DefaultMutableTreeNode("提示声音"));   root.add(new DefaultMutableTreeNode("打印"));   JTree tree = new JTree(root); //得到JTree的实例   DefaultTreeCellRenderer renderer = (DefaultTreeCellRenderer)tree.getCellRenderer(); //得到JTree的Renderer   renderer.setLeafIcon(null); //设置叶子节点图标为空   renderer.setClosedIcon(null); //设置关闭节点的图标为空   renderer.setOpenIcon(null); //设置打开节点的图标为空   tree.addTreeSelectionListener(new TreeSelectionListener() {//选择节点的事件处理   public void valueChanged(TreeSelectionEvent evt) {   TreePath path = evt.getPath(); //得到选择路径   String info=path.getLastPathComponent().toString(); //得到选择的节点名称   jtfInfo.setText(info); //在文本域中显示名称   }
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值