专栏首页wymJava开发 菜单栏

Java开发 菜单栏

package expression;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;

import javax.swing.ButtonGroup;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;

import org.omg.CORBA.PRIVATE_MEMBER;

public class Text extends JFrame{
	//final ButtonGroup buttonGroup = new ButtonGroup();
	
	public static void main(String[] args){
		Text frame = new Text();
		frame.setVisible(true);
	}
	
	public  Text() {
		super();
		setBounds(200, 200, 500, 500);
		setDefaultCloseOperation(EXIT_ON_CLOSE);
		setTitle("自定义菜单");
		
		
		JMenuBar menuBar = new JMenuBar();//菜单栏
		setJMenuBar(menuBar);//给窗体添加菜单栏
		
		JMenu menu1 = new JMenu("文件");//创建菜单对象
		menuBar.add(menu1);
		
		JMenuItem menuItem1 = new JMenuItem("新建");//创建菜单项对象
		menuItem1.addActionListener(new ItemListener());//添加监听
		menu1.add(menuItem1);
		
		menu1.addSeparator();//添加分隔符
		
		JMenu openMenu = new JMenu("打开");
		menu1.add(openMenu);//菜单中添加菜单 
		
		JMenuItem opennew = new JMenuItem("打开新文件");
		opennew.addActionListener(new ItemListener());
		JMenuItem openold = new JMenuItem("打开旧文件");
		openold.setEnabled(false);
		
		openMenu.add(opennew);
		openMenu.addSeparator();
		openMenu.add(openold);

		menu1.addSeparator();
		
		JMenuItem kpItem = new JMenuItem("保存(S)");
		kpItem.setMnemonic(KeyEvent.VK_S);//添加快捷键
		kpItem.addActionListener(new ItemListener());
		menu1.add(kpItem);
		
		menu1.addSeparator();
		
		JMenuItem exItem = new JMenuItem("退出(E)");
		exItem.setMnemonic(KeyEvent.VK_E);
		exItem.addActionListener(new ItemListener());
		menu1.add(exItem);
		
		Icon icon = new ImageIcon("src/save_as.png");
		kpItem.setIcon(icon);//设置图标
	}
	private class ItemListener implements ActionListener{//监听

		@Override
		public void actionPerformed(ActionEvent e) {
			// TODO Auto-generated method stub
			JMenuItem pI = (JMenuItem)e.getSource();//返回触发动作的组件
							//强制转换
			System.out.println(pI.getText()+"成功");
		}
		
		
	}

}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Java开发 一起来画画(源码)

    用户2965768
  • Bomb Catcher 游戏 (Pygame)

    用户2965768
  • 线程的加入

    用户2965768
  • 【多机器人定位】开源 | 自主式多机器人系统,配备全舰载距离相对定位系统,有效实现定位!

    论文地址: http://arxiv.org/pdf/2003.05853v1.pdf

    CNNer
  • git合并时冲突<<<<<<< HEAD

    根据需要删除代码就行了 完事把<<<<<<< ======= >>>>>>都删掉冲突就解决了

    php007
  • Gearman使用示例

    最近的一个旧项目重构过程中,使用到了gearman这个开源项目,简单来讲,这是一个类似MQ的异步系统,一边派发任务,一边处理任务(有类似MQ中的消息发送方与接收...

    菩提树下的杨过
  • JVM之Class文件结构

    每一个class文件对应一个类或者接口,但是一个类或者接口不一定生成class文件,classloader直接生成。

    WindWant
  • EditText的监听

    因为想做一个类似微信发送按钮的功能,即输入框有内容时就是发送按钮,没内容时是其他附加的功能,所以查了一下edittext的监听事件。具体代码如下 //设置文本变...

    用户1148523
  • 使用Nginx代理restful实现SSL链路加密

    1 目标说明 1.1 调研目的 本次调研主要为了解决两个问题: 不需要对restful的web容器做任何配置,实现对restful链路进行加密; 方便restf...

    囚兔
  • Canvas 图片平铺设置

    /** * 图片平铺 */ function initDemo7(){ var canvas = document.getElementById("...

    就只是小茗

扫码关注云+社区

领取腾讯云代金券