在最大化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);
}
});
}
}
我通常可以点击 File
(第一次点击-按下,释放)-> New
(第二次点击)。但是当我最大化JFrame并点击 File
时,上下文菜单会立即在鼠标释放时消失。
此外,当我按住鼠标按钮以防止其消失时,我必须将鼠标移动得更远才能聚焦到 New
项目。
红点表示我必须移动鼠标的区域(或多或少),以便在按下 File
并按住鼠标按钮后聚焦到 New
。
当右键单击来自JFreeChart的图表时,我观察到了相同的行为。
我认为这是JDK问题,因为我使用了Oracle的JDK,但安装OpenJDK后结果相同。
有人观察到这种奇怪的行为吗?还是我错过了一些明显的东西?
我使用:
- 1.7.0_147-icedtea(或java-7-oracle的1.7.0_04)
- OpenJDK Runtime Environment(IcedTea7 2.0)(7〜b147-2.0-0ubuntu0.11.10.1)
- OpenJDK 64位Server VM(构建21.0-b17,混合模式)
- Linux Mint 12(lisa)GNOME 3.2.1