2017-07-26 143 views
0

我想要在​​中的代码在控制器所属的窗口打开时执行。我会怎么做?如何在JavaFX中打开新窗口时执行代码?

public class OpenAccountScreenController { 
    public TableView openAccountTableView = new TableView(); 
    public TableColumn accountNameColumn = new TableColumn(); 
    public TableColumn accountNumberColumn = new TableColumn(); 

    public void execute() { 
     accountNameColumn.setCellValueFactory(new PropertyValueFactory("accountName")); 
     accountNumberColumn.setCellValueFactory(new PropertyValueFactory("accountNumber")); 

     for(Account account : accounts.values()) { 
      openAccountTableView.getItems().add(account); 
     } 
    } 
} 

回答

1

如果我理解你的问题正确,你想调用​​另一类一旦所示的窗口/舞台,所以你可以做这样的事情:

OpenAccountScreenController obj = new OpenAccountScreenController(); 

stage.setOnShowing(e-> obj.execute()); 

否则请澄清。

+0

不,我想调用/执行OpenAccountScreenController中的代码,在窗口打开后用值填充表格。 @Yahya – faraaz

+1

@faraaz这就是代码所做的。 –

+0

@SergeyGrinev这不会工作,因为我们正在创建一个OpenAccountScreenController的新实例。我需要一种方法来填充表格而不创建控制器的新实例。 – faraaz

相关问题