簡體   English   中英

阻止JTextArea擴展

[英]Stop JTextArea from expanding

我正在嘗試從數據文件中讀取信息並將其處理到JTextArea ,以獲取我正在制作的術語項目的about文件。 問題是,當我執行scanner.nextLine()它正在擴展文本區域以適應文本,我想要的是保持文本區域的大小相同,如果它在當前行上的空間不足則啟動在...上

    if(event.getSource() == forward)
    {
        text.setText(s.nextLine());
    }

文本區域設置如下:

     text = new JTextArea(11, 30); 

基本上我想知道的是,如果有一個文本區域提供的方法(我看),如果當前已滿,則將空間重定位到下一行。 如果在文本區域中沒有辦法,我很可能只編輯數據文件。

JTextArea放在JScrollPane然后將滾動窗格添加到容器中

text = new JTextArea(11, 30);
JScrollPane scrollpane = new JScrollPane(text);
//...
add(scrollpane);

有關更多詳細信息,請參見如何使用滾動窗格

這將阻止滾動窗格在當前容器中增長。

另請查看JTextArea#setLineWrapJTextArea#setWrapStyleWord ,它將影響組件如何處理超出可查看寬度的文本。

有關詳細信息,請參見如何使用文本區域

您可以使用JTextArea #setLineWrap(true)默認設置為false。

設置文本區域的換行策略。 如果設置為true,則如果行太長而無法放入分配的寬度內,則會對其進行換行。 如果設置為false,則將始終打開行。 更改策略時會觸發PropertyChange事件(“lineWrap”)。 默認情況下,此屬性為false。

另請參見此方法JTextArea#setWrapStyleWord(true)

SSCCE示例:

   public class JTextAreaTest {

    public static void main(String args[]){

        JFrame frame = new JFrame();
        JPanel panel = new JPanel();
        frame.add(panel);
        JTextArea textArea = new JTextArea(11,30);
        textArea.setLineWrap(true);
        textArea.setWrapStyleWord(true);
        textArea.setText("Hi how are you? Im testing this textarea and im seeing if it's wrapping words");
        textArea.append("SASASASASDASDASDASDASDASDADSASDASDASDASDAS");
        JScrollPane scrollPane = new JScrollPane(textArea);
        panel.add(scrollPane);

        frame.pack();
        frame.setVisible(true);
    }

}

textArea示例

暫無
暫無

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

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