2016-12-12 2 views
1

Ich möchte das automatische Scrollen von TextArea in javaFx deaktivieren, denn wenn ich Text zu TextArea hinzufüge, wird die Bildlaufleiste nach unten bewegt, ich möchte nicht automatisch die Bildlaufleiste in TextArea scrollen, wenn ich den Text hinzufüge, scroll sollte ausgewählt sein Position (Beispiel: Benutzer liest die mittlere Zeile, wenn Sie den Text hinzufügen. Automatisch nach unten gehen, also muss der Benutzer die Bildrolle wieder in die mittlere Zeile verschieben). Aus diesem Grund möchte ich den Auto Scroll in TextArea in JavaFx deaktivieren.Wie deaktiviert man TextArea Auto Scroll in JavaFX und Java 8?

javafx.application.Platform.runLater(new Runnable() { 
    @Override 
    public void run() { 
    logTextArea.appendText("I am adding text here to TextArea"+"\n");// Adding the text to logTextArea 
    } 
}); 

Im Folgenden sind die ref Links: -? please check this link

Please Check this link also

+0

http://stackoverflow.com/questions/30573461/auto-scroll-down- a-textarea siehe in diesem Link, wenn er den Text Bildlaufleiste automatisch nach unten gehen, will ich nicht so. wo immer Benutzer die Bildlaufleiste behalten, die nach dem Anhängen des Textes vorhanden sein sollte. – epn

Antwort

0

Von How can I hide the scroll bar in TextArea:

entfernen Horizontale Scrollbar

textArea.setWrapText(true); 

entfernen Vertikale Scrollbar

ScrollBar scrollBarv = (ScrollBar)ta.lookup(".scroll-bar:vertical"); 
scrollBarv.setDisable(true); 

CSS

.text-area .scroll-bar:vertical:disabled { 
    -fx-opacity: 0; 
} 

Beispiel:

public class Test2 extends Application { 

public static void main(String[] args) { 
    launch(args); 
} 

@Override 
public void start(Stage primaryStage) { 
    TextArea textArea = new TextArea("This is my message"); 
    textArea.setWrapText(true); 
    String css = this.getClass().getResource("/ta.css").toExternalForm(); 
    textArea.getStylesheets().add(css); 
    primaryStage.setScene(new Scene(textArea)); 
    primaryStage.show(); 
    ScrollBar scrollBar = (ScrollBar) textArea.lookup(".scroll-bar:vertical"); 
    scrollBar.setDisable(true); 

} 

} 
+0

Wenn ich ScrollBar verwende scrollBarv = (ScrollBar) ta.lookup (". Bildlaufleiste: vertikal"); scrollBarv.setDisable (true); in Controller öffentliche Void initialisieren (URL URL, ResourceBundle rb) -Methode bekomme ich Nullpointer Exception. weil ich scrollPane nach dem Hinzufügen von etwas Text bekomme. Wenn ich css benutze, gibt es keine Ausnahme, aber es gibt keine Änderung. Meine Anforderung ist nach dem Hinzufügen von Text mehr das automatische scrollPane wird kommen, dass ich nicht will, scrollbar automatisch nach unten gehen. wo auch immer Benutzer die scrollBar behalten, die dort sein sollte, nachdem sie den Text auch hinzugefügt hat. – epn

+0

http://StackOverflow.com/a/30591681/5824797 siehe in diesem Link, wenn er die Text-Bildlaufleiste automatisch untergeht, will ich nicht so. wo immer Benutzer die Bildlaufleiste behalten, die nach dem Anhängen des Textes vorhanden sein sollte. – epn

+0

Sie müssen diese Codes nach dem Zeigen der Bühne verwenden. Ich aktualisiere die Antwort. Gib mir Bescheid. –