相关疑难解决方法(0)

Java:JLabels中的换行符?

我正在尝试使用多行文本制作Swing JLabel.它添加得很好,但换行没有通过.我该怎么做呢?或者,我可以只为JLabel指定一个最大宽度,并知道文本会换行,就像在div中一样吗?

    private void addLegend() {
        JPanel comparisonPanel = getComparisonPanel();

        //this all displays on one line
        JLabel legend = new JLabel("MMM FFF MMM FFFO O OOM   M MMMM.\nMMM FFF MMM FFFO O OOM   M MMMM.\nMMM FFF MMM FFFO O OOM   M MMMM.\n"); 

        comparisonPanel.add(legend);        
    }
Run Code Online (Sandbox Code Playgroud)

java user-interface swing jlabel

23
推荐指数
5
解决办法
4万
查看次数

JLabel进入GridBagLayout.如何修复宽度?

我有一个非常简单的JLabel文本很长.
父布局是GridBagLayout.
我希望包含Frame的宽度不超过某个值,比如160像素.
所以我将文本设置为"html",以便JLabel能够将文本包装成多行.
现在我只想"修复"JLabel的宽度.但我还没找到办法.
Jframe的最大大小,布局管理器不检查JLabel,所以我不知道是否有"简单"的解决方案.

这个非常简单的例子(只修复导入运行)显示了这种情况.

public class SSCE extends JFrame {

    public static void main(String [] args) {
        new SSCE().setVisible(true);
    }

    public SSCE() {

        setLayout(new GridBagLayout());

        GridBagConstraints gbc = new GridBagConstraints();
        gbc.gridx = 0;
        gbc.gridy = 0;
        gbc.weightx = 1;
        gbc.weighty = 1;
        gbc.fill = GridBagConstraints.BOTH;

        JLabel label = new JLabel("<html>one two three four five six seven eight nine ten eleven twelve thirteen");
        add(label, gbc);

        gbc.gridy=1;
        JLabel label2 = new JLabel("other content");
        add(label2, gbc);

        pack();

    }

}
Run Code Online (Sandbox Code Playgroud)

java layout swing text jlabel

4
推荐指数
1
解决办法
5588
查看次数

如何在Java GUI上添加多行标签?

我做了一个java swing GUI.现在我想在其上显示静态消息,但消息是多行的,JLabel是单行.

如何显示该消息?

是否有JLabel的任何属性我们可以设置显示多行消息?

我是否必须为多条线路使用多个JLabel?

有没有其他方法可以显示该消息?

java user-interface swing jlabel

3
推荐指数
2
解决办法
3935
查看次数

3
推荐指数
2
解决办法
6903
查看次数

标签 统计

java ×4

jlabel ×4

swing ×4

user-interface ×3

layout ×1

text ×1