簡體   English   中英

如何在 Java 中將每個標簽與其文本字段對齊?

[英]How do I align each Label next to its Textfield in Java?

未對齊的字段

我想要的是。

我的代碼-

import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

 class Test2 extends JFrame {

JPanel panel = new JPanel();
JLabel label1 = new JLabel("Enter 1st Number");
JLabel label2 = new JLabel("Enter 2nd Number");
JLabel label3 = new JLabel("Press to add");
JLabel label4 = new JLabel("Check Answer");
JButton button = new JButton("Press");
JTextField text1 = new JTextField(50);
JTextField text2 = new JTextField(50);

public Test2() {
    setTitle("Tutorial");
    setVisible(true);
    setSize(1080, 720);
    setDefaultCloseOperation(EXIT_ON_CLOSE);

    text1.setBounds(90,60,86,23);
    text2.setBounds(233,60,92,23);
    button.setBounds(161,109,89,23);

    panel.add(text1);
    panel.add(text2);
    panel.add(button);
    panel.add(label1);
    panel.add(label2);
    panel.add(label3);
    panel.add(label4);

    add(panel);
}

public static void main(String[] args) {
    Test2 t = new Test2 ();

 }
}

我還將編寫代碼來添加 2 個數字,如果用戶輸入字母,我也會拋出異常。 但我希望它們先對齊。 我不能使用 GUI 形式,因為這是為了練習。

不要使用 setBounds()。

使用 4 行 2 列的網格布局

您需要使用具有 2 列和 4 行的 Gridlayout 來使它們像這樣:

class Test2 extends JFrame {

    JPanel panel = new JPanel();
    JLabel label1 = new JLabel("Enter 1st Number");
    JLabel label2 = new JLabel("Enter 2nd Number");
    JLabel label3 = new JLabel("Press to add");
    JLabel label4 = new JLabel("Check Answer");
    JButton button = new JButton("Press");
    JTextField text1 = new JTextField(50);
    JTextField text2 = new JTextField(50);

    public Test2() {
        GridLayout gb = new GridLayout(4, 2);
        panel.setLayout(gb);
        panel.add(label1);
        panel.add(text1);
        panel.add(label2);
        panel.add(text2);
        panel.add(label3);
        panel.add(button);
        panel.add(label4);
        
        add(panel);
        
        setTitle("Tutorial");
        setVisible(true);
        setSize(250, 150);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        
    }

    public static void main(String[] args) {
        Test2 t = new Test2();
    }
}

輸出: 控制板

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM