【问题标题】:Component alignment java组件对齐java
【发布时间】:2017-07-03 11:44:02
【问题描述】:

我正在学习 Java 中的 GUI,但我遇到了组件对齐问题。 我正在使用具有 3 个水平框的垂直框。 我想让拳头和第三个盒子在中间对齐,第二个在左边对齐。 这是代码。

   public class KopjoFushen extends JFrame
   {
    private JTextField text;
    private JTextField text2;
    public KopjoFushen()

    {
    super("Kopjo fushen");

    JLabel label=new JLabel();
    label.setText("Fusha1");
    text =new JTextField(10);
    Box siper=Box.createHorizontalBox();
    siper.add(label);
    siper.add(text);
    text2 =new JTextField(60);
    text2.setEditable(false);
    text2.setText("Fusha e pandryshueshme");
    Box mes=Box.createHorizontalBox();
    mes.add(text2);
    JButton buton=new JButton("Kopjo fushen e lire");
    buton.addActionListener(new ButonHandler());
    Box poshte=Box.createHorizontalBox();
    poshte.add(buton);
    Box total=Box.createVerticalBox();
    total.add(siper);
    siper.setAlignmentX(Component.CENTER_ALIGNMENT);
    mes.setAlignmentX(Component.RIGHT_ALIGNMENT);
    total.setAlignmentX(Component.CENTER_ALIGNMENT);
    total.add(mes);
    total.add(poshte);
    setLayout(new FlowLayout());
    add(total);
  }

第一个问题是第一个 Box 都向左对齐。 第二个问题是,如果我在第二个 JTextField 的构造函数中使用更大的数字,则第一个 JTextField 会变得更大。 这是我想要实现的目标 http://prntscr.com/e8utum 这就是我所做的:http://prntscr.com/e8uusn

【问题讨论】:

    标签: java swing user-interface alignment box


    【解决方案1】:

    第一个 Box 实际上是居中的。它似乎向左对齐,因为它已调整大小以适合父面板。

    事实上,如果你设置 JTextField maximumSize 你会注意到它是居中的

     text.setMaximumSize(new Dimension(300, Integer.MAX_VALUE));
    

    【讨论】:

    • 似乎可以做到。谢谢
    猜你喜欢
    • 2012-10-05
    • 1970-01-01
    • 2021-10-27
    • 2015-05-22
    • 2015-01-03
    • 2012-11-03
    • 1970-01-01
    • 1970-01-01
    • 2014-05-06
    相关资源
    最近更新 更多