我正在使用WorldWind Java和 Eclipse。
我正在尝试从 Eclipse 中的项目中导出一个可运行的 jar。导出进行得很顺利,但是当我尝试运行 jar 时出现此错误:
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:58)
Caused by: java.lang.UnsatisfiedLinkError: no gluegen-rt in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1681)
at java.lang.Runtime.loadLibrary0(Runtime.java:840)
at java.lang.System.loadLibrary(System.java:1047)
at com.sun.gluegen.runtime.NativeLibLoader.loadLibraryInternal(NativeLibLoader.java:102)
at com.sun.gluegen.runtime.NativeLibLoader.access$000(NativeLibLoader.java:51)
at com.sun.gluegen.runtime.NativeLibLoader$1.run(NativeLibLoader.java:70)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.gluegen.runtime.NativeLibLoader.loadGlueGenRT(NativeLibLoader.java:68)
at com.sun.gluegen.runtime.NativeLibrary.ensureNativeLibLoaded(NativeLibrary.java:399)
at com.sun.gluegen.runtime.NativeLibrary.open(NativeLibrary.java:163)
at com.sun.gluegen.runtime.NativeLibrary.open(NativeLibrary.java:129)
at com.sun.opengl.impl.x11.DRIHack.begin(DRIHack.java:109)
at com.sun.opengl.impl.x11.X11GLDrawableFactory.<clinit>(X11GLDrawableFactory.java:99)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:186)
at javax.media.opengl.GLDrawableFactory.getFactory(GLDrawableFactory.java:111)
at javax.media.opengl.GLCanvas.chooseGraphicsConfiguration(GLCanvas.java:520)
at javax.media.opengl.GLCanvas.<init>(GLCanvas.java:131)
at javax.media.opengl.GLCanvas.<init>(GLCanvas.java:90)
at gov.nasa.worldwind.awt.WorldWindowGLCanvas.<init>(Unknown Source)
Run Code Online (Sandbox Code Playgroud)
我可以毫无问题地在 Eclipse 中运行该项目,我在构建路径中引用了 …
我正在尝试在 Maven 项目中使用 World Wind Java。
第一种方法是在这里获取他们的 SDK以及构建路径中的所有依赖项。但我想让它更符合 Maven 标准。
第一个依赖项:jogl-all.jar。SDK v2.0.0 似乎使用 JOGL v2.1.5(来自清单)。因此我将其放入我的 pom 文件中:
<dependency>
<groupId>org.jogamp.jogl</groupId>
<artifactId>jogl-all</artifactId>
<version>2.1.5</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
这是我的问题:两个jar文件的大小非常不同,而且,使用SDK中的JOGL jar,我可以导入com.jogamp.opengl.awt.GLCanvas
,而使用maven检索的JAR,我不能。
我不明白如何在使用完全相同的版本时获得两种不同的行为/JAR。
有什么线索吗?在 Maven 项目中使用 World Wind Java 还有其他经验吗?
我正在使用Java NASA WorldWind,我有两个不同高度和位置的对象.
如何在考虑到地球曲率的情况下找到物体之间的仰角?
这张图片说明了(显然不按比例)我正在尝试做的事情:
物体A高出地面50英尺,物体B高出地面500英尺.我怎样才能找到角度X,考虑到地球的曲率?
我的Java布局有问题.我正试图将JLabel放在最顶层的五个WorldWindowGLCanvas网格中.就像是:
------------------------------------------------
JLabel
------------------------------------------------
|
WWCanvas | WWCanvas
|
------------------------------------------------
|
WWCanvas | WWCanvas
|
Run Code Online (Sandbox Code Playgroud)
我目前在JPanel中使用GridBagLayout.程序首次启动时,一切都看起来应该如此.然而,在第一次重绘所有WorldWindowGLCanvas时,顶级JLabel的大小立即增加一倍并且占用太多空间.这是一些相关的代码:
JFrame f = new JFrame("ScintDisplay");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setLayout(new GridBagLayout());
JLabel timeLabel = new JLabel(getTime(), JLabel.CENTER);
timeLabel.setSize(new Dimension(200,200));
WorldWindowGLCanvas wwd1 = new WorldWindowGLCanvas();
wwd1.setPreferredSize(new java.awt.Dimension(960, 1000));
WorldWindowGLCanvas wwd2 = new WorldWindowGLCanvas();
wwd2.setPreferredSize(new java.awt.Dimension(500, 480));
WorldWindowGLCanvas wwd3 = new WorldWindowGLCanvas();
wwd3.setPreferredSize(new java.awt.Dimension(500, 480));
WorldWindowGLCanvas wwd4 = new WorldWindowGLCanvas();
wwd4.setPreferredSize(new java.awt.Dimension(500, 480));
WorldWindowGLCanvas wwd5 = new WorldWindowGLCanvas();
wwd5.setPreferredSize(new java.awt.Dimension(500, 480));
wwd1.setModel(new BasicModel());
wwd2.setModel(new BasicModel());
wwd3.setModel(new BasicModel());
wwd4.setModel(new BasicModel()); …
Run Code Online (Sandbox Code Playgroud) 在我的工作中,我提到World Wind Java具有以API为中心的架构.我这样做是因为很多文章提到它.他反对一个问题"它究竟意味着以API为中心的体系结构?他说Java中的所有库都基于API.所以我的问题是:
如何解释以API为中心的架构?
我正在开展与美国国家航空航天局相关的项目.
任何人都可以解释一下,我可以删除世界地图吗
位于屏幕的左上角.
我有一个基于Java SDK的WorldWind应用程序构建.它有一个很好的事件处理程序,用于检测您何时单击对象,但我遇到了障碍.虽然我可以单击并选择单个对象,但我无法确定用户是否在单击时按下控制键(如果他们想要选择多个对象).我可以为鼠标和键盘实现事件处理程序,但我不能为我的生活弄清楚如何将两者结合在一起.如何让我的鼠标监听器轮询系统以获取当前按下的键列表?