问题标签 [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 投票
2 回答
335 浏览

java - 当桥的内容更改时刷新包含 AWT-SWT 桥的 Eclipse RCP 部件

我正在开发一个从 Swing 版本过渡的 RCP 应用程序。所以我们有很多 UI 组件在这个过渡期间仍然需要存在于 Swing 世界中。我能够将现有的 Swing 组件正确放置在 AWT-SWT 桥框架中。

在将这些 Swing 组件添加到桥之前,我已将这些 Swing 组件包装在一个 JScrollable 窗格中,这样当 Swing UI 元素的大小发生变化时,我就不必调整包含部分的大小。我在零件中放置旧 Swing 组件的代码如下所示:

我的 Swing 组件有这样一种行为:当用户单击按钮时,隐藏在组件中的东西会变得可见,或者新的 UI 元素会添加到 Swing 组件中。例如:

我的问题是,当 Swing 组件中的元素发生变化时,父桥架无法正确呈现。

首次创建零件时,我的应用程序如下所示: 前

在我点击后,EastButton它应该在该桥框架的中心添加一个文本标签。但是,应用程序视图中没有任何变化。

但是,当我开始稍微调整包含部分窗扇的大小时,包含桥架的部分会正确更新:调整大小后

我该怎么做才能使包含部分更新的桥架更新自动更新?

为了测试这是否是桥架上的重绘问题,我有一个菜单项会触发桥架的 // ,但这并没有解决repaint问题revalidatepack我怀疑它与包含部分的渲染器有关,但不知道如何解决它。

0 投票
0 回答
574 浏览

macos - JxBrowser 无法在 Mac 上运行

我正在尝试按照https://jxbrowser.support.teamdev.com/support/solutions/articles/9000013072-using-jxbrowser-in-swtJxBrowser在 Eclipse 插件中使用。

这是我的代码的一部分:

它在 Windows 和 Ubuntu 上运行良好。

但我在 Mac 上遇到了异常:

环境:

我做了一些搜索,在这里遇到了一个类似的问题:JxBrowser doesn't start,但它对我不起作用。似乎没什么,BrowserCore.initialize()因为它在SWT模型中。

0 投票
2 回答
108 浏览

java - JTree 不自动扩展,Swing 嵌入到 SWT

所以我正在使用嵌入到 SWT 中的 Swing 组件。

这是我的问题的简化版本,基本上我有两个 Panel 对象(panelA, panelB)和一些 Swing 组件,嵌入在我的 Shell 中。我想在 上添加一个开/关选项,除了我的 JTree 之外,我这样做是 为了在关闭panelB时填写整个 Shell ,但它没有......panelB

我发现的唯一方法是重新创建组件,但我觉得这不是做事的好方法。(为了推迟我正在使用的组件)当 panelB关闭setVisible()时,让 JTree 组件填充空间的任何想法?

0 投票
1 回答
82 浏览

java - 从我的 Swing 线程访问我的 SWT 线程的对象

所以我有一个 SWT 线程,一个包含一个简单视图的 eclipse 插件,其中嵌入myView了一个 JPanelmyJPanel和一个 JTree 。myJTree使用 Swing 线程上的侦听器,当我的 JTree 上的选择更改时,它会将 JPanel 刷新到 Swing 线程中。

我的简化代码版本myView

我想要做的是myFrame从 Swing 线程刷新,当监听myJTree器必须刷新时myJPanel

我想过这个:

但是我在库中遇到了这个错误:不能抛出 PartInitException 类型的异常;异常类型必须是 Throwable 的子类

我的问题是myView:如何在 Swing 线程中从我的 SWT 线程(此处)访问对象?以及使它在这个特定示例中起作用的任何想法?

0 投票
2 回答
430 浏览

java - 使用 SWT 在带有新会话和 cookie 的新浏览器中打开 URL

我想在外部浏览器中打开一个带有新会话和 URL cookie 的 URL。每次打开 URL 时,都应在带有新 cookie 的新浏览器中打开。我的问题是,每当我尝试在新浏览器中打开 URL 时,旧会话就会过期并且旧浏览器窗口不再有用。URL参数每次都会不同。我尝试使用 SWT 的内部浏览器和外部浏览器。试过Browser.setCookies(value,url); 还是不行。

对于外部浏览器:

对于内部浏览器:

原因必须是,所有浏览器实例都使用会话中的相同 cookie。需要以某种方式为每个 URL 启动创建一个带有 cookie 的新会话。使用外部浏览器。

0 投票
1 回答
46 浏览

java - 如何在RCP中右键单击获取行数据

我是 RCP 框架的初学者。在此,我使用 Table 和 Table 项制作了一个 SWT 表。在我的表格中,显示了一个复选框和几个进度条以及其他行数据。我想在右键单击时显示几个菜单项,在右键单击时想打开所选行的视图。我在右键单击时难以获取行数据。我想右键单击行数据以显示所选行的视图。

0 投票
0 回答
25 浏览

java - 在 Eclipse 插件的 ViewPart 中更改 Swing JPanel 的大小(尽管 SwingUtilities.invokeLater(Runnable()))

今天,我正在开发一个 Eclipse 插件项目,我使用标准 SWT_AWT 桥接器来插入我的 Swing 组件:

我想让“ frameResizeListener”以某种方式触发由 Swing Runnable 实例构造的所有后续 Swing 组件(例如 JPanel)的更新,这在 ViewPart 的大小更改时,以实现某种响应式设计。不知何故,底层的 JPanel 需要了解 ViewPart 的帧大小......

我已经阅读了我相当一部分的 SO Q&As,并且只找到了“您需要在构建时传递参数”的答案。但我的问题是,一旦有问题的组件已经创建并存在,我的用例就会发生......

到目前为止,我看到的唯一解决方案似乎破坏了线程安全,方法是编写共享文件或属性,然后在完成后向 Runnable 发出信号来读取它。

请问其他人能想出更好的选择吗?

非常感谢您的支持!:) :)

问候,彼得