问题标签 [swt-awt]
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 - add AWT listener to SWT component
Is there a way to add AWT listener to a SWT component?
I previously made an app running mostly in AWT and Swing components. Now, I have hotkeys function which is dependent on a custom-made library that listens to global key events and returns its corresponding AWT key code.
My problem arises when I shifted the whole app and used SWT components instead. As we know some of the keys returns a different key code now, which messes up the whole hotkeys function.
The initial solutions I've thought of are:
A. Use javax.swing.jtextfield as mycomponent listener instead of swt.widget.text
B. Add AWT listener to SWT component (if possible)
C. Create a class which re-maps all AWT keycodes to SWT and vice-versa.
I believe these are feasible solutions. I just want to check out with you guys if you have a brilliant idea on which I could work with. I'm only new to java and I could use some professional insights on this.
(besides, I think A is cheating. B I could not find a way to do yet. And C is a hassle job to do)
Cheers.
java - 在 SWT 中使复合可聚焦
是否可以在 SWT 中创建可聚焦的复合材料?我正在通过显示过滤器捕获所有键盘事件,但是当焦点位于树或列表上时会出现一些问题 - GTK+ 的默认操作是搜索控件的内容。
我想做的是将 SWT 和 AWT 与可聚焦的 AWT 组件混合在一起。我设法使 AWT 小部件无法聚焦,并添加了显示过滤器以使 AWT 组件接收键盘事件(但不是直接),即使它没有聚焦。但是当一些 SWT 控件被聚焦时会出现一些问题——这就是我想让复合聚焦的原因。
所以我的最后一个问题是:是否有可能使 SWT 复合聚焦?
java - Eclipse 插件 - SWT_AWT 在 OSX 上不起作用
我正在使用SWT_AWT桥开发一个Eclipse插件,以便使用 Swing 设计 gui。
它在 Windows 上完美运行,但是当我尝试在 OSX 中运行它时,我得到了这个错误:
我发现了这个错误报告,但我仍然不明白如何解决这个问题......
知道吗?
编辑:我在 Mac OSX 10.7.5 上,我的 Java 版本是 7u21,Eclipse 是 Juno sr2
java - 可聚焦复合材料 - SWT
是否可以在 SWT 中创建可聚焦的复合材料?我正在通过显示过滤器捕获所有键盘事件,但是当焦点位于树或列表上时会出现一些问题 - GTK+ 的默认操作是搜索控件的内容。
我想做的是将 SWT 和 AWT 与可聚焦的 AWT 组件混合在一起。我设法使 AWT 小部件无法聚焦,并添加了显示过滤器以使 AWT 组件接收键盘事件(但不是直接),即使它没有聚焦。但是当一些 SWT 控件被聚焦时会出现一些问题——这就是我想让复合聚焦的原因。
所以我的最后一个问题是:是否有可能使 SWT 复合?
顺便说一句,这个问题是转贴的:Making composite focusable in SWT。有些人可能认为这个主题是重复的:它不是。我链接的问题中提供了更长的解释。我不得不创建新问题,因为前一个问题没有重新打开......
java - 启动应用程序时挂在带有缩放桌面的 Mac 上。同时使用 Swing 和 SWT
我在 Mac 上(使用 10.6.4、10.7.5 和 10.8.2 进行了测试),桌面已缩放。当我的 Java 应用程序同时使用 Swing 和 SWT 时,窗口在打开时就冻结了。该问题也可以通过 SWT 网页上提供的片段 337 重现(这里是一个链接)。
如果桌面未缩放,则应用程序可以正常启动并且没有问题。
阻塞的事件派发线程的堆栈如下所示:
有谁知道如何解决这个问题?谢谢。
编辑-解决方法 1
如果我将 setVisible 包含在 asyncExec 中并且不使用 SWT_AWT 外壳,而是使用这样的普通外壳:
它似乎适用于这个简单的示例,但在我的应用程序中仍然挂起在 EDQ 中调度的某些事件,因此不是解决方案....
解决方法 2
如果我替换 EventQueue 以在 Thread0 中调度事件,它也适用于这个小例子,它也成功地启动了我的复杂应用程序,但后来这个队列替换还有很多其他随机错误
所以仍然有人对如何更优雅地解决 Thread0 和 EventDispatchThread 之间的同步问题有任何想法,这样我就不会遇到其他问题?
canvas - 将 SWT 画布添加到 JPanel
我正在尝试将 NatTable(扩展 org.eclipse.swt.widgets.Canvas)添加到 JPanel(程序的大部分图形都在 Swing 中,我对 SWT 相当陌生)。我尝试使用下面的代码来测试 SWT_AWT 类,但出现错误:
线程“AWT-EventQueue-0”java.lang.IllegalArgumentException 中的异常:参数无效
我不明白为什么在传递 SWT 组合时会出现此错误。谁能解释我做错了什么以及如何解决?
java - 在 eclipse 3.7.2 上更新 swt 插件
我有一个 Eclipse 3.7.2 RCP 应用程序,我需要在 Mac OSX 上使用 JDK 7 运行它。我需要 SWT 4.3 中的 SWT_AWT 桥接修复。有没有办法可以在 eclipse 3.7.2 中更新到最新的 SWT。此处可用的 SWT 二进制文件不是插件。
java - 为什么 Swing 组件在 SWT 内部会重绘 3 次?
下面的代码显示了在 SWT 中使用带有SWT_AWT
桥的 Swing 绘制的 50 个圆圈。
每次调用paint 都会导致调试打印。
很明显,油漆在运行时被调用了 3 次。如果在普通 Swing 中运行,它只会被调用一次。
如果在 SWT 内部,为什么会调用 3 次?
java - JTextField 不允许输入文本
我有一个相当老的 Eclipse 插件,它在 Kepler 之前运行良好。在 Kepler 上,jTextFields 不允许输入文本。
我将代码减少到最低限度,试图找出问题所在,但我卡在这里。
文本字段正确显示,但我无法输入文本。我的环境是 OS X 10.7.5 上的 java SE 7 (1.7.0_51)。
该插件帮助我将非常复杂的自定义注释添加到代码中,因此我实际上需要修复它。
我试过使用:
它可以工作,但更新所有代码将是一场噩梦。
任何人都可以提供任何建议吗?
java - SWT_AWT 桥 - 组件大小
我开始使用 SWT-AWT 桥接器,但我无法为我的 JPanel 获得合适的尺寸,它位于 Composite 内部。谁能给我提示代码有什么问题?
结果如下所示:
相反,我想看到这样的东西(仅限摇摆)