带有 Swing 组件的 JFace 对话框

JFace Dialog with Swing component

有没有办法在 Dialog (org.eclipse.jface.dialogs.Dialog) 中添加 Swing (javax.swing.*) 组件?

我尝试用 SWT/AWT Bridge 来做,但是因为 parent in Composite constructor 必须也是 Composite 在我看来这是不可能的. 我对吗?或者还有其他方法吗?

如果是,我将不胜感激。

您可以在对话框中创建一个组合,并使用该组合在其中构建您的 swing 组件。 在 jface 对话框的 createDialogArea(Composite parent) 方法中:

Composite composite = new Composite(parent, SWT.EMBEDDED);

(必须是SWT.EMBEDDED) 使用此复合材料构建您的框架:

Frame frame = SWT_AWT.new_Frame(composite);

使用框架搭建秋千组件。