【问题标题】:How to maximize an JOGL GLWindow on init如何在初始化时最大化 JOGL GLWindow
【发布时间】:2015-04-24 18:13:13
【问题描述】:

我想要的是所有操作系统上的最大化 GLWindow。所以window.setSize(300, 300); 应该被替换为window.setSize(GLWindow.MAXIMIZED);。我一直在寻找它很长时间,但我找不到它应该如何完成。提前致谢。

主要:

public static void main(String[] args) {

    GLProfile glp = GLProfile.getDefault();
    GLCapabilities caps = new GLCapabilities(glp);

    WindowFactory windowFactory = new WindowFactory();
    GLWindow window = windowFactory.getWindow(caps);

    window.addGLEventListener(new Main());

    FPSAnimator animator = new FPSAnimator(window, 30);
    animator.start();

}

窗口:

public GLWindow getWindow(GLCapabilities caps) {

    GLWindow window = GLWindow.create(caps);

    window.setSize(300, 300);
    window.setDefaultCloseOperation(WindowClosingProtocol.WindowClosingMode.DISPOSE_ON_CLOSE);
    window.setVisible(true);

    return window;

}

【问题讨论】:

    标签: java opengl jogl


    【解决方案1】:
    public GLWindow getWindow(GLCapabilities caps) {
    
    GLWindow window = GLWindow.create(caps);
    
    Screen screen = window.getScreen();
    window.setSize(screen.getWidth, screen.getHeight);
    
    window.setDefaultCloseOperation(WindowClosingProtocol.WindowClosingMode.DISPOSE_ON_CLOSE);
    window.setVisible(true);
    
    return window;
    

    }

    【讨论】:

    • screen.getWidth() 和 screen.getHeight() 这里都是 0。
    • 在调用 screen.getWidth() 之前调用 screen.createNative() 一次。可以在创建窗口之前获取主监视器的大小,是你想要的吗?
    • @gouessej 的建议有效吗?如果是这样,我想更新我的建议答案。
    • 以我的拙见,它应该可以部分工作,它会使用当前的虚拟屏幕。如果只使用主物理监视器,则需要一个更强大的解决方案。
    猜你喜欢
    • 1970-01-01
    • 2019-05-17
    • 1970-01-01
    • 1970-01-01
    • 2023-02-20
    • 2015-02-28
    • 1970-01-01
    • 2014-04-21
    • 2016-06-14
    相关资源
    最近更新 更多