0
我使用java swing 我试过witj一些布局,但他们did''work。 我有一个mainpanel,其中包含一些面板,或者向右或向左移动 ,其中一个显示在下面。将JPanel添加到JPanel的右侧或左侧
有人知道该怎么办? 感谢所有
我使用java swing 我试过witj一些布局,但他们did''work。 我有一个mainpanel,其中包含一些面板,或者向右或向左移动 ,其中一个显示在下面。将JPanel添加到JPanel的右侧或左侧
有人知道该怎么办? 感谢所有
这是一个聊天应用程序,
如果你只是显示在面板的文字,你也许能够使用的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对齐。
网格或网格包布局...网格:所有单元具有相同的维度,一个单元中有一个孩子,每个单元最多有一个孩子。网格包:稍微复杂一些。使用网格2x2,其中一个面板在(1,0),另一个在(0,1)。 –
但窗格的数量未定义,它们可以是14或100 –
然后在知道窗格数量时相应地创建一个网格布局,问题是什么? –