MenuPane
, GridPane
까지 확장되는 특정 클래스가 있습니다. 문자 메시지를 표시하는 여러 개의 클릭 버튼
LogPane
를 포함하는,
ButtonPane
보여줍니다 StatPane
, 다양한 번호 :이 창은 3 개도 GridPane
을 확장 모두 다른 창이 포함되어 있습니다.다른 여러 클래스에서 사용할 수있는 클래스를 표시하는 텍스트
MenuPane
은 LogPanes push(String message)
기능을 사용하여 메시지를 인쇄 할 수 있습니다. 그러나 ButtonPane
버튼을 클릭 할 때도 메시지를 인쇄해야합니다.
가장 효율적인 방법은 무엇입니까? 물론 ButtonPane에 MenuPane을 줄 수는 있지만 this.MenuPane.LogPane.push("This is a message.");
을 수행 할 수 있습니다. 그러나 이것은 끔찍한 것처럼 보입니다. 누구든지이 일을 더 효율적/청결한 방법을 알고 있습니까?
LogPane 코드 :
import Project.Other.Constants;
import javafx.scene.control.TextArea;
import javafx.scene.layout.GridPane;
/**
* Created on 15/12/2017.
* Scrollable window which contains Text messages.
*/
class LogPane extends GridPane{
private TextArea log;
LogPane(){
initialize();
}
private void initialize(){
log = new TextArea();
log.setEditable(false);
log.prefWidth(Constants.width/3);
log.prefHeight(Constants.height);
log.setText("Text Log loaded. Messages:");
setConstraints(log, 0, 0);
getChildren().add(log);
setMinHeight(Constants.height);
setMaxHeight(Constants.height);
setMinWidth(Constants.width/3);
setMaxWidth(Constants.width/3);
}
void push(String message){
log.setText(log.getText() + "\n" + message);
log.appendText("");
//log.setScrollTop(Double.MAX_VALUE);
}
}
매력처럼 작동했습니다. 감사. – JavaHR