问题标签 [jawt]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 本机 JNI/JAWT Swing 应用程序在 Java 6 上成功运行,但在 Java 7(64 位 Windows 7 操作系统)上失败
我想我对自己遇到的问题有一个不错的认识,但我想知道是否有人对正在发生的事情有更深入的了解。这可能与尝试使用 jawt-on-64-bit-windows-7-os 有关。
我有一个相当简单的 Java GUI 应用程序,我正在尝试将 Windows HWND 安装到它上面,这样我就可以附加一个孩子。基本上,我注意到的是,每当我在本机代码中使用 JAWT 资源时,它都会崩溃。它甚至不一定会在我的代码上崩溃,甚至不必点击 JAWT 代码。在jawt.dll/jawt.lib 中链接似乎就足够了。例如,sun.java2d.loops.DrawGlyphListLCD.DrawGlyphListLCD(Lsun/java2d/SunGraphics2D;Lsun/java2d/SurfaceData;Lsun/font/GlyphList;)V+0
当我的 Swing GUI 被渲染时,我在 Java 的 fontmanager.dll 中的类中看到了许多崩溃。完整hs_err_pid9108.log
可用:http: //pastebin.com/2QS0fDuf
一些有趣的笔记:
- 如果我将 JRE 切换到 Java 1.6.0_33 而不是 Java 1.7.0_05,则应用程序不再崩溃
- 如果我在本机代码中删除所有对 JAWT 的引用,应用程序将不再崩溃
- 如果我删除所有业务逻辑,只在本机代码中实例化 JAWT,它仍然会崩溃
- 我什至实际上不必在我的代码中进行本机调用。加载链接到
jawt.lib
via的 DLLSystem.load(...)
就足够了。我的应用程序在渲染其 GUI(使用 JRE 7)时仍会崩溃。
我已经尽可能地将代码提炼成一个仍然会失败的例子。这是Java类:
JawtTestApp.h(本机头文件)
JawtTestApp.cpp(本机实现)
JawtTestApp.h(Java 文件)
请记住,编译时必须包含 JDK/include 和 JDK/include/win32,链接时必须包含 JDK/lib/jawt.lib。
我仍在进行跨平台、JDK 等的测试,但是基于这些信息,有人有什么想法吗?我缺少一个神奇的编译器标志吗?有Java补丁吗?我在这里没有想法了。
这是我的系统信息:
=======================================
更新
似乎这只是使用 Swing 组件的问题。如果我将上面的示例更改为使用 AWT 组件(将 JFrame 切换为 Frame),应用程序将成功运行。
linux - 关于 Linux 上的 libjawt.so GetComponent 的信息
我试图找出 libjawt.so 的 GetComponent 方法的第二个参数究竟需要什么才能返回组件。如果有人可以向我指出此方法的文档,那将非常有帮助。
谢谢
java - mac 上无法获取 JAWT 接口错误
我正在尝试运行 JBullet 库的基本演示。但是它给出了找不到 JAWT 接口的说法。它在 Windows 8 Pro 和 Ubuntu 13.10(我已经在我的笔记本电脑上测试过)上运行良好,但在运行 OS X 10.8.5 和 Oracle Java 7 的 Mac 上却不行。
这是完整的例外。
有人能说一下是什么原因吗?
谢谢。
java - Java JNI JAWT 错误未解析的外部符号 __imp__JAWT_GetAWT@8
好吧,我目前正在做一个类似于 JOGL 的项目,只是我想重新制作它,这样我就可以用 DirectX 做同样的事情。我一开始就遇到了这个错误,现在已经研究了大约 2 天。
这是完整的错误:错误 1 错误 LNK2019:无法解析的外部符号_imp _JAWT_GetAWT@8 在函数“public: __thiscall JAWT_Info::JAWT_Info(struct JNIEnv_ *,class _jobject *)”中引用 (??0JAWT_Info@@QAE@PAUJNIEnv_@ @PAV_jobject@@@Z) C:\Users\Michael\documents\visual studio 2013\Projects\BezerkGL\BezerkGL\redgl.obj BezerkGL
这是我正在使用的标题:
我很确定这是所有必需的信息。
java - AWT.GetDrawingSurface 做什么?
我正在一个项目中,我需要将 vtk 与 Java 和 JavaFX 一起使用。为了给 VTK 一个可以绘制的正确画布,我想知道函数 GetDrawingSurface() 在下面的代码中做了什么。awt 是一个 JAWT 对象,它在jawt 库中的jawt.h 中描述。
这是为了重写 Java 类,为 C++ 提供正确的画布。
java - 隐藏 Canvas 时丢失 AWT DrawingSurface
我正在为 AWT/Swing 应用程序编写 3d 渲染模块。
为了提供良好的 FPS,我无法使用 Swing/AWT 方法和图形进行绘制。相反,我从 Canvas 元素获取绘图表面,然后直接渲染到它。像这样的东西:
当我第一次调用它时它工作正常。但是当我出于任何原因隐藏画布时(例如最小化窗口或显示另一个面板而不是画布),ds变量保持不变,但在那之后它就不起作用了。基本上,即使我确保仅在变量可见且位于顶部时才调用该变量 - 任何使用ds的调用都会引发异常。例如lock()函数停止工作。
我想知道为什么会这样?
如果我最小化然后再次最大化窗口,我也尝试基本上获得一个新的 DS,但这也不起作用 - 新的 DS 地址按原样返回,但我不能像我一样使用那个新对象不要用原来的。
我可能在这里遗漏了一些愚蠢的东西,但我不知道是什么。请帮我解决这个问题。谢谢!