Java Swing 应用程序窗口在移动到 Mac OS X 上的另一个屏幕/桌面/显示器时消失
每当我用鼠标将 Java Swing 应用程序窗口从一台显示器拖动到另一台显示器时,它都会消失。当我拖动它时,它是可见的,但是当我释放鼠标按钮时,它会立即消失。我宁愿窗户没有消失。为什么它会消失?
当我激活任务控制时,Swing 窗口会出现在我拖动它的桌面底部。停用任务控制中心会导致其从屏幕底部滑落。
我运行哪个 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);
}
});
}
}
我的环境是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