我正在创建类似App的Messenger,仅用于学习。我将Grid的Parent JPanel的布局设置为GridLayout
。
现在,当我添加超过父JPanel大小的更多JPanel时,我希望JPanel显示ScrollBar。
我尝试将其添加到ScrollPane,但无法正常工作 波纹管是示例图片,
对不起,如果我的问题没有得到充分解释。如有需要,我将尝试进一步解释。
答案 0 :(得分:0)
我的看法是,在您的情况下,在BoxLayout
内有Y_AXIS
的{{1}}(带有小“把戏”)会更优雅。看看下面的SSCCE:,其中有一行用于注释您的问题,并带有网格布局。
BorderLayout
预览:
答案 1 :(得分:0)
每个人都试图解决我的问题,但就我而言,这无济于事。 所以我尽了一切可能。
我看到scrollBar
的{{1}}根据JScrollPanel
的大小出现,所以我尝试增加JPanel
的大小,这解决了我的问题。下面是一个示例和我所说的解释。
将所有JPanel
添加到父JPanels
之后,我将父JPanel
的{{1}}配置为父height
的{JPanel
+(子height
* {{1}的JPanel
}}
考虑以下代码:
height
这里的JPanel
是可以适合父级number of msgs
的默认大小的msgPanel.setPreferredSize(new Dimension(268,418+(new msg().getPreferredSize().height*(msgs.length-4)));
的默认数量