2016-12-05 2 views
0

Ich bin ziemlich neu in Java Swing, aber im Erstellen eines Lager-Management-Programm, habe ich jetzt meine Fenster Registrierungsformular waren die Benutzer können einfügen, Name, Adresse, Benutzername, Passwort, etc, und Ich habe eine Schaltfläche unten, um alle Daten zu speichern. Ich möchte die Speichern-Taste drücken und alle Daten in einem neuen userObject gespeichert werden, mein Problem ist, wie Sie die einzelnen Textfelddaten so zuordnen, dass sie in einem neuen Objekt gespeichert werden können. Kann mir jemand Hinweise geben, wie man das macht?Java Swing speichern mehrere Textfeld zu einem Objekt

Danke!

ich den Code auf diese Weise versucht:

private void ButtonSaveActionPerformed (java.awt.event.ActionEvent evt) {

User obj=new User(); 
    String userName = UserTextFieldName.getText(); 
    String userAdress = UserTextFieldAdress.getText(); 
    String userCitizenID = UserTextFieldCitizenID.getInteger(); 
    obj.setName(userName); 
    obj.setAdress(userAdress); 
    obj.setCitizenID(userCitizenID); 

    usersArrayList.add(obj); 

// diese waren, ist i eine korrekte Nachricht speichern geben würde und entsorgen das Registrierungsfenster.

Ist das eine gute Alternative Methode? Ich es nicht machen konnte die andere Art und Weise mit der Action arbeiten ...

+0

Erstellen Sie eine Klasse namens UserObject, machen Sie '' String''-Member für jedes Textfeld, das Sie speichern möchten, und weisen Sie dann die Werte der Textfelder diesen Membern entweder mithilfe von Setter oder im Konstruktor zu. – f1sh

+0

Danke für die Antwort, aber ich habe bereits eine userObject-Klasse, und die Setter/Konstruktor, noch weiß ich nicht, wie Sie alle Textfelddaten auf die Schaltfläche Speichern zuweisen, so dass es ein neues userObject speichern kann – Dan

+0

registrieren Sie Ihre Schaltfläche speichern 'ActionListener' und handle das Button-Click-Ereignis durch Implementierung von 'actionPerformed()'. In 'actionPerformed()' können Sie Werte aus 'textfields' abrufen und sie den Attributen Ihres' UserObject' zuweisen. – yogidilip

Antwort

1

Sie fügen eine ActonListener auf den Button aus.

Etwas wie:

JButton save = new JButton("Save"); 
save.addActionListener(new ActionListener() 
{ 
    @Override 
    public void actionPerformed(ActionEvent e) 
    } 
     UserObject user = new UserObject(); 
     user.setName(nameTextField.getText()); 
     user.setAddress(addressTextField.getText()); 
     ... 
    } 
}); 

die Swing tutorial für Swing Grundlagen lesen.

Es gibt Abschnitte auf:

  1. How to Use Buttons
  2. How to Write an ActionListener

, die jede Arbeitsbeispiele enthalten Ihr, um loszulegen.

+0

Diese Art der Arbeit habe ich geschafft, ohne den ActionListener, aber ich habe jetzt das Problem der Variablen in den Textfeldern, die keine Zeichenfolgen sind, kann ich nicht Text von ihnen bekommen, gibt es eine andere Möglichkeit, die Werte zu bekommen? – Dan

+0

@Dan Natürlich benötigen Sie den ActionListener, wenn Sie die Daten im Textfeld zum Zeitpunkt des Klickens auf "Speichern" wollen. Alle Daten in einem Textfeld sind ein String, daher weiß ich nicht, was Sie fragen. – camickr

+0

Ja alle Daten im Textfeld sind eine Zeichenkette, aber ich habe zum Beispiel eine Telefonnummer, die ein Int ist, ich habe es bereits gelöst und die Telefonnummer als String deklariert. – Dan