簡體   English   中英

具有JScrollPane的JTextArea不會在滾動一次后滾動

[英]JTextArea with JScrollPane isn't scrolling once full

我試圖使我的JTextArea填充文本時可滾動,但是當我添加JScrollPane時,它只是添加了一個不執行任何操作的滾動條。 當我添加的文本多於我的JTextArea可以顯示的文本時,它不會改變並且不會追加任何文本。

    Container window = getContentPane();
    window.setLayout(new FlowLayout());

    display = new JTextArea(TEXT_AREA_ROWS, TEXT_AREA_COLUMNS);
    display.setLineWrap(true);
    display.setPreferredSize(TEXT_AREA_DIMENSIONS);
    display.setBackground(TEXT_BG_COLOR);
    display.setForeground(TEXT_COLOR);
    display.setEditable(false);
    display.setFont(TEXT_FONT);
    window.add(display);

    scroll = new JScrollPane(display);
    scroll.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
    scroll.setPreferredSize(display.getPreferredSize());
    window.add(scroll);

提前致謝

編輯:意識到我的錯誤,我正在設置textArea而不是scrollPane的首選大小。 通過刪除display.setPreferredSize(TEXT_AREA_DIMENSIONS);可以解決此問題display.setPreferredSize(TEXT_AREA_DIMENSIONS); 並添加一個scroll.setPreferredSize(new Dimension(width, height)); 傻我

但是,如果您使用display.append(string)將文本追加到其上,則該文本將被添加到底部,該底部可能在當時也可能不在屏幕上。

好吧,您沒有聲明在原始問題中使用了append(...)方法。 這就是為什么您應該始終發布適當的SSCCE來說明問題的原因,因此我們不必猜測您在做什么。

有關可能的問題和解決方案,請參見“ 文本區域滾動 ”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM