加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – Java Swing – 当JFrame最大化时,鼠标指针在上下文菜单

发布时间:2020-12-13 23:06:01 所属栏目:Linux 来源:网络整理
导读:在最大化JFrame时,我遇到了Swing处理鼠标位置的奇怪行为: 当我执行这个非常简单的代码时…… public class Test { public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { @Override public void run() { JFrame frame = n
在最大化JFrame时,我遇到了Swing处理鼠标位置的奇怪行为:

当我执行这个非常简单的代码时……

public class Test {
    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                JFrame frame = new JFrame();

                JMenuBar menubar = new JMenuBar();
                JMenu menu = new JMenu("File");
                menu.add(new JMenuItem("New"));
                menubar.add(menu);
                frame.setJMenuBar(menubar);

                frame.setSize(200,200);
                frame.setLocationRelativeTo(null);
                frame.setVisible(true);
            }
        });
    }
}

…我通常可以点击文件(首次点击 – 按,发布) – >新的(第二次点击).但是当我最大化JFrame并单击文件时 – 上下文菜单会立即在鼠标释放时消失.
此外,当我按住鼠标按钮 – 以防止消失 – 我必须进一步移动鼠标以关注新项目.

红点代表区域(或多或少),按下文件并按住鼠标按钮后,我必须将鼠标移动到焦点上.

我在使用“右键单击上下文菜单”时观察到相同的行为,例如右键单击JFreeChart中的图表时.

我认为这是JDK问题,因为我使用的是Oracle的JDK,但在安装OpenJDK之后我得到了相同的结果.

有人观察到这种奇怪的行为吗?还是我错过了一些明显的东西?

我用:

> 1.7.0_147-icedtea(或java-7-oracle的1.7.0_04)
> OpenJDK运行时环境(IcedTea7 2.0)(7~b147-2.0-0ubuntu0.11.10.1)
> OpenJDK 64位服务器VM(内置21.0-b17,混合模式)
> Linux Mint 12(lisa)GNOME 3.2.1

解决方法

是的 – 这是JDK7中的一个错误,如@nIcE cOw所述.

我已经安装了JDK6,我无法重现这个bug.

java version "1.6.0_23"
OpenJDK Runtime Environment (IcedTea6 1.11pre) (6b23~pre11-0ubuntu1.11.10.2)
OpenJDK 64-Bit Server VM (build 20.0-b11,mixed mode)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读