移动到Mac OS X上的另一个屏幕/桌面/显示器时,Java Swing应用程序窗口消失

Gre*_*tes 16 java macos swing

每当我用鼠标从一台显示器拖动到另一台显示器时,我的Java Swing应用程序窗口就会消失.当我拖动它时它是可见的,但是当我释放鼠标按钮时它会立即消失.我宁愿窗户没有消失.为什么它会消失?

当我激活Mission Control时,Swing Window出现在桌面底部,我拖动它.取消激活任务控制会使其从屏幕底部滑落.

我运行的Java Swing应用程序无关紧要.对于那些想要代码的人来说,这是一个简单的Java Swing应用程序,它展示了我正在描述的行为,享受:

import java.awt.*;
import javax.swing.*;

class SimpleSwing {
    public static void main(final String... args) {
        SwingUtilities.invokeLater(new Runnable() {
                @Override public void run() {
                    JFrame frame = new JFrame();
                    JPanel contentPane = new JPanel();
                    contentPane.add(new JLabel("Hello World!"));
                    frame.setContentPane(contentPane);
                    frame.pack();
                    frame.setVisible(true);
                }
            });
    }
}
Run Code Online (Sandbox Code Playgroud)

我的环境是Mac OS X Yosemite上的Oracle Java JDK(撰写本文时的最新版本)(撰写本文时最新):

java version "1.8.0_40"
Java(TM) SE Runtime Environment (build 1.8.0_40-b27)
Java HotSpot(TM) 64-Bit Server VM (build 25.40-b25, mixed mode)

OS X Yosemite Version 10.10.2 (14C1510)
Darwin Kernel Version 14.1.0
Run Code Online (Sandbox Code Playgroud)

mar*_*aca 1

请尝试以下操作:

  1. 转至系统偏好设置 > 显示 > 排列
  2. 将两个矩形完美对齐
  3. 看看是否有效
  4. 如果没有,请更改 2 个矩形的顺序(以及显示器或以不同的方式插入它们)

希望这有帮助,但我不确定这是否是解决方案。