JLabel或JButton如何告诉JScrollPane视图大小已更改?

时间:2012-04-23 08:49:04

标签: java swing user-interface layout jscrollpane

JLabelJButton如何通知JScrollPane视图大小已更改(例如设置了图标时),以便确定是否需要显示滚动条?

如何在不使用上述组件的情况下,使用简单的JPanel实现类似的行为来显示图像?

PS:我查看了源代码,到目前为止,我看到的是一个Component被称为“view”并被传递给JViewJViewport,它注册了一些听众。从那时起,事情似乎不清楚。

1 个答案:

答案 0 :(得分:4)

正如JScrollPane API中所述,除非您更改策略,否则只要组件的内容大于视图,就会出现水平和垂直滚动条。一旦pack()确定了Window“的大小以适合其子组件的首选大小和布局,”当验证并重新绘制容器时,滚动窗格会看到任何后续更改。有关详情,请参阅Painting in AWT and Swing