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内容就是固定不动,不能滚动显示!~~~请帮忙解决!~~~
这是运行图。。。。看右侧部分,没有滚动!~~~
你现在只设置了水平滚动策略.
不过我也好久没用swing了.....追问
我加了,还是没有 ,不过谢谢你啦!~~
追答把jscrollpane的大小定死,然后jtextarea的大小会改变.这样就会有滚动条了..
jp默认的布局我印象中是流布局.大小应该是会变化的.你可以把布局设置成borderlayout试试...因为borderlayout里center部位的组件会自动扩展到最大.大小就被定死了...
不行贴完整代码吧