JAVA Swing中JScrollPane与JPanel配合使用时的问题

aftermisak 2013-04-30 05:42:40
JPanel panel = new JPanel(new GridLayout(50,1));
JScrollPane sp = new JScrollPane(panel);
接下来,我在panel里添加了若干JLabel,工作正常,滚动条也出现

然后我将代码改写成以下
JPanel panel = new JPanel(null);
JScrollPane sp = new JScrollPane(panel);
接下来,我又在panel里添加了若干JLabel,不过这次,即使JLabel已经超出显示范围,滚动条也没有出现

这是为什么呢?
(是不是,JScrollPane只会在容器有布局管理器时才发挥作用?)
又该用什么解决这个问题呢?
...全文
408 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
huntor 2013-05-02
  • 打赏
  • 举报
回复
需要你显式设置大小,没有布局管理器,不会计算大小了
ace62 2013-05-02
  • 打赏
  • 举报
回复
设置一下 panel 的大小(PreferredSize)看看
WingSa 2013-04-30
  • 打赏
  • 举报
回复
查询过API后, 代码"JPanel panel = new JPanel(null);"是JPanel中的构造方法之一: public JPanel(LayoutManager layout) 要么指定LayoutManager,要么使用另一个构造器方法(采用默认布局管理器) public JPanel() 楼主使用null,表示没闹懂

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧