Erro ao carregar tableview

0 respostas
java
A

Bom dia!
Tenho que preencher uma TableView e estou fazendo o seguinte:
classe de dados:

public class Dados {

private String nome;

private String telefone;

//Metodos construtor
public Dados() {

}

public Dados(String nome, String telefone) {

this.nome = nome;

this.telefone = telefone;

}

//Metodos get set

public String getNome() {

return nome;

}
public void setNome(String nome) {
    this.nome = nome;
}
public String getTelefone() {

return telefone;

}
public void setTelefone(String telefone) {
    this.telefone = telefone;
}
}

//Classe sql

public class Sql {

//Metodo carrega lista

public List getList(){

List dados = new ArrayList<>();
Connection conexao = ConexaoDB.getConexao();
    String sql = "SELECT * FROM tbcadastros";

    try {
        PreparedStatement smt = conexao.prepareStatement(sql);
        ResultSet rs = smt.executeQuery();

        while(rs.next()){
            Dados dado = new Dados();
            dado.setNome(rs.getString("nome"));
            dado.setTelefone(rs.getString("Telefone"));
            dados.add(dado);
        }
        ConexaoDB.close(conexao, smt, rs);

    } catch (SQLException ex) {
        System.out.println("Erro! Lista sem retorno");
        return null;
    }
    return dados;
}

}

//Classe controller

public class Controle implements Initializable {

@FXML private TableView  tabelaCadastros;

@FXML private TableColumn <Dados, String> tbcolNome;

@FXML private TableColumn <Dados, String> tbcolTelefone;
//inicia os controles da tela

<a class="mention" href="/u/override">@Override</a>

public void initialize(URL url, ResourceBundle rb) {

carregaTabelaCadastros();

}
// metodo carrega banco na tabela

public void carregaTabelaCadastros() {

tbcolNome.setCellValueFactory(new PropertyValueFactory(nome));

tbcolTelefone.setCellValueFactory(new PropertyValueFactory(telefone));

tabelaCadastros.setItems(atualizaTabela());

}

//metodo carrega banco na tabela

public ObservableList atualizaTabela() {

Sql cadastros = new SqlL();

return FXCollections.observableArrayList(cadastros.getList());

}

}

Carrega a tela Abri o controle mas não carrega os dados. Retorna esse erro:

jul. 27, 2022 12:59:00 PM javafx.scene.control.cell.PropertyValueFactory getCellDataReflectively

WARNING: Can not retrieve property nome in PropertyValueFactory: javafx.scene.control.cell.PropertyValueFactory@78b39387 with provided class type: class pacotes.Dados

java.lang.IllegalStateException: Cannot read from unreadable property nome

at javafx.base@18/com.sun.javafx.property.PropertyReference.get(PropertyReference.java:167)

at javafx.controls@18/javafx.scene.control.cell.PropertyValueFactory.getCellDataReflectively(PropertyValueFactory.java:184)

at javafx.controls@18/javafx.scene.control.cell.PropertyValueFactory.call(PropertyValueFactory.java:154)

at javafx.controls@18/javafx.scene.control.cell.PropertyValueFactory.call(PropertyValueFactory.java:133)

at javafx.controls@18/javafx.scene.control.TableColumn.getCellObservableValue(TableColumn.java:592)

at javafx.controls@18/javafx.scene.control.TableColumn.getCellObservableValue(TableColumn.java:577)

at javafx.controls@18/javafx.scene.control.TableCell.updateItem(TableCell.java:680)

at javafx.controls@18/javafx.scene.control.TableCell.indexChanged(TableCell.java:484)

at javafx.controls@18/javafx.scene.control.IndexedCell.updateIndex(IndexedCell.java:120)

at javafx.controls@18/javafx.scene.control.skin.TableRowSkinBase.updateCells(TableRowSkinBase.java:530)

at javafx.controls@18/javafx.scene.control.skin.TableRowSkinBase.(TableRowSkinBase.java:155)

at javafx.controls@18/javafx.scene.control.skin.TableRowSkin.(TableRowSkin.java:82)

at javafx.controls@18/javafx.scene.control.TableRow.createDefaultSkin(TableRow.java:213)

at javafx.controls@18/javafx.scene.control.Control.doProcessCSS(Control.java:899)

at javafx.controls@18/javafx.scene.control.Control$1.doProcessCSS(Control.java:89)

at javafx.controls@18/com.sun.javafx.scene.control.ControlHelper.processCSSImpl(ControlHelper.java:67)

at javafx.graphics@18/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:146)

at javafx.graphics@18/javafx.scene.Parent.doProcessCSS(Parent.java:1400)

at javafx.graphics@18/javafx.scene.Parent$1.doProcessCSS(Parent.java:125)

at javafx.graphics@18/com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:98)

at javafx.graphics@18/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:146)

at javafx.graphics@18/javafx.scene.Parent.doProcessCSS(Parent.java:1400)

at javafx.graphics@18/javafx.scene.Parent$1.doProcessCSS(Parent.java:125)

at javafx.graphics@18/com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:98)

at javafx.graphics@18/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:146)

at javafx.graphics@18/javafx.scene.Node.processCSS(Node.java:9477)

at javafx.graphics@18/javafx.scene.Node.applyCss(Node.java:9564)

at javafx.controls@18/javafx.scene.control.skin.VirtualFlow.setCellIndex(VirtualFlow.java:1818)

at javafx.controls@18/javafx.scene.control.skin.VirtualFlow.getCell(VirtualFlow.java:1795)

at javafx.controls@18/javafx.scene.control.skin.VirtualFlow.getOrCreateCellSize(VirtualFlow.java:2970)

at javafx.controls@18/javafx.scene.control.skin.VirtualFlow.getOrCreateCellSize(VirtualFlow.java:2953)

at javafx.controls@18/javafx.scene.control.skin.VirtualFlow.recalculateAndImproveEstimatedSize(VirtualFlow.java:3025)

at javafx.controls@18/javafx.scene.control.skin.VirtualFlow.recalculateEstimatedSize(VirtualFlow.java:3017)

at javafx.controls@18/javafx.scene.control.skin.VirtualFlow$5.invalidated(VirtualFlow.java:860)

at javafx.base@18/javafx.beans.property.IntegerPropertyBase.markInvalid(IntegerPropertyBase.java:113)

at javafx.base@18/javafx.beans.property.IntegerPropertyBase.set(IntegerPropertyBase.java:148)

at javafx.controls@18/javafx.scene.control.skin.VirtualFlow.setCellCount(VirtualFlow.java:904)

at javafx.controls@18/javafx.scene.control.skin.TableViewSkinBase.updateItemCount(TableViewSkinBase.java:555)

at javafx.controls@18/javafx.scene.control.skin.TableViewSkin.(TableViewSkin.java:129)

at javafx.controls@18/javafx.scene.control.TableView.createDefaultSkin(TableView.java:1534)

at javafx.controls@18/javafx.scene.control.Control.doProcessCSS(Control.java:899)

at javafx.controls@18/javafx.scene.control.Control$1.doProcessCSS(Control.java:89)

at javafx.controls@18/com.sun.javafx.scene.control.ControlHelper.processCSSImpl(ControlHelper.java:67)

at javafx.graphics@18/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:146)

at javafx.graphics@18/javafx.scene.Parent.doProcessCSS(Parent.java:1400)

at javafx.graphics@18/javafx.scene.Parent$1.doProcessCSS(Parent.java:125)

at javafx.graphics@18/com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:98)

at javafx.graphics@18/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:146)

at javafx.graphics@18/javafx.scene.Parent.doProcessCSS(Parent.java:1400)

at javafx.graphics@18/javafx.scene.Parent$1.doProcessCSS(Parent.java:125)

at javafx.graphics@18/com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:98)

at javafx.graphics@18/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:146)

at javafx.graphics@18/javafx.scene.Node.processCSS(Node.java:9477)

at javafx.graphics@18/javafx.scene.Scene.doCSSPass(Scene.java:572)

at javafx.graphics@18/javafx.scene.Scene.preferredSize(Scene.java:1770)

at javafx.graphics@18/javafx.scene.Scene$2.preferredSize(Scene.java:396)

at javafx.graphics@18/com.sun.javafx.scene.SceneHelper.preferredSize(SceneHelper.java:66)

at javafx.graphics@18/javafx.stage.Window$12.invalidated(Window.java:1163)

at javafx.base@18/javafx.beans.property.BooleanPropertyBase.markInvalid(BooleanPropertyBase.java:110)

at javafx.base@18/javafx.beans.property.BooleanPropertyBase.set(BooleanPropertyBase.java:145)

at javafx.graphics@18/javafx.stage.Window.setShowing(Window.java:1239)

at javafx.graphics@18/javafx.stage.Window.show(Window.java:1254)

at javafx.graphics@18/javafx.stage.Stage.show(Stage.java:277)

at br.com.kimsoftwares.classes.CadastroGuarda.start(Cadastro.java:26)

at javafx.graphics@18/com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:847)

at javafx.graphics@18/com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:484)

at javafx.graphics@18/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:457)

at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)

at javafx.graphics@18/com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:456)

at javafx.graphics@18/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)

at javafx.graphics@18/com.sun.glass.ui.win.WinApplication._runLoop(Native Method)

at javafx.graphics@18/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:184)

at java.base/java.lang.Thread.run(Thread.java:833)
Criado 27 de julho de 2022
Respostas 0
Participantes 1