给 JTextArea 添加滚动条

在 Container 中给 JTextArea 添加滚动条:

JFrame jf = new JFrame();

Container c = jf.getContentPane();

c.setLayout(null);    //设置布局管理器为 null,即绝对定位

JTextArea jta = new JTextArea();

jta.setLineWrap(true);    //设置自动换行,自动换行则不会出现横向的滚动条
jta.setEditable(true);    //设置可编辑

JScrollPane jsp = new JScrollPane(jta);    //添加滚动条

jta.setBounds(20,20,100,500);    //设置 JTextArea 宽100,高500
jsp.setBounds(20,20,100,200);    //设置 JScrollPane 宽100,高200

c.add(jsp);    //将组件加入容器

 

在 JPanel 中给 JTextArea 添加滚动条:

注: JPanel 默认为流布局管理器

JFrame jf = new JFrame();

Container c = jf.getContentPane();

JPanel jp = new JPanel();

JTextArea jta = new JTextArea();
jta.setPreferredSize(new Dimension(100,500));    //设置 JTextArea 宽100,高500
JScrollPane jsp = new JScrollPane(jta);    //添加滚动条
jsp.setPreferredSize(new Dimension(100,200));    //设置 JScrollPane 宽100,高200

注: 这里 JTextArea 的高度一定要大于 JScrollPane 的高度

jp.add(jsp);    //将组件加入面板

c.add(jp);    //将面板加入容器

以上出自:http://xy0607.blog.163.com/blog/static/1626642920071202147295/

应将JTextArea置于JScrollPanel中
若要使只有垂直滚动条而没有水平滚动条,使用JTextArea.setLineWrap(true),自动换行。
 
 
JTextArea txaDisplay = new JTextArea(); 
JScrollPane scroll = new JScrollPane(txaDisplay); 
//把定义的JTextArea放到JScrollPane里面去 

//分别设置水平和垂直滚动条自动出现 
scroll.setHorizontalScrollBarPolicy( 
JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); 
scroll.setVerticalScrollBarPolicy( 
JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED); 

//分别设置水平和垂直滚动条总是出现 
scroll.setHorizontalScrollBarPolicy( 
JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); 
scroll.setVerticalScrollBarPolicy( 
JScrollPane.VERTICAL_SCROLLBAR_ALWAYS); 

//分别设置水平和垂直滚动条总是隐藏scroll.setHorizontalScrollBarPolicy( 
JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); 
scroll.setVerticalScrollBarPolicy( 
JScrollPane.VERTICAL_SCROLLBAR_NEVER); 

你可能感兴趣的:(C++,c,jsp,C#,Blog)