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:
1 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这把刀一定要随时的能上手,不能让他锈太久。
共勉,好好学习这把刀。。。