Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在面板中设置标签布局_Java_Swing_Jpanel_Jlabel_Layout Manager - Fatal编程技术网

Java 在面板中设置标签布局

Java 在面板中设置标签布局,java,swing,jpanel,jlabel,layout-manager,Java,Swing,Jpanel,Jlabel,Layout Manager,在我的框架中,我在面板中添加标签,这要感谢for。我无法解决的问题是,它在同一行上添加标签,而我想在一行和另一行之间添加一个\n,以便生成一列!我不知道怎么做。有什么帮助吗?谢谢大家! 我认为关键在于存放jlabel的容器的布局。如果为该容器提供了正确的布局,例如沿页面轴定向的BoxLayout,或者为一列提供了GridLayout(0,1),其中一列的行数可变,那么JLabel将一列叠在另一列的顶部 e、 g 另一个想法是使用JList来显示字符串,而不是堆叠的JLabel。您可以共享代码的相

在我的框架中,我在面板中添加标签,这要感谢for。我无法解决的问题是,它在同一行上添加标签,而我想在一行和另一行之间添加一个\n,以便生成一列!我不知道怎么做。有什么帮助吗?谢谢大家!

我认为关键在于存放jlabel的容器的布局。如果为该容器提供了正确的布局,例如沿页面轴定向的BoxLayout,或者为一列提供了
GridLayout(0,1)
,其中一列的行数可变,那么JLabel将一列叠在另一列的顶部

e、 g


另一个想法是使用JList来显示字符串,而不是堆叠的JLabel。

您可以共享代码的相关位吗?
import java.awt.GridLayout;
import javax.swing.*;

public class StackingLabels extends JPanel {
    public static final String[] TEXTS = { "Sunday", "Monday", "Tuesday",
            "Wednesday", "Thursday", "Friday", "Saturday" };

    public StackingLabels() {
        setLayout(new GridLayout(0, 1));
        for (String text : TEXTS) {
            add(new JLabel(text));
        }
    }

    private static void createAndShowGui() {
        StackingLabels mainPanel = new StackingLabels();

        JFrame frame = new JFrame("StackingLabels");
        frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        frame.getContentPane().add(mainPanel);
        frame.pack();
        frame.setLocationByPlatform(true);
        frame.setVisible(true);
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                createAndShowGui();
            }
        });
    }
}