jpanel网格布局添加滚动条_JPanel放置到JScrollPane里面并显示滚动条

本文介绍了如何在Java Swing中为包含网格布局的JPanel添加滚动条。通过创建JScrollPane并调整JPanel的preferredSize,成功实现了滚动条的显示。示例代码展示了一个JPanel在鼠标点击时图像放大并自动更新滚动条的行为。
摘要由CSDN通过智能技术生成

一开始,我是知道不能直接在JScrollPane对象里用add()的,需要获取它的视图板

getViewport();这是一个JViewport对象,然后在这上面添加,而且它不能添加轻量级组件。

我弄了一个JPanel,上面用网格布局10行1列的,本来想,把这个板添加到Viewport上就行了,结果发现,没有出现滚动条,于是我设置Viewport的布局方式,用尽了都不行。比如说用NULL布局吧,然后把Panel设长,结果Panel确实变长了,但滚动条不出来

经过费心苦想,我直接设置了一下Panel的setPerferredSize(Dimension dim),dim的参数我用的是Viewport的getDemension所得。这下好了,哈哈,安装上去实现了滚动。

===============

附上一个例子

因为scrollPane是根据里面的子控件的preferredSize来确定滚动条的。

让image尺寸变化时,scrollPane能得到新的数据。

解决方式有两种,一种是改变大小时重新设置JPanel的preferred size;

一种是重载getPreferredSize()方法,按照需要返回,楼主的情况可以返回当前

图片的大小的Dimension。

import java.awt.Dimension;

import java.awt.Graphics;

import java.awt.Image;

import ja

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值