java menubar j_Java JMenu_2

2602472.html

2602472.html

2602472.html

2602472.html

2602472.html

2602472.html

2602472.html

2602472.html

Sans%20titre3.png?psid=1

Sans%20titre%201.png?psid=1

Sans%20titre2.png?psid=1

package com.han;

import java.awt.Dimension;

import java.awt.Rectangle;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.InputEvent;

import java.awt.event.KeyEvent;

import java.awt.image.BufferedImage;

import java.io.IOException;

import java.net.URL;

import javax.imageio.ImageIO;

import javax.swing.ButtonGroup;

import javax.swing.ImageIcon;

import javax.swing.JCheckBoxMenuItem;

import javax.swing.JFrame;

import javax.swing.JMenu;

import javax.swing.JMenuBar;

import javax.swing.JMenuItem;

import javax.swing.JRadioButtonMenuItem;

import javax.swing.KeyStroke;

public class JMenu_2 extends JFrame {

/**

*

*/

private static final long serialVersionUID = 1395124747782445698L;

static Dimension dimension;

public JMenu_2() {

super();

// TODO Auto-generated constructor stub

JMenuBar menuBar = new JMenuBar();

setJMenuBar(menuBar);

JMenu fileMenu = new JMenu("文件(F)");

fileMenu.setMnemonic('F');

menuBar.add(fileMenu);

JMenuItem newItem = new JMenuItem("新建(N)");

newItem.setMnemonic('N');

newItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,

InputEvent.CTRL_MASK));

fileMenu.add(newItem);

newItem.addActionListener(new newItemListener());

JMenu openMenu = new JMenu("打开(O)");

JMenuItem openMenuItem = new JMenuItem("未打开过的(N)");

JMenuItem openMenuItem2 = new JMenuItem("刚打开过的(C)");

fileMenu.add(openMenu);

openMenu.add(openMenuItem);

openMenu.add(openMenuItem2);

openMenu.setMnemonic('O');

openMenuItem.setMnemonic('N');

openMenuItem2.setMnemonic('C');

openMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,

InputEvent.CTRL_MASK | InputEvent.ALT_MASK));

openMenuItem2.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,

InputEvent.CTRL_MASK | InputEvent.ALT_MASK));

openMenuItem.addActionListener(new openMenuItemListener());

openMenuItem2.addActionListener(new openMenuItem2Listener());

fileMenu.addSeparator();

openMenuItem2.setEnabled(false);

JMenuItem saveMenuItem = new JMenuItem("保存(S)");

saveMenuItem.setMnemonic('S');

saveMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,

InputEvent.CTRL_MASK));

fileMenu.add(saveMenuItem);

saveMenuItem.addActionListener(new saveMenuItemListener());

fileMenu.addSeparator();

JMenuItem exitMenuItem = new JMenuItem("退出(E)");

exitMenuItem.setMnemonic('E');

exitMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_E,

InputEvent.CTRL_MASK));

fileMenu.add(exitMenuItem);

exitMenuItem.addActionListener(new exitMenuItemListener());

JMenu editMenu = new JMenu("编辑(E)");

editMenu.setMnemonic('E');

menuBar.add(editMenu);

JMenuItem cutMenuItem = new JMenuItem("剪切(T)");

cutMenuItem.setMnemonic('T');

cutMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_T,

InputEvent.CTRL_MASK));

editMenu.add(cutMenuItem);

cutMenuItem.addActionListener(new cutMenuItemListener());

JMenuItem copyMenuItem = new JMenuItem("复制(C)");

copyMenuItem.setMnemonic('C');

copyMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,

InputEvent.CTRL_MASK));

editMenu.add(copyMenuItem);

copyMenuItem.addActionListener(new copyMenuItemListener());

URL resource = this.getClass().getResource("/images/Luxun.jpg");

BufferedImage imageScaled = null;

BufferedImage in;

try {

in = ImageIO.read(resource);

imageScaled = ImageScale.scale(in, 0.05, 0.05, 1);

} catch (IOException e1) {

// TODO Auto-generated catch block

e1.printStackTrace();

}

ImageIcon imageIcon = new ImageIcon(imageScaled);

copyMenuItem.setIcon(imageIcon);

JMenuItem pasteMenuItem = new JMenuItem("粘贴(P)");

pasteMenuItem.setMnemonic('P');

pasteMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P,

InputEvent.CTRL_MASK));

editMenu.add(pasteMenuItem);

pasteMenuItem.addActionListener(new pasteMenuItemListener());

editMenu.addSeparator();

JMenu fontMenu = new JMenu("字体(F)");

JCheckBoxMenuItem fontMenuItem = new JCheckBoxMenuItem("加粗(B)");

JCheckBoxMenuItem fontMenuItem2 = new JCheckBoxMenuItem("斜体(I)");

/*ButtonGroup buttonGroup2 = new ButtonGroup();

buttonGroup2.add(fontMenuItem);

buttonGroup2.add(fontMenuItem2);*/

editMenu.add(fontMenu);

fontMenu.add(fontMenuItem);

fontMenu.add(fontMenuItem2);

fontMenu.setMnemonic('F');

fontMenuItem.setMnemonic('B');

fontMenuItem2.setMnemonic('I');

fontMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_B,

InputEvent.CTRL_MASK | InputEvent.ALT_MASK));

fontMenuItem2.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_I,

InputEvent.CTRL_MASK | InputEvent.ALT_MASK));

fontMenuItem.addActionListener(new fontMenuItemListener());

fontMenuItem2.addActionListener(new fontMenuItem2Listener());

editMenu.addSeparator();

JMenu attributeMenu = new JMenu("属性(A)");

JRadioButtonMenuItem attributeMenuItem = new JRadioButtonMenuItem(

"只读(R)");

JRadioButtonMenuItem attributeMenuItem2 = new JRadioButtonMenuItem(

"编辑(E)");

ButtonGroup buttonGroup = new ButtonGroup();

buttonGroup.add(attributeMenuItem);

buttonGroup.add(attributeMenuItem2);

editMenu.add(attributeMenu);

attributeMenu.add(attributeMenuItem);

attributeMenu.add(attributeMenuItem2);

attributeMenu.setMnemonic('A');

attributeMenuItem.setMnemonic('R');

attributeMenuItem2.setMnemonic('E');

attributeMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_R,

InputEvent.CTRL_MASK | InputEvent.ALT_MASK));

attributeMenuItem2.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_E,

InputEvent.CTRL_MASK | InputEvent.ALT_MASK));

attributeMenuItem.addActionListener(new attributeMenuItemListener());

attributeMenuItem2.addActionListener(new attributeMenuItem2Listener());

JMenu helpMenu = new JMenu("帮助(H)");

helpMenu.setMnemonic('H');

menuBar.add(helpMenu);

dimension = menuBar.getPreferredSize();

System.out.println(dimension.width + "\t" + dimension.height);

}

// action listener procession

private class newItemListener implements ActionListener {

@Override

public void actionPerformed(ActionEvent e) {

// TODO Auto-generated method stub

}

}

private class openMenuItemListener implements ActionListener {

@Override

public void actionPerformed(ActionEvent e) {

// TODO Auto-generated method stub

}

}

private class openMenuItem2Listener implements ActionListener {

@Override

public void actionPerformed(ActionEvent e) {

// TODO Auto-generated method stub

}

}

private class saveMenuItemListener implements ActionListener {

@Override

public void actionPerformed(ActionEvent e) {

// TODO Auto-generated method stub

}

}

private class exitMenuItemListener implements ActionListener {

@Override

public void actionPerformed(ActionEvent e) {

// TODO Auto-generated method stub

}

}

private class cutMenuItemListener implements ActionListener {

@Override

public void actionPerformed(ActionEvent e) {

// TODO Auto-generated method stub

}

}

private class copyMenuItemListener implements ActionListener {

@Override

public void actionPerformed(ActionEvent e) {

// TODO Auto-generated method stub

}

}

private class pasteMenuItemListener implements ActionListener {

@Override

public void actionPerformed(ActionEvent e) {

// TODO Auto-generated method stub

}

}

private class fontMenuItemListener implements ActionListener {

@Override

public void actionPerformed(ActionEvent e) {

// TODO Auto-generated method stub

}

}

private class fontMenuItem2Listener implements ActionListener {

@Override

public void actionPerformed(ActionEvent e) {

// TODO Auto-generated method stub

}

}

private class attributeMenuItemListener implements ActionListener {

@Override

public void actionPerformed(ActionEvent e) {

// TODO Auto-generated method stub

}

}

private class attributeMenuItem2Listener implements ActionListener {

@Override

public void actionPerformed(ActionEvent e) {

// TODO Auto-generated method stub

}

}

public static void main(String[] args) {

JMenu_2 frame = new JMenu_2();

frame.setTitle("订制个性化菜单");

frame.setVisible(true);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

Rectangle rectangle = new Rectangle(100, 100, dimension.width + 300,

dimension.width + 100);

frame.setBounds(rectangle);

}

}

2602472.html

2602472.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值