如何让JTextArea中的文档滚动? 按上箭头文档向下滚动一行,按下箭头向上滚动一行,如何实现?另外,如何将光标定位到指定行上? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你可以使用JScrollPane使JTextArea具备滚动的能力,或是搭配setLineWrap()方法就能让文字自动换行。import java.awt.*;import java.awt.event.*;import javax.swing.*;public class JTextArea2{ public static void main(String[] args){ JFrame f=new JFrame("JTextArea2"); Container contentPane=f.getContentPane(); contentPane.setLayout(new BorderLayout()); JPanel p1=new JPanel(); p1.setLayout(new GridLayout(1,1)); p1.setBorder(BorderFactory.createTitledBorder("构造TextArea-使用GridLayout,加ScrollBar")); JTextArea t1=new JTextArea(5,25); t1.setTabSize(10); t1.setFont(new Font("标楷体",Font.BOLD,16)); t1.setLineWrap(true);//激活自动换行功能 t1.setWrapStyleWord(true);//激活断行不断字功能 p1.add(new JScrollPane(t1));//将JTextArea放入JScrollPane中,这样就能利用滚动的效果看到输入超过JTextArea高度的 //文字. contentPane.add(p1); f.pack(); f.show(); f.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){ System.exit(0); } }); } } //上面这位把代码已经说了:你可以使用JScrollPane使JTextArea具备滚动的能力,或是搭配setLineWrap()方法就能让文字自动换行。如果是在设计视图下面,先在左边JScrollPane(在swing containers下),在design界面上点一下,注意这个时候界面是没有任何变化的,但其实已经把JScrollPane加上去了。你会发现左边Structure目录栏下的this目录下,多了个jScrollPane1项目。这就对了。呵呵现在在设计视图中选中 jtextarea ,点一下 左边structure目录栏的jscrollpane1,这样会发现在jscroolpane1下多了个jtextarea1,ok!最后在右边属性栏里把属性改应该一下就行了! 同意 wddlqd(快乐的人)JTextArea只要放在JScrollPane,就可以顯示出滾動條,如果必要scrollPane.setViewPortView(textArea); 不知是不是我表达的不够清楚,给JTextArea加上滚动条我知道怎么做,我想知道的是怎么用光标的上下键来使文本滚动一行,一般情况下,光标只有再文本域的上端和下端时,上下键才会使文本再文本域中滚动,否则仅仅是光标上下移动。另外,如何使光标定位到某一指定行? 文本阅读器,比如象Adobe Reader一样 windows8下my eclipse的兼容性问题 代码如下 请问 做了一个窗体的程序,创建很多窗口,用什么语句可以退出整个程序 ?? 用JAVA写一个类似QQ的P2P简单的信息交流软件 高手来帮忙!!! PreparedStatement 实现sql的批处理? 菜鸟请教 请文java中能调用matlab程序吗? 在java中如何打开一个.txt文件?? 怎么连接不上mysql数据库? 校验时间问题 不知道爲什麽畫不出東西 麻煩進來看看 在JAVA中如何启动不同功能的线程
import java.awt.event.*;
import javax.swing.*;public class JTextArea2{
public static void main(String[] args){
JFrame f=new JFrame("JTextArea2");
Container contentPane=f.getContentPane();
contentPane.setLayout(new BorderLayout());
JPanel p1=new JPanel();
p1.setLayout(new GridLayout(1,1));
p1.setBorder(BorderFactory.createTitledBorder("构造TextArea-使用GridLayout,加ScrollBar"));
JTextArea t1=new JTextArea(5,25);
t1.setTabSize(10);
t1.setFont(new Font("标楷体",Font.BOLD,16));
t1.setLineWrap(true);//激活自动换行功能
t1.setWrapStyleWord(true);//激活断行不断字功能
p1.add(new JScrollPane(t1));//将JTextArea放入JScrollPane中,这样就能利用滚动的效果看到输入超过JTextArea高度的
//文字.
contentPane.add(p1);
f.pack();
f.show();
f.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
}
}
JTextArea只要放在JScrollPane,就可以顯示出滾動條,如果必要
scrollPane.setViewPortView(textArea);