为什么Scrollpane不自动出现滚动条???

gamebus 2003-05-14 05:05:12
……
private String path="e:\\test.jpg";
private JPanel PaneImageView = new JPanel();
private BorderLayout borderLayout2 = new BorderLayout();
private JLabel imageview=new JLabel();
private JScrollPane ScrollPaneImage= new JScrollPane();
private void initPaneImageView()
{
ImageIcon im=new ImageIcon(path);
imageview.setIcon(im);
ScrollPaneImage.setViewportView(imageview);
ScrollPaneImage.setAutoscrolls(true);
PaneImageView.setLayout(borderLayout2);
PaneImageView.add(ScrollPaneImage, BorderLayout.NORTH);
}
...全文
143 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
gamebus 2003-05-15
  • 打赏
  • 举报
回复
ScrollPaneImage.revalidate();

revalidate();//JScrollPane没这个方法啊

gamebus 2003-05-15
  • 打赏
  • 举报
回复
ScrollPaneImage.setPreferredSize(new Dimension(picturew, pictureh));//
这样设置可以显示滚动了,但是他固定了高,
怎么才能让pictureh根据他所属的面板PaneImageView而变化啊!

steelabeer 2003-05-15
  • 打赏
  • 举报
回复
补充:
ScrollPaneImage.setPreferredSize(new Dimension(picturew, pictureh));//可以得到图片的大小
ScrollPaneImage.revalidate();
steelabeer 2003-05-15
  • 打赏
  • 举报
回复
JScrollPane ScrollPaneImage= new JScrollPane(PaneImageView );
gamebus 2003-05-15
  • 打赏
  • 举报
回复
up
gamebus 2003-05-14
  • 打赏
  • 举报
回复
我又测试了一下
如果PaneImageView加在一个布局为Borderlayout上,就可以出现滚动
如果加在布局为GridBagLayout上,就不行,而是以图片实际长度
我应该怎么控制使GridBagLayout的布局上的Scrollpane按照面板长宽显示啊
gamebus 2003-05-14
  • 打赏
  • 举报
回复
我是将ScrollPane放到PaneImageview这个面板上
那我ScrollPaneImage中不放JLable型的,应该发什么类型的组件
jiaojian77 2003-05-14
  • 打赏
  • 举报
回复
ScrollPaneImage中放的是imageview,当然只能按图片的高为基准来滚动了。
你把ScrollPaneImage放到PaneImageView,怎么可能让PaneImageView也滚动呢?
gamebus 2003-05-14
  • 打赏
  • 举报
回复
就算我加上永远滚动,滚动条下方的按钮超出了PaneImageView面板的范围
总是以图片的高为基准,而不是以PaneImageView的大小为基准

62,612

社区成员

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

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