问题标签 [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.

0 投票
1 回答
213 浏览

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.

0 投票
1 回答
2021 浏览

java - 在 SWT 中使复合可聚焦

是否可以在 SWT 中创建可聚焦的复合材料?我正在通过显示过滤器捕获所有键盘事件,但是当焦点位于树或列表上时会出现一些问题 - GTK+ 的默认操作是搜索控件的内容。

我想做的是将 SWT 和 AWT 与可聚焦的 AWT 组件混合在一起。我设法使 AWT 小部件无法聚焦,并添加了显示过滤器以使 AWT 组件接收键盘事件(但不是直接),即使它没有聚焦。但是当一些 SWT 控件被聚焦时会出现一些问题——这就是我想让复合聚焦的原因。

所以我的最后一个问题是:是否有可能使 SWT 复合聚焦?

0 投票
1 回答
1150 浏览

java - Eclipse 插件 - SWT_AWT 在 OSX 上不起作用

我正在使用SWT_AWT桥开发一个Eclipse插件,以便使用 Swing 设计 gui。 它在 Windows 上完美运行,但是当我尝试在 OSX 中运行它时,我得到了这个错误:

我发现了这个错误报告,但我仍然不明白如何解决这个问题......
知道吗?

编辑:我在 Mac OSX 10.7.5 上,我的 Java 版本是 7u21,Eclipse 是 Juno sr2

0 投票
0 回答
64 浏览

java - 可聚焦复合材料 - SWT

是否可以在 SWT 中创建可聚焦的复合材料?我正在通过显示过滤器捕获所有键盘事件,但是当焦点位于树或列表上时会出现一些问题 - GTK+ 的默认操作是搜索控件的内容。

我想做的是将 SWT 和 AWT 与可聚焦的 AWT 组件混合在一起。我设法使 AWT 小部件无法聚焦,并添加了显示过滤器以使 AWT 组件接收键盘事件(但不是直接),即使它没有聚焦。但是当一些 SWT 控件被聚焦时会出现一些问题——这就是我想让复合聚焦的原因。

所以我的最后一个问题是:是否有可能使 SWT 复合?

顺便说一句,这个问题是转贴的:Making composite focusable in SWT。有些人可能认为这个主题是重复的:它不是。我链接的问题中提供了更长的解释。我不得不创建新问题,因为前一个问题没有重新打开......

0 投票
0 回答
266 浏览

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 之间的同步问题有任何想法,这样我就不会遇到其他问题?

0 投票
1 回答
1226 浏览

canvas - 将 SWT 画布添加到 JPanel

我正在尝试将 NatTable(扩展 org.eclipse.swt.widgets.Canvas)添加到 JPanel(程序的大部分图形都在 Swing 中,我对 SWT 相当陌生)。我尝试使用下面的代码来测试 SWT_AWT 类,但出现错误:

线程“AWT-EventQueue-0”java.lang.IllegalArgumentException 中的异常:参数无效

我不明白为什么在传递 SWT 组合时会出现此错误。谁能解释我做错了什么以及如何解决?

0 投票
1 回答
709 浏览

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 二进制文件不是插件。

0 投票
0 回答
166 浏览

java - 为什么 Swing 组件在 SWT 内部会重绘 3 次?

下面的代码显示了在 SWT 中使用带有SWT_AWT桥的 Swing 绘制的 50 个圆圈。

每次调用paint 都会导致调试打印。

很明显,油漆在运行时被调用了 3 次。如果在普通 Swing 中运行,它只会被调用一次。

如果在 SWT 内部,为什么会调用 3 次?

0 投票
0 回答
165 浏览

java - JTextField 不允许输入文本

我有一个相当老的 Eclipse 插件,它在 Kepler 之前运行良好。在 Kepler 上,jTextFields 不允许输入文本。

我将代码减少到最低限度,试图找出问题所在,但我卡在这里。

文本字段正确显示,但我无法输入文本。我的环境是 OS X 10.7.5 上的 java SE 7 (1.7.0_51)。

该插件帮助我将非常复杂的自定义注释添加到代码中,因此我实际上需要修复它。

我试过使用:

它可以工作,但更新所有代码将是一场噩梦。

任何人都可以提供任何建议吗?

0 投票
1 回答
598 浏览

java - SWT_AWT 桥 - 组件大小

我开始使用 SWT-AWT 桥接器,但我无法为我的 JPanel 获得合适的尺寸,它位于 Composite 内部。谁能给我提示代码有什么问题?

结果如下所示:

在此处输入图像描述

相反,我想看到这样的东西(仅限摇摆)

在此处输入图像描述