gpt4 book ai didi

java - JInternalFrame底部阴影问题

转载 作者:行者123 更新时间:2023-12-02 04:17:19 25 4
gpt4 key购买 nike

我正在创建一个使用许多 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);

}

最佳答案

您已经直接重写了 JInternalFramepaint(Component),而不是使用类似 JPanel 的东西,而是使用其 PaintComponent 方法进行自定义绘制,然后将其添加到 JInternalFramecontentPane

就像JFrame一样,JInternalFrame有一个JRootPane,它有一个contentPane,所有这些都是包裹在框架装饰中,通过直接重写其 paint(Component) ,您实际上是在框架装饰下方进行绘制,因此底部的灰色区域实际上将是标题区域的高度,即你正在下面画画

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

关于java - JInternalFrame底部阴影问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33179424/

25 4 0
文章推荐: java - jvm 设置的最佳参数是什么
文章推荐: javax.ImageIO 方法静默失败
文章推荐: java - 从外部 LookAndFeel 更改 Netbeans 预览
文章推荐: java - 如何在Android中使用List在ListView中设置数据