首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试从JAWT_DrawingSurface获取锁时的JAWT_LOCK_ERROR

尝试从JAWT_DrawingSurface获取锁时的JAWT_LOCK_ERROR
EN

Stack Overflow用户
提问于 2020-07-02 01:24:05
回答 1查看 27关注 0票数 0

引言

我使用的是JNIWrapper,以及该库的JAWT子组件。

我正在尝试使用以下代码获取JAWT_DrawingSurface上的锁:

代码语言:javascript
复制
JAWT_DrawingSurface *ds = NULL;
ds = awt.GetDrawingSurface(env, comp);
dsLocked = !(ds->Lock(ds) & JAWT_LOCK_ERROR)

但是我一直让dsLocked是假的。

详细信息

通过以下方式将comp从Java发送到此JNIWrapper代码:

代码语言:javascript
复制
Component panel = new VideoViewport().getDisplay();
panel.setBounds(150,150,150,150);
System.out.println("Handle: " + core.utils.X11.X11Utils.getDrawable(panel));

无论是通过运行VideoViewport()还是通过getDisplay(),都没有对panel做太多的工作,我不知道哪些细节会相关。

问题

什么样的事情会导致获取表面上的锁失败?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-02 23:04:30

必须将组件添加到框架中并使其可见。

当我将该组件添加到AWT Frame对象并在getDrawable(panel)调用之前使其可见时,它可以工作,并且我能够获得表面上的锁。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62682203

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档