java中JScrollPane问题
jb1.addActionListener(newActionListener(){@OverridepublicvoidactionPerformed(ActionEv...
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内容就是固定不动,不能滚动显示!~~~请帮忙解决!~~~
这是运行图。。。。看右侧部分,没有滚动!~~~ 展开
@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个回答
展开全部
js.setVerticalScrollBarPolicy(int policy) 试试.
你现在只设置了水平滚动策略.
不过我也好久没用swing了.....
你现在只设置了水平滚动策略.
不过我也好久没用swing了.....
追问
我加了,还是没有 ,不过谢谢你啦!~~
追答
把jscrollpane的大小定死,然后jtextarea的大小会改变.这样就会有滚动条了..
jp默认的布局我印象中是流布局.大小应该是会变化的.你可以把布局设置成borderlayout试试...因为borderlayout里center部位的组件会自动扩展到最大.大小就被定死了...
不行贴完整代码吧
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询