Итак, у меня есть 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?
}
getCenter() был правильным. но спасибо.! – Stevantti
Да, так это Стеванти :-) Отредактировал опечатку в своем ответе, чтобы исправить ее. – jewelsea