[JAVA] JavaFX Eintrag aus Datenbank ausgeben und im GUI anzeigen

03/30/2019 00:13 gamehacker1#1
Arbeite aktuell an einem JavaFX Projekt. In meiner Datenbank gibt es jetzt die Spalte name, Vorname und Geburtstag. Jetzt möchte ich, dass unter einem bestimmten Bild genau diese Informationen aus der Datenbank entnommen wird und es dann unter dem Bild angezeigt wird. Hier der Code von mir. Wenn ich das so mache, dann kommt ein nullPointerException wegen bildtxt.setText(rs.getString(1));
Code:
@FXML
	private Text bildtxt;
	
    [MENTION=295804]Override[/MENTION]
	public void initialize(URL arg0, ResourceBundle arg1) {
		connBild= new conn();

	}

	@FXML
	public void bildBtn(ActionEvent event) {
		try {
			connection = connBild.getConnection();

			String str="SELECT name FROM person";
			pst= connection.prepareStatement(str);

			rs=pst.executeQuery(str);

			if(rs.next()){

				bildtxt.setText(rs.getString(1));

			}
		} catch (Exception e) {
			e.printStackTrace();
		}
03/30/2019 10:54 sk8land​#2
Kann ja nur bildtxt sein, was null ist. Ich kenne mich nicht mit JavaFX aus, aber für mich sieht es so aus, dass du in deiner FXML-Datei kein Element mit ID bildtxt definiert hast und das Attribut dementsprechend null bleibt.
03/30/2019 11:13 gamehacker1#3
Quote:
Originally Posted by sk8land​ View Post
Kann ja nur bildtxt sein, was null ist. Ich kenne mich nicht mit JavaFX aus, aber für mich sieht es so aus, dass du in deiner FXML-Datei kein Element mit ID bildtxt definiert hast und das Attribut dementsprechend null bleibt.
Die fx:id bildtxt ist da, hab ich schon gecheckt
03/30/2019 20:17 Zunft#4
Natürlich kommt da ein NullPointer, du hast

Code:
private Text bildtxt;
nicht initialisiert.


Korrigiere: Da ist ja ein @FXML vor..

Bitte poste doch mal auch deine FXML und dementsprechend deine Text-Klasse.



P.S. Arbeite an deiner Variablenbezeichnung, so ein englisch/deutsch Mischmasch ist nicht gerade schön und verwirrt. Kannst dir ja mal die Java Code Conventions anschauen.
03/30/2019 20:28 gamehacker1#5
Quote:
Originally Posted by Zunft View Post
Natürlich kommt da ein NullPointer, du hast

Code:
private Text bildtxt;
nicht initialisiert.


Korrigiere: Da ist ja ein @FXML vor..

Bitte poste doch mal auch deine FXML und dementsprechend deine Text-Klasse.



P.S. Arbeite an deiner Variablenbezeichnung, so ein englisch/deutsch Mischmasch ist nicht gerade schön und verwirrt. Kannst dir ja mal die Java Code Conventions anschauen.
Die Text Klasse ist eine von Javafx vorgegebene Klasse, also nicht von mir erstellt. Und was meinst du mit ich soll meine FXML posten? Meinst du die .fxml datei?
03/30/2019 20:36 Zunft#6
Quote:
Originally Posted by gamehacker1 View Post
Die Text Klasse ist eine von Javafx vorgegebene Klasse, also nicht von mir erstellt. Und was meinst du mit ich soll meine FXML posten? Meinst du die .fxml datei?
Ah, ja die hatte ich nicht auf dem Schirm, dachte du erweiterst ein Label.
Ja das ist korrekt.