java - 如何创建带有允许多项选择的复选框的对话框

标签 java swt jface rcp

读完这篇文章link ,我想创建一个对话框,在其中可以选择复选框形式的多个项目。 ElementListSelectionDialog 不在对话框中显示任何元素。

final ElementListSelectionDialog dialog = new     ElementListSelectionDialog(PlatformUI.getWorkbench().getDisplay().getActiveShell(), new LabelProvider());
dialog.setElements(new String[] { "1", "2", "3" });
dialog.setTitle("Numbers");
dialog.setMultipleSelection(true);
dialog.setInitialSelections(new String[] { "1", "2", "3" });
dialog.open();

使用上面的代码,我有时会得到对话框中的项目,但有两个问题:

  1. 我只是偶尔得到它们
  2. 它不是采用复选框的形式。

如果您知道更好的方法,请告诉我。 我真的很感谢任何帮助:)

最佳答案

ElementListSelectionDialog 不支持复选框选择。

您也许可以使用org.eclipse.ui.dialogs.ListSelectionDialog:

String [] elements = ...

ListSelectionDialog dialog = 
   new ListSelectionDialog(shell, elements, ArrayContentProvider.getInstance(),
            new LabelProvider(), "selection message");

dialog.setTitle("dialog title");

dialog.setInitialSelections(new Object []{....selections});

dialog.open();

Object [] result = dialog.getResult();

或者您始终可以使用 CheckboxTableViewer 编写自己的对话框。

关于java - 如何创建带有允许多项选择的复选框的对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25429448/

相关文章:

java - 在 com 端口上同时读取和写入

Java - 无法访问另一个类中的本地jframe

java - 在普通 Java 应用程序中使用 JavaFX MediaPlayer 播放音频?

java - JFace TableViewer 像 Excel 一样在单元格上绘制矩形

java - ViewerSupport 和 ITableColorProvider 或 ITableFontProvider

java - 用JAVA从Excel工作表2007读取数据

java - 突出显示 SWT MessageBox 消息中的文本

java - 将 SWT 按钮添加到 ButtonGroup

java - 如何更改列表中特定项目的前景色?

java - 尽管有默认的 "OR"谓词,但 ViewerFilter 上的 "And"谓词?