TextArea
を含むScrollPane
を作成しました。 TextArea
がpush()
メソッドで追加のテキストを取得する場合は、スクロールバーを一番下に設定する必要があります。ただし、push()
を使用すると、代わりにバーが上部に設定されます。私はそれを一番下に置くためにどのような方法が必要であるか分かりません。JavaFX ScrollPane - 更新をスクロールダウン
package Games.UI.RPG;
import Games.Other.Constants;
import javafx.event.EventHandler;
import javafx.scene.control.ScrollPane;
import javafx.scene.control.TextArea;
import javafx.scene.input.ScrollEvent;
/**
* Scrollable window which contains Text messages.
*/
class LogPane extends ScrollPane{
private TextArea log;
LogPane(){
initialize();
}
private void initialize(){
log = new TextArea();
log.setEditable(false);
log.prefWidth(512);
log.setText("Text Log loaded. Messages:");
setContent(log);
setFitToWidth(true);
setFitToHeight(true);
setMinHeight(Constants.height);
setMaxHeight(Constants.height);
setMinWidth(Constants.width/3);
setMaxWidth(Constants.width/3);
}
public void push(String message){
log.setText(log.getText() + "\n" + message);
setVvalue(getVmax());
}
}
なぜ追加のスクロールペインが必要ですか? 'TextArea'には既にこの振る舞いを持つスクロールバーが組み込まれています。 – user1803551
'ScrollPane'のvvalueプロパティを' TextArea'の 'heightProperty'にバインドすることができます。 –