在Mac上启动时,为什么我的JFrame会随机收缩?

但丁·阿德斯特伦(DanteArdström):

在Mac笔记本电脑上工作时,我最近注意到程序启动时有时帧会缩小。它确实会收缩约70-90%。

它可以在PC上正常运行,但不能在我尝试过的任何Mac上运行。我试图将其范围缩小到(下面的代码),但是从这里我找不到任何不起作用的原因。我的一些朋友认为这可能与Mac自己的窗口管理器有关。我不知道。

我只是FYI的新手。

public class Worms extends JFrame{

    public static void main(String[] args) {
        new Worms();
    }

    private JButton startGame;
    public Worms(){
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();

        Container contentPane = this.getContentPane();
        //if i change it so it uses a new dimension not "screenSize" it works
        contentPane.setPreferredSize(screenSize);


        JPanel menu = new JPanel();

        startGame = new JButton("Start Game"); 
        menu.add(startGame);//or if i remove this button it also works
        this.add(menu);


        this.pack();
        this.setVisible(true);
    }
}

它从“全屏”开始,然后缩小到左上角。如果我将其拖回正常大小,它将正常工作。

安德鲁·汤普森(Andrew Thompson):
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();

Container contentPane = this.getContentPane();
//if i change it so it uses a new dimension not "screenSize" it works
contentPane.setPreferredSize(screenSize);

内容窗格应该具有优选大小设置为屏幕尺寸。太大,无法说明框架装饰或“镀铬”。

这是一种应该在整个系统之间可靠工作的不同方法。它设置框架的扩展状态。

import java.awt.*;
import javax.swing.*;

public class Worms extends JFrame{

    public static void main(String[] args) {
        new Worms();
    }

    private JButton startGame;
    public Worms(){
        JPanel menu = new JPanel();

        startGame = new JButton("Start Game"); 
        menu.add(startGame);
        this.add(menu);

        this.pack();
        // this should do what you seen to want
        this.setExtendedState(JFrame.MAXIMIZED_BOTH);
        // this is just polite..
        this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        this.setVisible(true);
    }
}

请注意,应该在事件调度线程上创建和更新Swing / AWT GUI。为了简单起见,上面的示例没有添加。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

当我用来启动时,Docker 容器会进入兴奋状态。为什么?

C 数组随机收缩

为什么我不能在启动时添加redshift?

如何判断为什么我的活动在启动时被暂停?

为什么 useEffect 在启动时不渲染我的图表?

iOS MagicalRecord之谜。为什么在truncateAll之后重新启动时我的数据会重新出现?

为什么子进程在Windows上启动时却在Linux上没有启动时导入主模块?

为什么plymouthd在启动时崩溃?

为什么 VPN 在启动时连接?

为什么我的一个Docker容器无法在机器启动时自动启动?

为什么我的systemd用户单元无法在启动时启动?

为什么从控制台启动时我的脚本可以工作,而通过upstart启动时为什么我的脚本不能工作?

我的应用程序在启动时崩溃,我不确定为什么

为什么“ FileSystemControl”会导致启动时间过长?

为什么服务无法在启动时启动

为什么启用的systemd服务无法在启动时启动?

为什么自制的Apache无法在启动时启动?

为什么makecab.exe在启动时启动?

困惑为什么systemd服务无法在启动时启动

为什么我不能在春季启动时使用“截断”

为什么我在ASP.NET网站启动时收到ThreadAbortException

为什么我的机器在启动时没有显示任何内容?

为什么在启动时无法装载我的加密LVM卷(LUKS设备)?

为什么键绑定会导致Emacs在启动时执行我的功能?

为什么我的 React Native 应用程序在启动时崩溃而没有任何错误?

为什么在启动时总是扫描我的根文件系统?

为什么我的radeon驱动程序在启动时崩溃?

为什么我的 Ubuntu 20.04 安装有时会在启动时挂起?

为什么我的敌人在 godot 引擎中启动时消失了