gpt4 book ai didi

java - SWT错误: Not implemented [multiple displays]

转载 作者:行者123 更新时间:2023-12-03 03:58:55 24 4
gpt4 key购买 nike

我正在尝试打开 SWT-file-browser在按钮点击事件中。

tnAddFiles.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
new FileBrowser();

}
});

我收到此错误

Exception in thread "main" org.eclipse.swt.SWTError: Not implemented [multiple displays]
at org.eclipse.swt.SWT.error(SWT.java:4387)
at org.eclipse.swt.widgets.Display.checkDisplay(Display.java:706)
at org.eclipse.swt.widgets.Display.create(Display.java:807)
at org.eclipse.swt.graphics.Device.<init>(Device.java:130)
at org.eclipse.swt.widgets.Display.<init>(Display.java:699)
at org.eclipse.swt.widgets.Display.<init>(Display.java:690)
at com.rawzor.ui.FileBrowser.<init>(FileBrowser.java:34)

最佳答案

我猜您正在使用该网站的实现。如果是这种情况,此代码使用以下行:

Display display = new Display();

这将初始化一个新的Display。由于您的应用程序已经有一个 Display 这将导致

SWTError: Not implemented [multiple displays]

解决方案是使用内置类 FileDialog用于文件选择:

FileDialog fd = new FileDialog(shell, SWT.OPEN);
fd.setText("Open file");
fd.setFilterPath("C:/");
String[] filterExt = { "*.txt", "*.doc", ".rtf", "*.*" };
fd.setFilterExtensions(filterExt);
String file= fd.open();
System.out.println(file);

DirectoryDialog用于目录选择:

DirectoryDialog dlg = new DirectoryDialog(shell);
dlg.setText("Choose directory");
dlg.setFilterPath("C:/");
String dir = dlg.open();
System.out.println(dir);

关于java - SWT错误: Not implemented [multiple displays],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14768131/

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