JAVA把Jpanel加入到JScrollPane的重绘问题

时间:2024-03-21 12:38:13

在写一个需要用到组件重绘问题的应用时,先是遇到了重绘问题,然后又遇到组件内容无法滑动的问题。

组件结构为JPanel加入到JScrollPane,

然后把JScrollPane加入到JFrame中

关于组建重回问题:

因为是第一次写重回,所以在编写过程中,对不同部分进行了重绘尝试,最后发现,只需要对JPanel调用updateUI();

而无需对JSrollPane和JFrame调用repaint()或者updateUI();

对于当JPanel组件中的内容超过屏幕范围时,滚动条滑动问题:

再对JPanel组件重绘时,需要重新设定JPanel组件的长宽,根据内容宽度设定。

下面代码中的container是一个JPanel

container.removeAll();
/*


这里对container中的内容更新


*/
int num = container.getComponentCount();
container.setPreferredSize(new Dimension(650,50*num));//根据内容更新尺寸
container.updateUI();

下图是JPanel中组建不多时

JAVA把Jpanel加入到JScrollPane的重绘问题

往JPanel中添加足够多组件时

JAVA把Jpanel加入到JScrollPane的重绘问题

滚动条会在内容超过组件长宽时,变的能够滑动。