Olá, estou tentando a dias resolver um problema na minha aplicação:
alguém sabe me dizer porque o JavaFX não retorna o campo ID na TableView?
Segue abaixoo code do Controller:
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package controller;
import java.net.URL;
import java.util.ResourceBundle;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.Alert;
import javafx.scene.control.Button;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.TextField;
import javafx.scene.control.cell.PropertyValueFactory;
import model.Contato;
/**
* FXML Controller class
*
* @author wssco
*/
public class FXMLContatoGuiController implements Initializable {
private final ObservableList<Contato> dadosContato;
private final ContatoController contatoController;
public FXMLContatoGuiController() {
contatoController = new ContatoController();
dadosContato = FXCollections.observableArrayList(contatoController.lista());
}
@FXML
private TableView contatoTable;
@FXML
private TableColumn idCol;
@FXML
private TableColumn nomeCol;
@FXML
private TableColumn foneCol;
@FXML
private TableColumn emailCol;
@FXML
private TextField nomeTextField;
@FXML
private TextField foneTextField;
@FXML
private TextField emailTextField;
@FXML
private Button gravarButton;
/**
* Initializes the controller class.
*
* @param url
* @param rb
*/
@Override
public void initialize(URL url, ResourceBundle rb) {
preencherTabela();
}
@FXML
public void eventGravarButtonClick(ActionEvent event) {
Contato c = new Contato();
try {
c.setNome(nomeTextField.getText());
c.setFone(foneTextField.getText());
c.setEmail(emailTextField.getText());
contatoController.gravar(c);
alert("Gravado com sucesso");
} catch (Exception ex) {
alert(ex.getMessage());
}
}
public void preencherTabela() {
idCol.setCellValueFactory(new PropertyValueFactory("ID"));
nomeCol.setCellValueFactory(new PropertyValueFactory("Nome"));
foneCol.setCellValueFactory(new PropertyValueFactory("Fone"));
emailCol.setCellValueFactory(new PropertyValueFactory("Email"));
contatoTable.setItems(dadosContato);
}
public void alert(String msg) {
Alert alert = new Alert(Alert.AlertType.INFORMATION);
alert.setHeaderText(null);
alert.setTitle("Mensagem");
alert.setContentText(msg);
alert.show();
}
}


