我有一个相对较大的文字,由一个JLabel
代表。该文本已添加到JPanel
组件GridBagLayout
。
我希望文本填充x轴上面板内的所有可用空间,并仅在y轴上提供滚动。此外,在缩放面板时,滚动和文本对齐应相应更改。
因此,请考虑以下代码示例:
JPanel panel = new JPanel(new GridBagLayout());
JLabel desc = new JLabel("largelarge text");
JScrollPane scrollPane = new JScrollPane(desc, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
panel.add(scrollPane, gbc constraints here);
有什么建议吗?
答案 0 :(得分:1)
我希望文本填充x轴上面板内的所有可用空间,并仅在y轴上滚动
您需要创建自定义面板并实施Scrollable
界面。
您将实现getScrollableTracksViewportWidth()
方法返回“true”,getScrollableTracksViewportHeight()
方法返回“false”。您还需要实现接口的其他方法以提供合理的值。
或者,您可以使用Scrollable Panel实现具有默认行为的所有Scrollable
接口方法,并提供允许您更改行为的方法。