📄 mymenu.java
字号:
/*
* Created on 2006-2-24
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
/**
* @author 之诸暇
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Mymenu implements ActionListener,ItemListener{
private JFrame myframe;
private JMenu fileMenu,editMenu,fontMenu,colorMenu;
private JMenuItem exitItem;
private JCheckBoxMenuItem boldItem,italicItem;
private JRadioButtonMenuItem redItem,greenItem,blueItem;
private ButtonGroup group;
private JMenuBar menuBar;
private JLabel label;
public Mymenu(){
myframe =new JFrame("Menu test");
Container mycontainer = myframe.getContentPane();
mycontainer.setLayout(new FlowLayout());
//创建菜单
fileMenu = new JMenu ("文件(F)");
fileMenu.setMnemonic('F');
editMenu =new JMenu ("编辑(O)");
editMenu.setMnemonic('O');
fontMenu = new JMenu ("字体(S)");
fontMenu.setMnemonic('S');
colorMenu = new JMenu ("颜色(C)");
colorMenu.setMnemonic('S');
//创建菜单项
exitItem = new JMenuItem ("退出");
exitItem.setMnemonic('E');
boldItem = new JCheckBoxMenuItem ("字体(B)");
boldItem.setMnemonic('B');
italicItem = new JCheckBoxMenuItem ("斜体(I)");
italicItem.setMnemonic('I');
redItem = new JRadioButtonMenuItem ("红色");
greenItem = new JRadioButtonMenuItem ("绿色");
blueItem = new JRadioButtonMenuItem ("蓝色");
group = new ButtonGroup ();
group.add(redItem);
group.add(greenItem);
group.add(blueItem);
//对菜单进行监听
exitItem.addActionListener (this);
boldItem.addItemListener(this);
italicItem.addItemListener(this);
redItem.addActionListener(this);
greenItem.addActionListener(this);
blueItem.addActionListener(this);
//将菜单项添加到菜单中
fileMenu.add(exitItem);
editMenu.add(boldItem);
editMenu.add(italicItem);
editMenu.add(fontMenu);
fontMenu.add(boldItem);
fontMenu.add(italicItem);
colorMenu.add(redItem);
colorMenu.add(greenItem);
colorMenu.add(blueItem);
//建立菜单栏
menuBar = new JMenuBar ();
menuBar.add(fileMenu);
menuBar.add(editMenu);
myframe.setJMenuBar(menuBar);
//标签
label = new JLabel ("欢迎来到编程!");
label.setFont(new Font ("SanSerif",Font.PLAIN,18));
mycontainer.add(label);
myframe.setSize(500,300);
myframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
myframe.setVisible(true);
}
public void actionPerformed (ActionEvent e){
String str = e.getActionCommand();
//处理事件
if (str.equals("退出")){
System.exit(0);
}
if (str.equals("红色")){
label.setForeground(Color.red);
}
if (str.equals("绿色")){
label.setForeground(Color.green);
}
if (str.equals("蓝色")){
label.setForeground(Color.blue);
}
}
public void itemStateChanged (ItemEvent e){
int state = e.getStateChange();
JCheckBoxMenuItem source = (JCheckBoxMenuItem) e.getSource();
int style = label.getFont().getStyle();
if (source == boldItem){
if (state == e.SELECTED){
label.setFont(new Font("SansSerif",style+Font.BOLD,18));
}
else {
label.setFont(new Font("SansSerif",style-Font.BOLD,18));
}
}
else {
if (state == e.SELECTED){
label.setFont(new Font("SansSerif",style+Font.ITALIC,18));
}
else {
label.setFont(new Font("SansSerif",style-Font.ITALIC,18));
}
}
}
public static void main(String args[]){
Mymenu menu = new Mymenu ();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -