java中JScrollPane问题

jb1.addActionListener(new ActionListener() {

@Override
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
JPanel jp = new JPanel(); //定义了JPanel
JTextArea ta = new JTextArea(); //定义了JTextArea
ta.setLineWrap(true);
JScrollPane js = new JScrollPane(ta); //定义了JScrollPane
js.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
String result = "";
for(Student s:v){
result+= "学号:"+s.getsNo()+"\n姓名:"+s.getsName()
+"\n性别:"+s.getsSex()+"\n年龄:"+s.getsAge()
+"\n所在系:"+s.getsDept()+"\n";

}
ta.setText(result);
jp.add(js); //将JScrollPane添加到JPanel中
QueryMenu.this.add(jp,BorderLayout.EAST); //BorderLayout布局,添加在东部
QueryMenu.this.setVisible(true);
}
});
我将JScrollPane添加在了JPanel中,JScrollPane中添加了一个JTextArea,JPanel添加在了布局为BorderLayout的东部,目的是让JTextArea能够滚动显示内容!~~~但是我试了很多遍,JTextArea内容就是固定不动,不能滚动显示!~~~请帮忙解决!~~~
这是运行图。。。。看右侧部分,没有滚动!~~~

第1个回答  2014-09-08
js.setVerticalScrollBarPolicy(int policy) 试试.
你现在只设置了水平滚动策略.
不过我也好久没用swing了.....追问

我加了,还是没有 ,不过谢谢你啦!~~

追答

把jscrollpane的大小定死,然后jtextarea的大小会改变.这样就会有滚动条了..

jp默认的布局我印象中是流布局.大小应该是会变化的.你可以把布局设置成borderlayout试试...因为borderlayout里center部位的组件会自动扩展到最大.大小就被定死了...

不行贴完整代码吧

本回答被提问者采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网