gpt4 book ai didi

java - Eclipse SWT Shell 到 JInternalFrame

转载 作者:行者123 更新时间:2023-12-01 15:49:33 26 4
gpt4 key购买 nike

我开始使用 Eclipse SWT,但有以下问题。

下一个类将打开一个窗口,其中包含“archivo”变量中引用的单词文档。

import java.io.File;

import javax.swing.JInternalFrame;

import org.eclipse.swt.SWT;
import org.eclipse.swt.SWTError;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.ole.win32.OleClientSite;
import org.eclipse.swt.ole.win32.OleFrame;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;

public class ArchivoMSOffice {

protected static OleClientSite clientSite;
protected static OleFrame frame;

public ArchivoMSOffice() {

}

public void run(archivo) {
Display display = new Display();
final Shell shell = new Shell(display);
shell.setText(archivo);
shell.setLayout(new FillLayout());
try {
frame = new OleFrame(shell, SWT.NONE);
//esto abre un documento existente
clientSite = new OleClientSite(frame, SWT.NULL, new File(archivo));
} catch (SWTError e) {
System.out.println("Unable to open activeX control");
display.dispose();
return;
}
shell.setSize(800, 600);
shell.open();//this open de Window

while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
display.dispose();
}
}

如何使该窗口成为 JInternalFrame?

感谢您的帮助。问候!

最佳答案

您正在混合两个工具包。您的代码使用 SWT,但 JInternalFrame 来自 Swing 工具包。 SWT 和 Swing 是用 Java 编写 UI 的两种完全不同的方式。

There are some possibilities about how to integrate SWT and Swing ,但恐怕您不能只是将 SWT Window“转换”为 JInternalFrame。如果不说别的,Window 代表的是屏幕上真实的窗口,而 JInternalFrame 是 Swing 中所谓的轻量级对象,它并不代表操作系统级别的窗口。

关于java - Eclipse SWT Shell 到 JInternalFrame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6397255/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com