1

首先,我遇到了层排序问题,这使我的 JInternalFrame 出现在其他组件下。不过,在将 z-order 设置为 0 后,此问题已很快得到解决。

经过少量测试后,我意识到,当鼠标悬停在按钮或表格单元格等其他组件上时,它会“泄漏”到我的 JInternalFrame 上,以某种方式部分失去焦点,如提供的图像所示。内容泄露

我以这种方式添加我的新框架:

    JInternalFrame my = new JInternalFrame( "..", true, true, false, false );
    this.getContentPane().add(my,0);
    my.setSelected(true);
    my.setVisible(true);
    my.toFront();

解决这个问题的最简单方法是什么?

谢谢!

4

2 回答 2

5

始终将 a 添加JInternalFrame到 aJDesktopPane而不是直接添加到 a JFrame

如何使用内部框架

通常,您将内部框架添加到桌面窗格。反过来,桌面窗格可以用作 JFrame 的内容窗格。

于 2012-12-28T20:02:36.507 回答
1

不要更改 z 顺序,而是 - 在 add 方法中,使用:

this.getContentPane().add(my, new Integer(0));

(假设getContentPane()是指一个JDesktopPane

int方法,完全是别的东西。由于存在这种情况,因此不会进行自动装箱...

于 2012-12-28T20:00:10.390 回答