我有一个包含多列的 Table。是否可以使用 Jface 在每个列条目中创建一个单选按钮?

I have a Table with multiple columns. Is it possible to create a radio button in each column entry using Jface?

我有一个包含多列的 Table。是否可以使用 JFace 在每个列条目中创建一个单选按钮?

我尝试将 TableEditor 与此结合使用 我只会将一个单选按钮添加到一列而不是所有列。我是 JFace 的新手,如果您能进一步指导我,我将不胜感激。

不能直接放单选按钮,必须用图片。对列使用 ColumnLabelProvider 并使用 getImage 方法。

完成此 tutorial. This 将帮助您获得原生外观和控制感。

您应该为 table 中的每个 column/row 添加一个单选按钮,第 0 列除外。

for (int i = 0; i < employeeCount; i++)
{
    TableItem item; 
    Button radio; 
    TableEditor editor; 

    item = new TableItem(table, SWT.NO_FOCUS);

    item.setText(0, employees[i]); //Let's assume you have an array of employees' names

    radio = new Button(table, SWT.RADIO);
    //TODO: setup your radiobutton here (text, behavior, etc.)
    editor = new TableEditor(table);
    editor.setEditor(radio, item, 1); //1 is the column index (excellent)
    editor.layout();

    radio = new Button(table, SWT.RADIO);
    //TODO: setup your radiobutton here (text, behavior, etc.)
    editor = new TableEditor(table);
    editor.setEditor(radio, item, 2); //2 is the column index (good)
    editor.layout();

    radio = new Button(table, SWT.RADIO);
    //TODO: setup your radiobutton here (name, text, behavior, etc.)
    editor = new TableEditor(table);
    editor.setEditor(radio, item, 3); //3 is the column index (average)
    editor.layout();

    radio = new Button(table, SWT.RADIO);
    //TODO: setup your radiobutton here (text, behavior, etc.)
    editor = new TableEditor(table);
    editor.setEditor(radio, item, 4); //4 is the column index (poor)
    editor.layout();
}

应该可以。