2013-12-05 3 views
2

Итак, у меня есть BorderPane, у которого есть TextArea, который установлен в центре. Он отображает информацию о продажах за текущий год:JavaFX: Могу ли я получить доступ к узлам, которые он содержит?

public static BorderPane addTransactionPanel() { 

    BorderPane pane = new BorderPane(); 
    pane.setPrefSize(500, 320); 
    final String[] monthName = {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}; 

    final TextArea middle = new TextArea(); 
    middle.setPrefRowCount(1000); 
    middle.setEditable(false); 

    pane.setBottom(addBox); 
    pane.setCenter(middle); 

    for (int i = 2; i < li.get(index).getIncomeBook().getExpense().size(); i++) { 
     if (li.get(index).getIncomeBook().getExpense().get(i).getDate().getYear() == year) { 
       middle.appendText("New expense of: $" + moneyDisplay(li.get(index).getIncomeBook().getExpense().get(i).getValue()) + " on " + monthName[li.get(index).getIncomeBook().getExpense().get(i).getDate().getMonth() - 1] + "\n"); 
     } 
    } 

    return pane; 
} 

Это сравнивает содержимое расходов IncomeBook (и года это было потрачено на), и если он совпадает с текущим годом, он добавляет текст на TextArea. Но теперь, когда я меняю год (который является общедоступной переменной), я хочу, чтобы он обновлялся. Я пытаюсь создать еще один метод:

public void updateTransactionPanel(BorderPane transactionPanel){ 
    // I want to clear transactionPanel.middle and write in it again. 
    // Can I access the "middle" Node from another method? 
} 

ответ

2

Доступ «средний» узел transactionPanel из другого метода, очистить его и писать в него снова.

public void updateTransactionPanel(BorderPane transactionPanel){ 
    TextArea middle = (TextArea) transactionPanel.getCenter(); 
    middle.setText("Updated transaction panel text"); 
} 
+0

getCenter() был правильным. но спасибо.! – Stevantti

+0

Да, так это Стеванти :-) Отредактировал опечатку в своем ответе, чтобы исправить ее. – jewelsea

 Смежные вопросы

  • Нет связанных вопросов^_^