Ich mache eine Java-Anwendung, wo Sie neue Konten über ein Formular hinzufügen können, ich benutze das SpringLayout dafür, weil es ordentlich aussieht, aber nach dem Hinzufügen der JTextFields mit der Text davon, bleibt die Taste auf der linken Seite oben, während sie nicht da kommen sollte, ich bin mit SpringUtilities (https://docs.oracle.com/javase/tutorial/uiswing/examples/layout/SpringGridProject/src/layout/SpringUtilities.java)Position der Tasten gehen zu einem seltsamen Ort (SpringLayout)
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);
}
}
Dies macht es so aussehen:
Aber die Schaltfläche sollte unter der JComboBox sein und ihre JLabel sollte genau wie die anderen positioniert werden.
Wo ist das Problem hier? Ich habe die Dinge schon eine Weile umgestellt, aber ich kann es wirklich nicht finden.
ich dies gar nicht bemerkt gesetzt habe, ich bin es gewohnt, die Dinge selbst Codierung und ich nur die Feder Dienstprogramme nahm, was mir ein Freund erzählt Danke, dass du mich daran erinnerst –