gpt4 book ai didi

java - 如何缩放程序以校正屏幕分辨率?

转载 作者:行者123 更新时间:2023-11-30 09:30:52 24 4
gpt4 key购买 nike

我将在接下来的 40 分钟内在我的大学举办一场音乐会,届时我将在几个不同的屏幕上投影我编写的全屏应用程序。我只能在今晚和低点拿到投影系统,当插入时我的屏幕分辨率发生了巨大变化,但是当我执行我的程序时,它就像使用我的旧屏幕分辨率一样工作。我已经将整个视觉显示编码为精确的像素值,但现在有一半没有显示,因为它被推离了屏幕的一侧。我试过在系统偏好设置中手动更改我的显示,但没有效果。我已尝试创建不同的显示模式以适应分辨率,但我不断收到消息 UnsupportedOperationException:无法更改显示模式。无论如何,我可以将我的程序缩放到正确的大小或更改为正确的显示模式吗?

下面是我用来初始化全屏的代码:

            frame = new display();
canvas = new Canvas();
canvas.addKeyListener(this);
frame.setUndecorated(true);
frame.getContentPane().add(canvas);
strategy = canvas.getBufferStrategy();
environment = GraphicsEnvironment.getLocalGraphicsEnvironment();
device = environment.getDefaultScreenDevice();
oldDisplay = device.getDisplayMode();
try {
device.setFullScreenWindow(frame);
newDisplay = new DisplayMode(1440, 900, 60, 60);
device.setDisplayMode(newDisplay);
catch (Exception ex) { }
canvas.requestFocus();
canvas.setFocusTraversalKeysEnabled(false);
frame.setVisible(true);
canvas.createBufferStrategy(2);
strategy = canvas.getBufferStrategy();

Display只是JFrame的直接扩展。

如果我没有得到这个工作,我的学位模块就没有通过。请 stackoverflow 现在不要让我失望!谢谢!

编辑:已修复异常,但尽管设置了 800、600、60、60,程序似乎根本没有改变分辨率。

最佳答案

OP 没有考虑我的解决方案。但我相信它可以解决您的问题。

获取 VirtualBox(或任何其他支持缩放模式的 VM)。花 20 分钟在上面安装一个操作系统,然后在里面运行你的程序。许多 VM 支持缩放模式,即客户操作系统会认为它正在运行分辨率 X1*Y1,但在您的屏幕上,它实际上显示为 X2*Y2,由 VM 缩放。因此,您可以让您的程序在任何分辨率下都能正常显示。

关于java - 如何缩放程序以校正屏幕分辨率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13093029/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com