Ich bin neu in Java Fx und wollte eine Art Konsole erstellen, auf der ich Nachrichten ausgebe.
Diese Nachrichten kommen allerdings sehr häufig(alle 10 ms). Ich habe eine TextArea ausgewählt als Ausgabefenster.
wichtig ist vielleicht noch, dass die Ausgabe von einem anderen Thread aufgerufen wird.
Es funktioniert auch ziemlich gut, nur die Prozessorauslastung geht ca 20% hoch wenn ich die Konsole aktiviere.
Gibt es eine Möglichkeit das Ressourcensparender zu gestalten?
Diese Nachrichten kommen allerdings sehr häufig(alle 10 ms). Ich habe eine TextArea ausgewählt als Ausgabefenster.
Java:
public class Controller {
@FXML
private TextArea console;
@FXML
private Button startButton;
@FXML
private Button stopButton;
private boolean blockConsole=false;
@FXML
void startPressed(ActionEvent event) {
blockConsole=false;
}
@FXML
void stopPressed(ActionEvent event) {
blockConsole=true;
}
public void appendText(String text) {
if(!blockConsole) {
if (Platform.isFxApplicationThread()) {
console.appendText(text + "\n");
} else {
Platform.runLater(() -> console.appendText(text + "\n"));
}
}
}
@FXML
public void initialize() throws IOException {
}
}
wichtig ist vielleicht noch, dass die Ausgabe von einem anderen Thread aufgerufen wird.
Es funktioniert auch ziemlich gut, nur die Prozessorauslastung geht ca 20% hoch wenn ich die Konsole aktiviere.
Gibt es eine Möglichkeit das Ressourcensparender zu gestalten?