ich möchte von TextField Daten auslesen. ich weiß dass mit geText() das funktioniert , aber ich muss das irgendwie abspeichern damit ich auf JSON übergebe. Oder brauche ich das nicht? Vor allem brauche ich das bei Password , retype, birthday(da nur die Zahlen sein sollen). kann ich so machen wie ich unten bei Passwort habe? also wenn die Übereinstimmen kann man in JSON übergeben?
soll ich vielleicht alle Werte zuerst so auslesen und dann überprüfen?
String inputUsername = username.getText(); //innerhalb der save.setOnAction()
public class RegisterOwnerController implements Initializable {
@FXML
private TextField username;
@FXML
private PasswordField password;
@FXML
private PasswordField retype;
@FXML
private TextField name;
@FXML
private TextField familyname;
@FXML
private TextField day;
@FXML
private TextField month;
@FXML
private TextField year;
@FXML
private TextField adress;
@FXML
private TextField email;
@FXML
private TextField phonenumber;
@FXML
private Button save;
@FXML
private Button clear;
@Override // This method is called by the FXMLLoader when initialization is complete
public void initialize(URL fxmlFileLocation, ResourceBundle resources) {
save.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
if(!password.getText().equals(retype.getText())){
//FEHLER
}else{
// in JSON Speichern?
}
/*
* JSONObject json = new JSONObject();
* json.putString("username", "");
* ...
*/
}
});
clear.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
username.setText("");
}
});
}
}
bitte haltet mich noch ein Jahr aus und dann bin ich wahrscheinlich besser und frage nicht mehr so viel
gibt es keine User-Klasse mit normalen Attributen?
dort könnte alles rein, um es handlicher herumzureichen, falls benötigt
die Frage a la ‘in JSON schon bei richtigen Passwort speichern oder erst Felder überprüfen’ ist zu individuell,
da kannst du doch einfach überlegen wie DU es haben willst, das ist eh das einzige was zählt, und danach vorgehen,
teste so oder so auch mit Fehlern in Feldern usw., Arbeitsablauf ok?
[quote=SlaterB]gibt es keine User-Klasse mit normalen Attributen?
dort könnte alles rein, um es handlicher herumzureichen, falls benötigt[/quote]
ja ich habe Owner.java klasse . konntest du lieb sein und mir zeigen wie bei username funktionieren wurde ?
@Table(name = "OWNER")
public class Owner extends Customer {
@OneToMany(fetch = FetchType.LAZY, mappedBy = "owner")
@Column(name = "VEHICLES")
private List<Vehicle> vehicle = new ArrayList<Vehicle>();
public Owner(String username, String password, Date regDate,
String familyname, String name, Date birthday, String adress,
String email, String telnumber) {
super(username, password, regDate, familyname, name, birthday, adress,
email, telnumber);
}
public Owner() {
super("", "", null, "", "", null, "", "", "");
}
public List<Vehicle> getVehicle() {
return vehicle;
}
public void setVehicle(List<Vehicle> vehicle) {
this.vehicle = vehicle;
}
}
Wird vielleicht so funktionieren?``` @FXML
private TableView ownerTable; @FXML
private TableColumn<Owner, String> firstNameColumn; @FXML
private TableColumn<Owner, String> lastNameColumn;
wie soll was funktionieren?
meine Aussage war, dass, falls es dir hilft, du ein Owner-Objekt erstellen sollst und den usernamen wie wo auch immer aus einem Textfeld holst
und mit z.B. setUsername() im User/ Owner ablegst,
keine dramatische Sache oder? nur auf anfangs ‚aber ich muss das irgendwie abspeichern damit ich auf JSON übergebe‘ bezogen
→ alles in einen Owner rein, damit du damit die Daten transportieren kannst oder was immer dir irgendwo hilft
super("", "", null, "", "", null, "", "", "");
}
du hast einen leeren Owner-Konstruktor, aber keinen in Customer?
wenn doch wäre das hier recht handlich, dann nur super(); oder was auch immer
owner.setUsername(username.getText());
//ich habe noch nicht genau angeschaut wie in JSON funktioniert aber konnte parameterübergabe so funktionieren owner.getUsername() in //json?
JSONObject json = new JSONObject();
json.putString("username", owner.getUsername());
```
Customer hat keinen Leeren Konstruktor. In Owner habe ich mal den Leeren Konstruktor auch gebraucht
```public Customer(String username, String password, Date regDate,
String familyname, String name, Date birthday, String adress,
String email, String telnumber)```
über den Stand, alles in Owner hineinzubringen hinaus habe ich mir noch keine Meinung gebildet,
aber deine Darstellung meiner Meinung soll mir recht sein, ja
“aber konnte parameterübergabe so funktionieren owner.getUsername() in json?”
bedenkliche Frage, was hast du denn an Alternativen?
JSON erstmal ohne GUI mit Dummy-Daten testen
putString verlangt einen String, jede Art von String ist gleich gut, es gibt ja nur eine Art,
wenn getUsername() einen String liefert dann ist das ein String, fertig,
da stecken ein paar Gedanken dahinter die als Grundlage bekannt sein sollten,
wird wahrscheinlich kaum irgendwo thematisiert weil eigentlich selbstverständlich,
da braucht es schon Querdenker um Unterschiede zu vermuten, ein String aus einer Methode ist nichts anderes als einer aus z.B. einer Variablen,
der String wurde für das Textfeld irgendwo in String einmal zusammengebaut, in Textfeld bzw. dessen Model abgelegt, über diverse get-Methoden bereits transportiert,
ob in einer lokalen Variablen irgendwo oder in einem Attribut von Owner danach und noch mehr beteiligte Methoden, das tut nicht viel zu Sache,
es bleibt immer ein String, ein Objekt…