【问题标题】:Creating JFrame and getconentpane full-size创建 JFrame 和 getconentpane 全尺寸
【发布时间】:2015-03-30 23:00:21
【问题描述】:

我正在使用 Java,并试图将我的 JFrame 的大小作为窗口的大小,而不是与任务栏重叠。当然,我希望它在每个屏幕分辨率下都具有完全相同的大小。此外,将 frame.GetContentPane() 的大小设置为框架的大小。稍后我将希望在框架内以恒定大小创建 JPanel。

我见过很多解决方案,但不幸的是,它们都不适合我。 请帮忙!非常感谢。

【问题讨论】:

  • 您好,既然您说您已经看到了很多解决方案,但都没有为您工作,您能否将您尝试过的代码提供给我们。

标签: java swing jframe jpanel fullscreen


【解决方案1】:
JFrame frame = new JFrame();
frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
frame.setVisible(true);

【讨论】:

    【解决方案2】:

    这里是一个示例,如何将窗口大小设置为最大(当计算机有多个显示器时可能不正确)。

    import java.awt.GraphicsEnvironment;
    
    import javax.swing.JFrame;
    import javax.swing.WindowConstants;
    
    public class TestWindow {
    
        /**
         * 
         * @param args
         */
        public static void main(String[] args) {
            JFrame frm = new JFrame("Test max size");
            frm.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
            frm.setSize(
                    GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds().getSize());
            frm.setVisible(true);
        }
    
    }
    

    另一种可能性是:使框架最大化或使用全屏模式。内容窗格自动获得最大尺寸。

    【讨论】:

    • 谢谢,看起来不错。告诉我 - 如何将 getcontentpane 设置为相应的大小?
    • 简单地使框架不装饰(没有标题栏和边框)。
    • 大家好,谢谢大家的帮助。我仍然有两件事困扰着我: 1. 我的框架内有 jpanels。如果我改变屏幕分辨率,它们的大小就会改变。每个面板都使用 setBounds() 方法定义。 2.框架仍然与任务栏重叠。你知道做什么吗?再次感谢
    • 1) 当您检测到分辨率变化时,您需要启动一个计时器任务来轮询屏幕分辨率并更改您的帧大小。 2) 不要使用 setBounds() 方法。请改用LayoutManager。在这种情况下,当您调整框架大小时,您的面板会自动获得新的大小。
    猜你喜欢
    • 2012-10-17
    • 1970-01-01
    • 2014-03-01
    • 2013-04-30
    • 1970-01-01
    • 2022-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多