答案 0 :(得分:3)
这是一个聊天应用,
如果您只是在面板中显示文本,则可以使用具有右/左对齐文本的JTextPane,如下所示:Java Swing JTextArea write both left and right
或者您希望每列可以使用一个组件GridBagLayout
。然后你需要使用:
fill
约束,以便填充行中可用的宽度。anchor
约束,因此该组件位于LINE_START
或LINE_END
上。阅读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对齐。