Java LWJGL Display.setWidth/Height?
与Java的Canvas类类似,我目前正在尝试编写一个方法来设置LWJGL显示的最大大小。我遇到的唯一问题是LWJGL的Display类没有setWidth或setHeight方法,我想不出一种自己编写的方法。我的第一个想法是以某种方式获得窗口正在使用的JFrame实例,但是也没有方法,所以我觉得我就是SOL。我还尝试过使用DisplayMode并通过它重置大小,但每次调整大小时它都会关闭窗口并重新打开。我正在尝试编写一个方法,它可以简单地调整窗口的大小,就像用户拖动它来放大它一样。有人知道我怎样才能/应该这样做吗?考虑到手动拖动/调整其大小后,直到您放开屏幕,屏幕才会更新,是否有可能获得我想要的平滑最大尺寸效果?如果您需要对窗口进行更多控制,您可以尝试使用Java LWJGL Display.setWidth/Height?,java,lwjgl,Java,Lwjgl,与Java的Canvas类类似,我目前正在尝试编写一个方法来设置LWJGL显示的最大大小。我遇到的唯一问题是LWJGL的Display类没有setWidth或setHeight方法,我想不出一种自己编写的方法。我的第一个想法是以某种方式获得窗口正在使用的JFrame实例,但是也没有方法,所以我觉得我就是SOL。我还尝试过使用DisplayMode并通过它重置大小,但每次调整大小时它都会关闭窗口并重新打开。我正在尝试编写一个方法,它可以简单地调整窗口的大小,就像用户拖动它来放大它一样。有人知道我怎
AWT帧作为LWJGL画布的父级。这将允许您的代码利用默认窗口方法,包括Java标准库中的setWidth()
和setHeight()
,防止和控制窗口行为,并添加侦听器来运行特定事件的代码
首先,导入java.awt.*
然后设置如下代码:
创建框架
和画布
:
Frame frame = new Frame("LWJGL Game Window");
frame.setLayout(new BorderLayout());
Canvas canvas = new Canvas();
try {
Display.setParent(canvas);
frame.setPreferredSize(new Dimension(1024, 786));
frame.setMinimumSize(new Dimension(800, 600));
frame.pack();
frame.setVisible(true);
Display.create();
while(!Display.isCloseRequested() && !closeRequested)
{
// main code or call to code goes here
GL11.glClear(GL11.GL_COLOR_BUFFER_BIT);
Display.update();
}
Display.destroy();
frame.dispose();
System.exit(0);
} catch (LWJGLException e) {
e.printStackTrace();
}
将画布
添加到框架
:
frame.add(canvas, BorderLayout.CENTER);
设置LWJGL并将其应用于画布
:
Frame frame = new Frame("LWJGL Game Window");
frame.setLayout(new BorderLayout());
Canvas canvas = new Canvas();
try {
Display.setParent(canvas);
frame.setPreferredSize(new Dimension(1024, 786));
frame.setMinimumSize(new Dimension(800, 600));
frame.pack();
frame.setVisible(true);
Display.create();
while(!Display.isCloseRequested() && !closeRequested)
{
// main code or call to code goes here
GL11.glClear(GL11.GL_COLOR_BUFFER_BIT);
Display.update();
}
Display.destroy();
frame.dispose();
System.exit(0);
} catch (LWJGLException e) {
e.printStackTrace();
}
不知道您对Java了解多少,但是从这里,您可以添加一个ActionListerner
或ComponentListerner
,如果调整窗口的大小,它会起作用
还可以查看LWJGL wiki以了解更多信息。这至少有助于为你指明正确的方向