0

我想让我JDesktopPaneJInternalFrames内部可以最大化并完全阻挡JDesktopPane. 如果你运行这个演示,你会发现如果你JInternalFrame最大化JDesktopPane. 如何进行JDesktopPane设置以使其JInternalFrame占用整个 JDesktopPane

在这张图片中,我运行了下面的代码并按下了 JInternalFrame 上的最大化按钮,但 JDesktopPane 上仍然显示“蓝色”。

在此处输入图像描述

import java.awt.BorderLayout;
import javax.swing.JDesktopPane;
import javax.swing.JFrame;
import javax.swing.JInternalFrame;
import javax.swing.JTextArea;

/**
 *
 * @author Robert
 */
public class Temp {

    Temp() {
        boolean resizable = true;
boolean closeable = true;
boolean maximizable  = true;
boolean iconifiable = true;
String title = "Frame Title";
JInternalFrame iframe = new JInternalFrame(title, resizable, closeable, maximizable, iconifiable);

// Set an initial size
int width = 200;
int height = 50;
iframe.setSize(width, height);

// By default, internal frames are not visible; make it visible
iframe.setVisible(true);

// Add components to internal frame...
iframe.getContentPane().add(new JTextArea());

// Add internal frame to desktop
JDesktopPane desktop = new JDesktopPane();
desktop.add(iframe);

// Display the desktop in a top-level frame
JFrame frame = new JFrame();
frame.getContentPane().add(desktop, BorderLayout.CENTER);
frame.setSize(300, 300);
frame.setVisible(true);
    }
    public static void main (String[] args) {
        new Temp();
    }
}
4

3 回答 3

2

你可以在谷歌上找到令人惊奇的东西。我自己没有检查过,但这可能会有所帮助

使用 Aqua 外观禁用 JInternalFrames 周围的阴影

于 2012-07-13T07:49:49.000 回答
1

您可以覆盖您maximizeFrame()的. 这里有一个相关的例子。DesktopManagerJDesktopPane

于 2012-07-13T04:19:19.527 回答
0

提尔这个

// Add internal frame to desktop
JDesktopPane desktop = new JDesktopPane();
desktop.add(iframe);
iframe.setMaximum(true);
于 2013-03-24T17:13:54.467 回答