如何使JLabel在盒子容器中正确对齐?

时间:2018-07-03 20:29:42

标签: java swing jlabel layout-manager boxlayout

我有一个垂直框,我称之为父母。我添加一个JLable,然后添加一个JTextArea。 下一个 接下来,我将创建两个分别称为right和left的垂直Box容器。接下来,我向其中添加2个JLable,并将这两个Box容器放入一个称为Bot的水平Box中。 Bot被添加到我首先创建的父框中

这两个标签在中心彼此相邻绘制。第一个是左对齐的,第二个是右对齐的。

我希望他们俩都说对了,这样他们就不会挨在一起了 码 代码

Box boxParent = Box.createVerticalBox();
      String indName="test";
      String indDescription="Description";

      Box boxTitle = Box.createHorizontalBox();
      boxTitle.add(new JLabel(" Indicater:"));
      boxTitle.add(new JLabel(in    dName));
      boxParent.add(boxTitle);

      JTextArea description = new JTextArea(indDescription,5,2);
      boxParent.add(description);

      Box bot= Box.createHorizontalBox();
      Box right = Box.createVerticalBox();
      right.add(new JLabel("right"));
      right.setAlignmentX(Component.LEFT_ALIGNMENT);
      Box left = Box.createVerticalBox();
      left.setAlignmentX(Component.LEFT_ALIGNMENT);
      left.add(new JLabel("left"));
      bot.add(right);
      bot.add(left);

      boxParent.add(bot);   

1 个答案:

答案 0 :(得分:0)

  

我希望它们都正确对齐,这样它们就不会彼此相邻。代码

不确定我了解您的要求。他们俩都在同一行,因此无法证明自己是正确的。

如果您想在两个组件之间留出空间,则可能需要:

  bot.add(right);
  bot.add(Box.createHorizontalGlue());
  bot.add(left);