Mirosław Ziobro

Mirosław Ziobro Specjalista
informatyk, UX
Experience Designer,
Grafik Ko...

Temat: Przypisanie wartości do pola Label w fxml

Dzień dobry,

Posiadam taki plik controllera:

//początek pliku kontrollera

package Controllers;

import javafx.fxml.FXML;
import javafx.scene.control.Button;
import javafx.scene.control.Label;

public class ProgramTabsDlaWupController {

public void setLabelZalogowany(String labelZalogowany) {
this.labelZalogowany.setText(labelZalogowany);
}

@FXML
private Button wupProgramWyloguj;

@FXML
private Label labelZalogowany;

@FXML
private Button wupProgramWyloguj1;

public Button getWupProgramWyloguj() {
return wupProgramWyloguj;
}

public void setWupProgramWyloguj(Button wupProgramWyloguj) {
this.wupProgramWyloguj = wupProgramWyloguj;
}

public String getLabelZalogowany() {
return labelZalogowany.getText();
}

}
// koniec pliku kontrollera

Oraz taki zapis w Classie Main:

//ładowanie sterownika jdbc
Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");

connection = DriverManager.getConnection("jdbc:ucanaccess://D:\\IdeaProjects\\MojaAplikacja\\main\\java\\database\\mojaAplikacja.accdb");
// connection = DriverManager.getConnection("jdbc:ucanaccess://C:\\MojaAplikacja\\mojaAplikacja" +
// ".accdb");
Statement statement = connection.createStatement();
ResultSet resultSet =
statement.executeQuery("SELECT * FROM users WHERE login='"+loginField.getText()+"' AND " +
"password='"+passField.getText()+"' AND status=1 LIMIT 1");
resultSet.next();
String login = resultSet.getString("login");
String password = resultSet.getString("password");
String uzytkownik = resultSet.getString("imie")+" "+resultSet.getString("nazwisko");

System.out.println(login);
System.out.println(password);
System.out.println(uzytkownik);
resultSet.close();

ProgramTabsDlaWupController programTabsDlaWupController = new ProgramTabsDlaWupController();

programTabsDlaWupController.setLabelZalogowany(uzytkownik);

Po uruchomieniu programu pokazuje mi wyjątek : NullPointerExeption. Wszystko wskazuje na to że problemem są dwie linijki:
ProgramTabsDlaWupController programTabsDlaWupController = new ProgramTabsDlaWupController();
programTabsDlaWupController.setLabelZalogowany(uzytkownik);

Co robię źle w zapisie setLabelZalogowany(); ?
Marcin Mackiewicz

Marcin Mackiewicz Programista JAVA, RS
Adware Polska

Temat: Przypisanie wartości do pola Label w fxml

W klasie "ProgramTabsDlaWupController" nie masz zainicjowanego property "labelZalogowany" co oznacza że użycie metod getText() oraz setText() na wartości null rzucą wyjątkiem NullPointerException.

W konstruktorze do ProgramTabsDlaWupController dodaj inicjacje zmiennych typu this.labelZalogowany = new Label();



Wyślij zaproszenie do