【问题标题】:How to get JPanels to vertically align?如何让 JPanel 垂直对齐?
【发布时间】:2012-11-15 20:51:27
【问题描述】:

这是我第一次真正在 Java 中使用图形。

我有一个问题,我试图用未定义数量的面板填充 JScrollPane(以下代码只是一个测试;我知道它是使用不良做法编写的,但这是一个测试,看看如何做到这一点是全部)。

在最后的程序中,我将有一个订单的 ArrayList(ArrayList 大小未预先确定),在 JScrollPane 中,我将有一个 JPanel,其中包含一个 JPanel(每个都包含多个标签),其中包含详细信息每个订单。

这是当前的测试代码(JScrollPane 简称为 scrollPane):

    JPanel panel = new JPanel();
    GroupLayout experimentLayout = new GroupLayout(panel);
    ArrayList<JPanel> panelArray = new ArrayList();

    for(int i = 0; i <3; i++){
        JPanel panel2 = new JPanel();
        JLabel label2 = new JLabel("Hello");
        JLabel label3 = new JLabel("Hi");
        panel2.add(label2);
        panel2.add(label3);
        //panel.add(panel2);
        panelArray.add(panel2);

    }

        experimentLayout.setHorizontalGroup(
            experimentLayout.createParallelGroup()
                .addComponent(panelArray.get(0))
                .addComponent(panelArray.get(1))
                .addComponent(panelArray.get(2))
           );

        experimentLayout.setVerticalGroup(
            experimentLayout.createSequentialGroup()
                                                                                                 //.addGroup(experimentLayout.createParallelGroup(GroupLayout.Alignment.LEADING)
                .addComponent(panelArray.get(0))
                .addComponent(panelArray.get(1))
                .addComponent(panelArray.get(2))
            );

        scrollPane.setViewportView(panel);

运行时,包含标签的 JPanel 会水平显示(彼此相邻),而不是彼此下方。

任何关于如何垂直显示它们的帮助都会非常有帮助 - 谢谢大家:)

【问题讨论】:

标签: java jframe jpanel jscrollpane


【解决方案1】:

您可能会发现 GridLayout 很有用。

【讨论】:

  • 谢谢 :) 很有魅力!
猜你喜欢
  • 2016-03-16
  • 2012-02-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-04
相关资源
最近更新 更多