2015-06-03 37 views
-1

我在Scala很新。我使用了一個具有自定義類型「約束」的tableView,我需要在該行中迭代它。如何在Javafx或Scalafx中迭代tableView?

這裏是我迄今爲止得到:

class ConstraintView(val stage : Stage) { 

var obs : ObservableBuffer[Constraint]=ObservableBuffer() 

var listConst : List[ConstraintTrait]=List() 

val checkColumn=new TableColumn[Constraint, java.lang.Boolean] { 
text = "" 
cellValueFactory=_.value.initialSelection.delegate 
} 

checkColumn.setCellFactory(CheckBoxTableCell.forTableColumn(checkColumn)) 



stage.title="Constraint Table View" 
stage.scene=new Scene { 

val tab=new TableView[Constraint](obs) { 
    editable=true 
    columns ++=List(checkColumn, 
     new TableColumn[Constraint, String] { 
     text="Constraint Name" 
     cellValueFactory=_.value.constraintNameProp 

     }, 
     new TableColumn[Constraint, String] { 
     text = "Result" 
     cellValueFactory=_.value.resultProp 
     } 

    ) 
    } 


content=tab 

} 

回答

1

在Java中,你會做

for (Constraint c : tab.getItems()) { 
    // do something with c 
} 

tab.getItems().forEach(c -> { 
    // do something with c 
}); 

我不知道斯卡拉,但也許這足以讓你能夠翻譯。

+0

thanx但我需要的確切是爲每一行tableview設置一個工具提示。 – Achref

+0

但這並不是你問的問題,你不能通過遍歷表來完成。 –