2016-12-12 5 views
1

Я хочу отключить автоматическую прокрутку TextArea в javaFx, потому что когда я добавляю текст в TextArea, прокрутка движется вниз, я не хочу, чтобы авто прокручивать полосу прокрутки в TextArea, если я добавляю текст, прокрутка должна быть выбрана (пример, если пользователь читает среднюю строку, если добавить текст, автоматически переходящий вниз, поэтому пользователю необходимо переместить свиток в среднюю строку). Поэтому по этой причине я хочу отключить автоматический прокрутки в TextArea в JavaFx.Как отключить автозапуск TextArea в JavaFX и 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 
    } 
}); 

Ниже приведен реф ссылка: - please check this link

Please Check this link also

+0

http://stackoverflow.com/questions/30573461/auto-scroll-down- a-textarea см. в этой ссылке, когда он добавляет строку прокрутки текста автоматически вниз, я не хочу этого. где когда-либо пользователь сохранил полосу прокрутки, которая должна быть там после добавления текста. – epn

ответ

0

От How can I hide the scroll bar in TextArea:

Удалить горизонтальную полосу прокрутки

textArea.setWrapText(true); 

Удалить Вертикальная полоса прокрутки

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

CSS

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

Пример:

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

если я использую ScrollBar scrollBarv = (ScrollBar) ta.lookup (". Scroll-bar: vertical"); scrollBarv.setDisable (true), в контроллере public void initialize (URL url, ResourceBundle rb) метод Я получаю исключение Nullpointer. потому что я получаю scrollPane после добавления некоторого текста. если я использую css, нет никакого исключения, но нет изменений. Мое требование - после добавления текста больше будет появляться авто scrollPane, в котором я не хочу автоматически прокручивать панель прокрутки. где когда-либо пользователь сохранил scrollBar, который должен быть там после добавления текста. – epn

+0

http://stackoverflow.com/a/30591681/5824797 см. В этой ссылке, когда он добавляет строку прокрутки текста автоматически вниз, поэтому я не хочу этого. где когда-либо пользователь сохранил полосу прокрутки, которая должна быть там после добавления текста. – epn

+0

вы должны использовать эти коды после показа сцены. Я обновляю ответ. дай мне знать. –

Смежные вопросы