java - JLabel 或 JButton 如何告诉 JScrollPane View 大小已更改?

标签 java swing user-interface layout jscrollpane

JLabelJButton 如何通知 JScrollPane View 大小已更改(例如,当已设置图标时)以便它可以判断是否需要显示滚动条?

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

P.S: 我已经查看了源代码,到目前为止我所看到的只是一个组件被称为“ View ”并传递给 JViewJViewport 注册了一些监听器。从那里开始,事情似乎还不清楚。

最佳答案

JScrollPane 中所述API,除非您更改策略,“只要组件的内容大于 View ,水平和垂直滚动条都会出现。”一旦 pack() 调整了 Window 的大小“以适应其子组件的首选大小和布局”,在验证容器时,滚动 Pane 会看到任何后续更改,并且重新粉刷。参见 Painting in AWT and Swing了解更多。

关于java - JLabel 或 JButton 如何告诉 JScrollPane View 大小已更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10277412/

相关文章:

java - Swing addWindowFocusListener

python - 如何让 QtGui 窗口在屏幕上显示时处理事件?

java - 配置 GUI 时出现问题

java - 将图像从android studio发送到cpp

java - 如何编写一个 Java 程序来计算地球上两点之间的距离?

java - Groovy OpenCSV 读取带有反斜杠的值(例如 "domain\user")

java - 使用多个自定义表格模型避免重复代码

java - 如何使用 CDI(焊接)编写可插拔应用程序?

java - setText() 在 mouseClicked() 函数中不起作用

asp.net-mvc-3 - 如何为下拉列表使用数据注释?