注释很详细,直接上代码
新增内容
1.创建菜单条
2.创建菜单组件
3.创建菜单项组件
4.菜单组件与菜单项组件的嵌套
5.监听菜单组件
6.菜单组件快捷键的设置
7.文本域内容追加
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
public class swing_test_16 {
//创建窗口
private Frame frame = new Frame("窗口标题");
//创建菜单条
private MenuBar menuBar = new MenuBar();
//创建菜单组件
private Menu fileMenu = new Menu("文件");
private Menu editMenu = new Menu("编辑");
private Menu formaMenu = new Menu("格式");
//菜单项组件
//自动换行
MenuItem auto = new MenuItem("自动换行");
//复制
MenuItem copy = new MenuItem("复制");
//粘贴
MenuItem paste = new MenuItem("粘贴");
//注释,快捷键为Ctrl+Shift+Q
MenuItem comment = new MenuItem("注释 Ctrl+Shift+Q",new MenuShortcut(KeyEvent.VK_Q,true));
//取消注释
MenuItem cancelComment = new MenuItem("取消注释");
TextArea ta=new TextArea(6,40);
//组装
public void init() {
//组装视图
//为注释添加事件监听,如果点击则在文本框追加点击了菜单
comment.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
ta.append("您点击了菜单:" + e.getActionCommand());
}
});
//为菜单(格式)添加组件
formaMenu.add(comment);
formaMenu.add(cancelComment);
//为菜单(编辑)添加组件
editMenu.add(auto);
editMenu.add(copy);
editMenu.add(paste);
editMenu.add(formaMenu);
//组装菜单条
menuBar.add(fileMenu);
menuBar.add(editMenu);
//设置菜单条
frame.setMenuBar(menuBar);
frame.add(ta);
frame.pack();
frame.setVisible(true);
}
public static void main(String[] args) {
//调用init方法
new swing_test_16().init();
}
}
演示:
使用快捷键Ctrl+Shift+Q