2016-10-09 4 views
2

私のツリービューを初期化することができません、私のfx:idは正しいですが、出力は私に空のツリービューを与えます。(JavaFX)TreeViewをどのように初期化するのですか?

私はfxmlコントローラでシーンビルダを使用しています。

これは私のFxmlコントローラです。

///////////////////////////////////////////////////////////////////////////// /////////////////////

import java.net.URL; 
import static java.time.Clock.system; 
import java.util.ResourceBundle; 
import javafx.event.ActionEvent; 
import javafx.fxml.FXML; 
import javafx.fxml.Initializable; 
import javafx.scene.control.Label; 
import javafx.scene.control.TreeItem; 
import javafx.scene.control.TreeView; 

/** 
* 
* @author Man Eesh 
*/ 
public class FXMLDocumentController implements Initializable { 

    @FXML 
    private TreeView<String> treeView; 
    @FXML 
    private Label label; 

    @FXML 
    private void handleButtonAction(ActionEvent event){  

    } 
    @Override 
    public void initialize(URL url, ResourceBundle rb) { 
     // System.out.print("here"); 
     label.setText("Hello World!"); 
     TreeItem<String> root = new TreeItem<>("Root Node"); 
     root.setExpanded(true); 
     System.out.print("here"); 
     root.getChildren().addAll(
      new TreeItem<>("Item 1"), 
      new TreeItem<>("Item 2"), 
      new TreeItem<>("Item 3") 
     ); 

     treeView.setRoot(root); 


    }  

} 
+0

お使いのコントローラが、その私ができる最も簡単な互換性のFXMLファイルとアプリケーションクラスで、私のためだけで正常に動作書きます。質問を編集して、問題を示す最小限のFXMLファイルとアプリケーションクラスを含めることができますか? –

答えて

0
@Override 
public void initialize(URL url, ResourceBundle rb) { 
    TreeItem<String> root = new TreeItem<>("root"); 


for(int i = 0; i < 10; i++) { 
    TreeItem<String> child = new TreeItem<>("Children " + i); 

root.getChildren().add(child); 
} 


root.setExpanded(true); 

this.treeview = new TreeView<>(root); 

treeview.getSelectionModel().setSelectionMode(SelectionMode.SINGLE); 
} 

@FXML 
public void addTreeViewItem() { 

} 

@FXML 
private void showAddStreamDialog() { 


    try { 
    Parent p; 

    p = FXMLLoader.load(getClass().getResource("AddStream.fxml")); 

    Scene s = new Scene(p); 

    Stage stage = new Stage(); 

    stage.initModality(Modality.APPLICATION_MODAL); 
    stage.setScene(s); 
    stage.show(); 

} catch (IOException ex) { 
    Logger.getLogger(MainSceneController.class.getName()).log(Level.SEVERE, null, ex); 
} 
関連する問題