相关疑难解决方法(0)

LWJGL:打开窗口会导致程序崩溃

我试图在Java/LWJGL中制作一个简单的游戏.我正在关注在Windows上制作的教程,我正在使用mac.我抄他的代码打开了一个窗口,字符中的字符和程序崩溃立刻给了我一个非常漫长而奇怪的错误,可能有事情做与指针(其实我不知道).以下是创建窗口的行,我在其中使用了属性中定义宽度和高度的窗口:

 window = glfwCreateWindow(width, height, "Flappy Bird", NULL, NULL);
Run Code Online (Sandbox Code Playgroud)

当我在我的Mac上运行它时,它给了我这个错误:

2015-10-12 13:18:38.475 java[496:31875] *** Assertion failure in + [NSUndoManager _endTopLevelGroupings], /SourceCache/Foundation/Foundation-1154/Misc.subproj/NSUndoManager.m:340
2015-10-12 13:18:38.476 java[496:31875] +[NSUndoManager(NSInternal) _endTopLevelGroupings] is only safe to invoke on the main thread.
2015-10-12 13:18:38.476 java[496:31875] (
0   CoreFoundation                      0x00007fff98c3003c __exceptionPreprocess + 172
1   libobjc.A.dylib                     0x00007fff9620a76e objc_exception_throw + 43
2   CoreFoundation                      0x00007fff98c2fe1a +[NSException raise:format:arguments:] + 106
3   Foundation                          0x00007fff99f6199b -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 195
4   Foundation                          0x00007fff99ee364f +[NSUndoManager(NSPrivate) _endTopLevelGroupings] + 156
5   AppKit                              0x00007fff96ecbb95 -[NSApplication run] + 756
6 …
Run Code Online (Sandbox Code Playgroud)

java opengl lwjgl

7
推荐指数
1
解决办法
597
查看次数

即使在vm args中使用XstartOnFirstThread也无效的线程访问

我有一个胚胎Java Web Start应用程序,只有一个类.它在Windows和Linux上运行,但在Mac OS X上遇到了可怕的无效线程访问错误.我意识到这已在其他地方处理过.我花了整整两天时间在互联网上搜索并实施了所有解决方案,但问题仍然存在.

我的理解是,必须从主线程调用SWT,这就是这里的情况.如果我错了,请纠正我.

我将在下面发布3个片段,应用程序的源代码,jnlp文件的相关部分以及Mac上的错误消息.问题是最后的问题.


JAVA SOURCE CODE

package client;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
public class AccountWindow {
 public static void main(String[] args) {
  Display display = new Display(); **// error occurs here**
  Shell shell = new Shell(display); shell.open();
  while (!shell.isDisposed()) {
   if (!display.readAndDispatch())
    display.sleep();
  }
  display.dispose();
 }
}
Run Code Online (Sandbox Code Playgroud)

JNLP SNIPPET

<resources os="Mac\ OS\ X" arch="x86_64">
    <j2se version="1.5+" java-vm-args="-XstartOnFirstThread" />
    <nativelib href="swt-4.2-cocoa-macosx-x86_64.jar" />
</resources>
Run Code Online (Sandbox Code Playgroud)

错误信息

org.eclipse.swt.SWTException: Invalid thread access
    at org.eclipse.swt.SWT.error(Unknown Source)
    at org.eclipse.swt.SWT.error(Unknown Source)
    at org.eclipse.swt.SWT.error(Unknown Source) …
Run Code Online (Sandbox Code Playgroud)

java macos java-web-start

4
推荐指数
1
解决办法
3402
查看次数

标签 统计

java ×2

java-web-start ×1

lwjgl ×1

macos ×1

opengl ×1