Java JScrollPane无法缩小至JButton文本最小尺寸以下的问题解决
问题与解决记录:JScrollPane布局异常及JTabbedPane滚动失效修复
一、JScrollPane内GridLayout面板的水平收缩问题
- 场景:将包含
JButton、采用GridLayout(0,1)布局的JPanel放入JScrollPane视口 - 异常现象:
- 调整父
JFrame时,按钮可正常填充面板宽度 - 水平缩小到一定程度后停止,无法小于显示最短文本按钮所需的最小尺寸
- 垂直方向缩小无此问题:按钮会被挤压直至超出框架,滚动条正常显示(这是水平方向期望的行为)
- 调整父
- 尝试过的布局方案:
GridLayout、GridBagLayout,均未解决该问题
二、JTabbedPane滚动功能失效的修复
- 初始状态:程序启动时
JTabbedPane的滚动功能正常 - 失效原因:
ActionListener中错误地直接用新JPanel替换了标签页的组件 - 修复方案:获取标签页中已存在的
JScrollPane,将新JPanel添加到该JScrollPane的视口中,修复后滚动功能恢复正常
内容的提问来源于stack exchange,提问作者George Minkov
相关产品推荐
相关产品推荐

