将JPanel添加到JPanel的右侧或左侧

时间:2016-05-23 17:53:38

标签: java swing

我使用java swing  我尝试了一些布局,但他们没有工作。 我有一个主面板,包含一些面板,或右侧或左侧 ,显然是一个低于另一个。

谁知道该怎么办? 感谢所有

enter image description here

1 个答案:

答案 0 :(得分:3)

  

这是一个聊天应用,

如果您只是在面板中显示文本,则可以使用具有右/左对齐文本的JTextPane,如下所示:Java Swing JTextArea write both left and right

或者您希望每列可以使用一个组件GridBagLayout。然后你需要使用:

  1. 每个组件的fill约束,以便填充行中可用的宽度。
  2. 然后,对于每个组件,您将使用anchor约束,因此该组件位于LINE_STARTLINE_END上。
  3. 阅读Using a GridBagLayout上Swing教程中的部分,了解有关这些约束的更多信息。

    或者,您可以使用Relative Layout,它也允许面板的垂直布局。在这种情况下,代码将类似于:

    RelativeLayout rl = new RelativeLayout(RelativeLayout.Y_AXIS);
    rl.setFill(true);
    setLayout( rl );
    
    JPanel left = new JPanel(new FlowLayout(FlowLayout.LEFT) );
    left.add(new JLabel("left"));
    add(left);
    
    JPanel right = new JPanel(new FlowLayout(FlowLayout.RIGHT));
    right.add(new JLabel("right"));
    add(right);
    

    所以你只需要管理每个面板的FlowLayout对齐。