如何调整任何屏幕尺寸的JFrame和JInternal帧?

时间:2012-09-20 15:35:50

标签: java swing screen jframe jinternalframe

我正在开发一个以 JFrame 开头的Swing应用程序,但所有其他框架都包含在 JInternalFrames 中,当我遇到一些严重的屏幕尺寸问题时在不同的计算机上安装它,我使用以下方法来全屏设置JFrame

    Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
    setBounds(0, 0, screenSize.width, screenSize.height);
    JFrame.setExtendedState(JFrame.MAXIMIZED_BOTH);

但我发现没有区别。我还想用屏幕大小调整JInternalFrames。如果您有任何建议或解决方案,请帮助

1 个答案:

答案 0 :(得分:3)

您应该像这样设置帧扩展状态:

frame.setExtendedState(frame.getExtendedState() | JFrame.MAXIMIZED_BOTH);

您将需要一个组件侦听器来监听帧扩展以适应屏幕并调整大小。

    frame.addComponentListener(new ComponentAdapter() {
        @Override
        public void componentResized(ComponentEvent event) {
            Dimension d = frame.getContentPane().getSize();
            // code to save frame size or calculate internal frame sizes
            frame.validate();
        }
    });