을 사용하고 있습니다. 이처럼 사용할 수 있습니다 : 당신은 이미 이전의 질문에 JFace는 뷰어를 사용
import java.util.ArrayList;
import java.util.Arrays;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.List;
import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Shell;
public class MiniExample {
public static void main(String[] args) {
Display display = Display.getDefault();
final Shell shell = new Shell(display);
shell.setLayout(new GridLayout(1, false));
// Fill your ArrayList with its content
ArrayList<String> printer = new ArrayList<String>();
printer.add("Epson");
printer.add("Canon");
printer.add("HP");
final List printerList = new List(shell, SWT.MULTI | SWT.BORDER);
// Fill the ArrayList into the SWT List
for(String print : printer)
printerList.add(print);
// Print selection
printerList.addListener(SWT.Selection, new Listener() {
@Override
public void handleEvent(Event arg0) {
if(printerList.getSelectionCount() > 0)
System.out.println(Arrays.toString(printerList.getSelection()));
}
});
shell.pack();
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
}
}
때문에, 나뿐만 아니라 여기에 ListViewer
을 사용하는 것이 좋습니다 것입니다.
주 :
이미
TableViewer
을 잘 알고 있기 때문에
, 왜 하나의 컬럼과 스타일로 setHeaderVisible(false)
및 SWT.MULTI
하나를 사용하지? 기본적으로 같은 효과가 있습니다.
출처
2012-09-06 19:47:30
Baz