【问题标题】:How to make my Java JFrame including panel fullscreen [duplicate]如何使我的Java JFrame包括面板全屏[重复]
【发布时间】:2015-05-29 04:33:05
【问题描述】:

我正在使用 Netbeans 做一些 Java,我想让我的应用程序和它的框架全屏显示。问题是,它会全屏显示,但由于我的框架没有那么大,它不会填满屏幕,check image 如果你不明白的话。它必须喜欢使面板成为用户的分辨率并将其放在中心。

我的代码如下

public class frmMenu extends javax.swing.JFrame {

    public frmMenu() {
        initComponents();
        this.setExtendedState(JFrame.MAXIMIZED_BOTH); 
        this.setUndecorated(true);
    }

【问题讨论】:

  • 请注意,您应该导入 JFrame 而不是那样引用它。

标签: java swing


【解决方案1】:

这在 Java 中并不是最简单的。有很多细微差别需要处理。看看这个:Post

这将调用:

GraphicsDevice device  = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice();
device.setFullScreenWindow(this);

这可以挂钩到底层操作系统以获得全屏支持,而不仅仅是制作一个大窗口。

JavaDoc

【讨论】:

    【解决方案2】:

    只是为了使用工具包来获取屏幕大小: http://docs.oracle.com/javase/7/docs/api/java/awt/Toolkit.html#getScreenSize()

    int width = (int)Toolkit.getDefaultToolkit().getScreenSize().getWidth();
    int height = (int)Toolkit.getDefaultToolkit().getScreenSize().getHeight();
    setSize(width,height);
    setUndecorated(true);
    

    更好的方法:

    Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
    int width = (int)dim.getWidth();
    int height = (int)dim.getHeight();
    setSize(width,height);
    setUndecorated(true);
    

    编辑: 对于良好的位置设置:

    setLocation(0,0);
    

    我猜它是框架上的图像,你应该缩放它。 设置好位置后会出现在左上角。 我不知道你如何渲染图像,为了解决这个问题,你提供了更多的源代码。
    对于创建图形,我建议使用比 MS Paint 更好的东西 ;)

    编辑(2): 重写:

    getContentPane().add(panMenu);
    

    收件人:

    getContentPane().add(panMenu,BorderLayout.CENTER);
    

    并删除行:

    panMenu.setBounds(0, -20, 580, 630);
    

    并确保您拥有:

    setLayout(new BorderLayout());
    

    用于框架
    使用图形界面布局在绝对定位方面不好。所以也许它不会因为子面板中的绝对定位而完全纠正它

    【讨论】:

    • 这就是发生的事情,postimg.org/image/6zpsj9tgt
    • @Jack 我的答案已被编辑
    • 我明白了。但是,即使我能正确定位它,我的面板仍然像没有变大也没有居中。就像以前一样。添加 setLocation 代码的图像:postimg.org/image/evrhoyic9
    • 我不知道,你如何渲染图像。您是否使用 Graphics 中的 drawImage 方法?或者来自swing包的一些类?我需要一段带有渲染的代码来帮助你@Jack
    • @Jack 这是一个布局问题。你应该在谷歌上搜索“如何在 java 中使用 LayoutManagers”
    猜你喜欢
    • 2012-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多