import java.awt.*;
import java.awt.event.*; public class SimpleMenu {
private Frame f = new Frame("test");
private MenuBar mb = new MenuBar();
Menu file = new Menu("file");
Menu edit = new Menu("edit"); PopupMenu pop = new PopupMenu(); MenuItem crateItem = new MenuItem("create");
MenuItem saveItem = new MenuItem("save"); MenuItem exitItem = new MenuItem("exit",
new MenuShortcut(KeyEvent.VK_X)); CheckboxMenuItem autoWrap = new CheckboxMenuItem("autoWrap"); MenuItem copyItem = new MenuItem("copy");
MenuItem pasteItem = new MenuItem("paste"); Menu format = new Menu("format");
/*ctrl + shift + / */
MenuItem commentItem = new MenuItem("comment", new MenuShortcut(KeyEvent.VK_SLASH,true)); MenuItem cancelItem = new MenuItem("cancelComment");
private TextArea ta = new TextArea(,); public void init(){
ActionListener menuListener = e -> {
var cmd = e.getActionCommand();
ta.append(" click " + cmd + " menu " + " \n ");
if(cmd.equals("exit")){
System.exit();
}
}; commentItem.addActionListener(menuListener);
exitItem.addActionListener(menuListener); pop.add(autoWrap);
pop.addSeparator();
pop.add(copyItem);
pop.add(pasteItem); pop.add(new MenuItem("-"));
pop.add(format); final Panel p = new Panel();
p.setPreferredSize(new Dimension(,));
p.add(pop);
p.addMouseListener(new MouseAdapter() {
@Override
public void mouseReleased(MouseEvent e) {
if (e.isPopupTrigger()){
pop.show(p, e.getX(), e.getY());
}
}
}); // file.add(crateItem);
// file.add(saveItem);
// file.add(exitItem);
//
// edit.add(autoWrap);
// edit.addSeparator();
// edit.add(copyItem);
// edit.add(pasteItem); format.add(commentItem);
format.add(cancelItem); // edit.add(new MenuItem("-"));
// edit.add(format); //
// mb.add(file);
// mb.add(edit); f.add(p); f.setMenuBar(mb);
f.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
System.exit();
}
}); f.add(ta, BorderLayout.NORTH);
f.pack();
f.setVisible(true); } public static void main(String[] args) {
new SimpleMenu().init();
} }

output:

learning java AWT 右键菜单的更多相关文章

  1. learning java AWT MenuBar Menu MenuItem菜单

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

  2. learning java AWT 剪贴板 传递文本

    import javax.swing.*; import java.awt.*; import java.awt.datatransfer.Clipboard; import java.awt.dat ...

  3. learning java AWT 手绘窗口

    import java.awt.*;port java.awt.event.ActionListener; import java.awt.event.MouseAdapter; import jav ...

  4. learning java AWT 画图

    import javax.swing.*; import java.awt.*; import java.util.Random; public class SimpleDraw { private ...

  5. learning java AWT widowEvent and MouseEvent

    import java.awt.*; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import jav ...

  6. learning java AWT EventQs

    import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.Ac ...

  7. learning java AWT Dialog

    import java.awt.*; public class DialogTest { Frame f = new Frame("test"); Dialog d1 = new ...

  8. learning java AWT 常见组件

    import javax.swing.*; import java.awt.*; public class CommonComponent { Frame f = new Frame("te ...

  9. learning java AWT BoxLayout布局管理器

    import javax.swing.*; import java.awt.*; public class BoxSpaceTest { private Frame f = new Frame(&qu ...

随机推荐

  1. REST Framework接口规范

    REST Framework接口规范 一 .发展及其背景介绍 网络应用程序,分为前端和后端两个部分.当前的发展趋势,就是前端设备层出不穷(手机.平板.桌面电脑.其他专用设备-).因此,必须有一种统一的 ...

  2. 如何将 Redis 用于微服务通信的事件存储

    来源:Redislabs作者:Martin Forstner 翻译:Kevin (公众号:中间件小哥) 以我的经验,将某些应用拆分成更小的.松耦合的.可协同工作的独立逻辑业务服务会更易于构建和维护.这 ...

  3. 手贱删了一些不该删的东西,导致git pull每次都要输入账号密码...

    解决办法: 输入一次账号密码,然后git工程目录下执行  git config --global credential.helper store 就妥了.

  4. GitHub Action一键部署配置,值得拥有

    最近由于自己的个人应用增加,每次都需要在服务器手动发布,觉得特别麻烦,所以想通过代码控制自动发布,直接选择了GitHub Action. GitHub Action持续集成服务,目前已经免费开放使用, ...

  5. ChipGenius 识别U盘主控信息

    ChipGenius 识别U盘主控信息 ================== End

  6. native function 'Window_sendPlatformMessage' (4 arguments) cannot be found

    https://github.com/pauldemarco/flutter_blue/issues/140 https://github.com/flutter/flutter/issues/168 ...

  7. 【转载】C#中List集合使用Last方法获取最后一个元素

    在C#的List集合操作过程中,如果要获取List集合中的最后一个元素对象,则一般会先通过获取到list集合的个数Count属性,然后再使用索引的方式获取到该集合的最后一个位置的元素信息.其实在Lis ...

  8. 4.linux下配置Golang的环境变量

    装好linux后优先在linux上配置Golang开发环境. 1.到Go语言中文网下载Linux安装包 https://studygolang.com/dl 2.到下载的目录下解压,下载的文件一般在“ ...

  9. JavaScript 数组去重的那几种方法

    数组去重是最常见的面试题,现在总结一下我所知道的几种 首先第一个就是es5 最常见的循环比较 var array= [1, 1, 2]; function test(nums) { for (var ...

  10. shell 字符串截取表达式

    ${var#str} 从左向右匹配,非贪婪匹配,截取并保留右边的内容 txt='123456abc123456' echo ${txt#*34} # 56abc123456 ${var##str} 从 ...