当前位置: 首页 > 知识库问答 >
问题:

设置JMenuItem加速器文本,而不仅仅是操作

车诚
2023-03-14

对于我的摆动应用程序,JMenuItem的加速器设置如下:

JMenuItem numFieldsMI = new JMenuItem("Set Number of Fields");
numFieldsMI.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_3,
         ActionEvent.CTRL_MASK+ActionEvent.SHIFT_MASK));

当GUI初始化时,这会使菜单项旁边的文本为“Ctrl Shift 3”,但当然意图是文本为“Ctrl#”。我怎么做?

共有1个答案

郑和泰
2023-03-14

改变

numFieldsMI.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_3,
         ActionEvent.CTRL_MASK+ActionEvent.SHIFT_MASK));

numFieldsMI.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_3,
         ActionEvent.CTRL_MASK ***|*** ActionEvent.SHIFT_MASK));
 类似资料:
  • 我有一个方法应该用新内容覆盖当前文件,但是FileWriter()只是附加新内容,而不是覆盖旧内容。 这是我的FileWriter的设置方式 这是保存方法 当我运行此方法时会出现问题,它没有覆盖文件,而是将新内容附加到文件中。 我想要的: 发生了什么:

  • 我不能再用加速器了。JMenuItem在菜单中正确地显示为已启用,我可以用鼠标单击它(我的ActionListener正常工作),但加速器不工作--所以我不能再用Ctrl+C启动“Connect”了。 你们中有谁知道这个问题是什么或者我该如何避免它吗? 其他菜单项的加速器(但没有beeing暂时禁用)正在工作。打电话时 下面是一个程序的小代码,它不对键击Ctrl+C做出反应,它连接到一个菜单项:

  • 当我试图发布我的联系表单时,我收到一个控制台错误,即我的Lambda、SE、API网关、Cloudfront备用源配置不能从子域“www.example.com”运行,而它可以从“example.com”运行。我如何允许联系表单避免多个(子)域上的任何问题?控制台中的错误告诉我以下信息: “跨源请求被阻止:同一源策略不允许读取https://example.com/rest/contact.中的远

  • 我的RecycerView包含图像按钮,这些按钮是星形按钮。因此,当用户单击imagebutton时,它必须变成黄色。当用户再次单击此图像按钮时,它必须变成灰色。我将按钮的位置和状态保存在HashMap中。状态可以是-1或1。当它是1时,按钮变成黄色;当它是-1时,按钮变成灰色。 我做的第一件事是为onBindViewHolder方法中的每个位置设置一个状态,就像为hashMap中的每个位置设置一

  • 切换到 JDK8 后,清单。MF Attributes 开始返回 https://bugs.openjdk.java.net/browse/JDK-8201636 这表明这是 Oracle 在 JDK 8u151-8u172 中引入的一个错误。 我使用pom.xml和IntelliJ IDEA。指定(标签 < br > < code > JAVA _ HOME 设置为JDK10 我安装了< cod

  • 问题内容: 现在,我有一个JMenu和其中的一些JMenuItems。我希望程序在JMenu和JMenuItem的状态更改为“已选择”时执行一些操作。我不使用MouseLitener的MouseOver,因为我希望用户也能够使用键盘在菜单中导航。现在,我写了这个监听器: 当我将此侦听器添加到JMenu时,它可以正常工作,但是当我将其添加到JMenuItem时,什么也没有发生…当我删除if语句以使侦