0

フォームを介して新しいアカウントを追加できる Java アプリケーションを作成しています。見栄えが良いので SpringLayout を使用していますが、JTextFields をテキストとともに追加した後、ボタンは左上に留まりますが、私はSpringUtilitiesを使用しています(https://docs.oracle.com/javase/tutorial/uiswing/examples/layout/SpringGridProject/src/layout/SpringUtilities.java

package dinges.Containers;

import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.SpringLayout;

import dinges.Utilities.SpringUtilities;

@SuppressWarnings("serial")
public class Addnew extends JPanel {

    String[] options = {"User", "Accountant", "Administrator", "Developer"};

    /**
     *  > Add a text input for the following:
     *  > Id, Name, last name, current balance, and the state. But this has to be in order of the new Account.
     *  > we're just going to be using JTextFields, a JButton for saving and JLabels for writing what it is
     * 
     **/

    public Addnew() {
        // frame size is WIDTH =   280     ,      HEIGHT =     480
        SpringLayout layout = new SpringLayout();
        setLayout(layout);

        JButton save = new JButton("Save data");
        JTextField name = new JTextField(15);
        JTextField lastname = new JTextField(15);
        JComboBox<String> accounttype = new JComboBox<String>(options);
        JLabel label1 = new JLabel("First name: ", JLabel.TRAILING);
        JLabel label2 = new JLabel("Last name: ", JLabel.TRAILING);
        JLabel label3 = new JLabel("Account type: ", JLabel.TRAILING);
        JLabel label4 = new JLabel("Save data: ", JLabel.TRAILING);
        label1.setLabelFor(name);
        label2.setLabelFor(lastname);
        label3.setLabelFor(accounttype);




        add(label1);
        add(name);
        add(label2);
        add(lastname);
        add(label3);
        add(accounttype);
        add(save);
        add(label4);

        SpringUtilities.makeCompactGrid(this, 3, 2, 6, 6, 6, 6);
    }

}

これにより、次のようになります。

ここに画像の説明を入力

ただし、ボタンは JComboBox の下に配置し、その JLabel は他のボタンと同じように配置する必要があります。

ここで問題はどこにありますか? しばらくの間、物事を切り替えてきましたが、本当に見つかりません。

4

2 に答える 2

1

ボタンは左上のまま

どこにあるべきですか?

一番下にあるはずだと思いますが、私たちは読者を気にせず、あなたが何を考えているのかわからないので、質問の一部としてそれを指定する必要があります.

私はSpringUtilitiesを使用しています

SpringUtilities に必要な行/列の数を伝えましたか?

つまり、デモ コードからパラメータを変更しましたか、それとも変更せずにデモ コードをコピーしただけですか?

于 2016-08-04T23:45:44.033 に答える