1. 程式人生 > 其它 >java中TextArea和JTextArea的自動換行和滾動條

java中TextArea和JTextArea的自動換行和滾動條

這幾天有些空閒,在做一個縮略詞的詞典。

  要用到swing,也是許久沒有寫過swing構件的程式碼了,對於swing這把刀已經感覺很生疏了。

  要用到一個文字顯示區,為了便於複製,我用了JTextArea。JTextArea本身預設的是不換行,不滾動條顯示。你設定完他的大小之後,他就只是顯示在這個視窗大小內的內容。

  換行

  這個實現起來比較容易:  

1         JTextArea textAreaOutput;
2         textAreaOutput = new JTextArea("縮略詞詞典", 20, 43);
3         textAreaOutput.setSelectedTextColor(Color.RED);
4         textAreaOutput.setLineWrap(true);        //啟用自動換行功能 
5         textAreaOutput.setWrapStyleWord(true);            // 啟用斷行不斷字功能

  這樣子,無論是TextArea還是JTextArea都可以正常的進行換行了。

滾動條

  實現起來,在TextArea和JTextArea中有所區別:

  TextArea:

TextArea textArea;
2         textAreaOutput = new JTextArea("縮略詞詞典", 20, 43, TextArea.SCROLLBARS_VERTICAL_ONLY);

  JTextArea:

 JTextArea textAreaOutput;
    JPanel panelOutput;

    panelOutput = new JPanel();
    panelOutput.add(new JScrollPane(textAreaOutput));

  有人曾說swing是一把刀(http://www.iteye.com/topic/699515),這把刀平時可能用不著,比如專注於java web的monkey們,但是不免有時候需要一個小程式來幫助我們進行大專案的開發,這時候,swing可能就會用到了。當然不是個文字換行的小兒科問題。所以,我感覺swing這把刀一定要隨時的能上手,不能讓他鏽太久。