2014-07-19 25 views
4

我創建了一個ComboViewerComboViewer,如何獲取comboViewer的選定項目?

final ComboViewer comboViewer = new ComboViewer(shlFreeViews, SWT.NONE); 
    final Combo combo = comboViewer.getCombo(); 
    combo.setVisibleItemCount(4); 
    combo.setFont(SWTResourceManager.getFont("Segoe UI", 13, SWT.NORMAL)); 
    combo.setItems(new String[] {"5", "10", "15", "20"}); 
    combo.setBounds(356, 172, 126, 25); 
    combo.setText("5"); 

的問題是,當我打開程序我必須選擇我的一些comboviewer,然後我有做一個簡單的加法使用這組號碼。什麼代碼來獲得選定的comboviewer號碼?

回答

6

您可以將ISelectionChangedListener添加到ComboViewer以在選擇更改時得到通知,也可以手動獲取。程序是一樣的:

StructuredSelection sel = (StructuredSelection) viewer.getSelection(); 
YourDataType element = (YourDataType) sel.getFirstElement(); 
+0

我應該在哪裏放置你的代碼? – user3850946

+0

@ user3850946您可以[編輯](http://stackoverflow.com/posts/24841539/edit)您的問題並添加代碼。 – Baz

+0

final ComboViewer comboViewer = new ComboViewer(shlFreeViews,SWT.NONE); final Combo combo = comboViewer.getCombo(); combo.setVisibleItemCount(4); combo.setFont(SWTResourceManager.getFont(「Segoe UI」,13,SWT.NORMAL)); combo.setItems(new String [] {「5」,「10」,「15」,「20」}); combo.setBounds(356,172,126,25); combo.setText(「5」); StructuredSelection sel =(StructuredSelection)viewer.getSelection(); YourDataType元素=(YourDataType)sel.getFirstElement(); – user3850946