JInternalFrame底部阴影问题

时间:2015-10-16 20:57:39

标签: java swing jinternalframe

我正在创建一个使用许多JInternalFrame的应用程序,但每当我向JDesktopPane添加一个时,内部框架的底部阴影是不透明的,深灰色,如下所示。这是一个外观和问题的问题,有没有办法解决这个问题而不完全删除阴影?

enter image description here

编辑:这是一些可运行的代码,它演示了一个内部框架,即使使用最基本的形式也存在底部阴影的问题:

public static void main(String[] args) {
    JDesktopPane pane = new JDesktopPane();
    JFrame frame = new JFrame();
    frame.setPreferredSize(new Dimension(600, 400));
    pane.setVisible(true);
    frame.add(pane);
    JInternalFrame intFrame = new JInternalFrame();
    intFrame.setSize(new Dimension(200, 100));
    intFrame.setVisible(true);
    intFrame.setResizable(true);
    pane.add(intFrame);
    frame.pack();
    frame.setVisible(true);

}

2 个答案:

答案 0 :(得分:2)

您已直接覆盖paint(Component)的{​​{1}}而非使用JInternalFrame之类的内容,使用其JPanel方法进行自定义绘制,然后将其添加到paintComponent' JInternalFrame

就像contentPane一样,JFrame有一个JInternalFrame,其JRootPane并且所有这些都包含在一个框架装饰中,通过覆盖它{{1}直接,你实际上是在框架装饰下面绘画,所以底部的灰色区域实际上是标题区域的高度,你在

下绘画

当然,这是基于观察类似问题的所有猜测工作,但由于您没有提供任何可运行的示例,它是我能做的最好的

答案 1 :(得分:0)

所以,如果有同样问题的人偶然发现这篇文章,事实证明这是OS X El Capitan中java的一个问题,而我目前还没有意识到它的修复。