ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

java-如何使JScrollPane与嵌套JPanels一起正常工作?

2019-11-02 22:00:27  阅读:265  来源: 互联网

标签:swing netbeans jscrollpane java user-interface


我正在使用NetBeans在Java中构建Swing应用程序,但是布局存在问题.我的主框架包含一个JScrollPane,其中包含一个名为contentPanel的JPanel,而该JPanel又包含一个名为listPanel的JPanel.程序启动时listPanel为空,但是当用户与程序交互时,不可预测的较小的JPanels被添加到其中.我已使用NetBeans GUI生成器将listPanel的顶部边缘对齐到contentPanel的顶部,底部边缘也是如此.

我的问题是,当更多组件添加到listPanel时,垂直滚动条不会出现在我的滚动窗格中.我的滚动窗格的verticalScrollBarPolicy设置为AS_NEEDED,其viewportView设置为contentPanel.我想我需要做的是在将更多项目添加到listPanel时使contentPanel增长.

解决方法:

The problem I have is that when more components are added to listPanel the vertical scrollbar doesen’t appear on my scrollpane.

当添加到滚动窗格的组件的首选大小大于滚动窗格的大小时,将显示滚动条.动态添加组件时,您需要告诉滚动窗格某些更改.因此,您的基本代码应为:

panel.add( subPanel );
panel.revalidate();

或者,因为要向子面板添加面板,所以可能需要重新验证滚动面板(我不记得了):

panel.add( subPanel );
scrollPane.revalidate();   

关键是revalidate(),它告诉布局管理器重新计算其大小.

标签:swing,netbeans,jscrollpane,java,user-interface
来源: https://codeday.me/bug/20191102/1994614.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有