您当前的位置: 首页 > 学无止境 > 心得笔记 网站首页心得笔记
【第18章:图形界面】_菜单组件
发布时间:2021-01-18 18:54:45编辑:雪饮阅读()
javax.swing.Jframe类的setJMenuBar方法可以为一个窗体设置菜单栏
import java.awt.event.ActionListener ;
import java.awt.event.ActionEvent ;
import java.io.File ;
import javax.swing.JFrame ;
import javax.swing.ImageIcon ;
import javax.swing.JTextArea ;
import javax.swing.JScrollPane ;
import javax.swing.JMenu ;
import javax.swing.KeyStroke ;
import javax.swing.JMenuBar ;
import javax.swing.JMenuItem ;
public class Hello{
public static void main(String args[]) throws Exception{
JFrame frame = new JFrame("Welcome To kasumi") ;
//可编辑的窗体内容区域
//方便静态方法中内部类使用,所以该变量用final修饰
final JTextArea text = new JTextArea() ;
text.setEditable(true) ; // 可编辑
frame.getContentPane().add(new JScrollPane(text)) ;
//窗体工具栏创建菜单项“文件”
JMenu menuFile = new JMenu("文件") ;
menuFile.setIcon(new ImageIcon("d:"+File.separator+"icons"+File.separator+"file.gif")) ;
//创建菜单栏并添加“文件”bar
JMenuBar menuBar = new JMenuBar() ;
menuBar.add(menuFile) ;
//定义“文件”菜单的四个子菜单
JMenuItem newItem = new JMenuItem("新建",new ImageIcon("d:"+File.separator+"icons"+File.separator+"new.gif")) ;
JMenuItem openItem = new JMenuItem("打开",new ImageIcon("d:"+File.separator+"icons"+File.separator+"open.gif")) ;
JMenuItem closeItem = new JMenuItem("关闭",new ImageIcon("d:"+File.separator+"icons"+File.separator+"close.gif")) ;
JMenuItem exitItem = new JMenuItem("退出",new ImageIcon("d:"+File.separator+"icons"+File.separator+"exit.gif")) ;
//分别为“文件”菜单的四个子菜单设置快捷键(仅显示给用户)
newItem.setMnemonic('N') ;
openItem.setMnemonic('O') ;
closeItem.setMnemonic('C') ;
exitItem.setMnemonic('E') ;
//分别为“文件”菜单的四个子菜单设置快捷键的功能实现,分别设置快捷键的依赖键
newItem.setAccelerator(KeyStroke.getKeyStroke('N',java.awt.Event.CTRL_MASK)) ;//ctrl+n
openItem.setAccelerator(KeyStroke.getKeyStroke('O',java.awt.Event.CTRL_MASK)) ;
closeItem.setAccelerator(KeyStroke.getKeyStroke('C',java.awt.Event.ALT_MASK)) ;
exitItem.setAccelerator(KeyStroke.getKeyStroke('E',java.awt.Event.ALT_MASK)) ;
//分别为“文件”菜单的四个子菜单监听事件,当触发对应事件就向可编辑区域输出对应信息
newItem.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
text.append("=== 选择了“新建”菜单项\n") ;
}
}) ;
openItem.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
text.append("=== 选择了“打开”菜单项\n") ;
}
}) ;
closeItem.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
text.append("=== 选择了“关闭”菜单项\n") ;
}
}) ;
exitItem.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
text.append("=== 选择了“退出”菜单项\n") ;
}
}) ;
//将四个子菜单添加到“文件”菜单中
menuFile.add(newItem) ;
menuFile.add(openItem) ;
menuFile.add(closeItem) ;
menuFile.add(exitItem) ;
//为当前窗体设置菜单栏
frame.setJMenuBar(menuBar);
frame.setVisible(true) ;
frame.setSize(300,100) ;
frame.setLocation(300,200) ;
}
};
关键字词:java,菜单