【发布时间】:2017-12-16 02:10:36
【问题描述】:
我有相对较大的文本,由单个 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);
有什么建议吗?
【问题讨论】:
-
考虑使用不可编辑的 JTextArea(如果文本全部使用一种字体)或 JEditorPane(如果文本是 HTML),而不是 JLabel。
标签: java swing user-interface jscrollpane