Versão atual:

Pegar texto de uma tableview e jogar para um Label ou Textfield

SOLUÇÃO

//CRIEI 

private Time time = new Time();

//E NA MINHA CLASSE TIME CRIEI OUTRO METODO CONSTRUTOR SEM PARAMETROS

 public Time() {
        super();
    }
   @FXML
    private void keyPressedTbViewTime(KeyEvent event) {
        if (event.getCode() == KeyCode.ENTER) {
            pnGames.setVisible(true);
            Platform.runLater(tblVwGames::requestFocus);

            time = tblVwTimes.getSelectionModel().getSelectedItem();
            // Aqui você carrega os dados na label

            lblNomeTime.setText(time.getNome());
        }
    }

    @FXML
    private void onClickTblVwTimes(MouseEvent event) {
        if (event.getClickCount() == 2) {
            pnGames.setVisible(true);
            Platform.runLater(tblVwGames::requestFocus);

            time = tblVwTimes.getSelectionModel().getSelectedItem();
            //Aqui você carrega os dados na label...
            lblNomeTime.setText(time.getNome());
        }
    }

Bom dia, estou fazendo uma aplicação em javafx que controla um campeonato fictício de futebol para a faculdade e estou com um problema que não consegui achar uma maneira de resolver. Eu tenho 2 eventos criados chamados keyPressedTbViewTime e onClickTblVwTimes strong text

  @FXML
    private void keyPressedTbViewTime(KeyEvent event) {
        if (event.getCode() == KeyCode.ENTER) {
            pnGames.setVisible(true);
            Platform.runLater(tblVwGames::requestFocus);

        }
    }

    @FXML
    private void onClickTblVwTimes(MouseEvent event) {
        if (event.getClickCount() == 2) {
            pnGames.setVisible(true);
            Platform.runLater(tblVwGames::requestFocus); 

        }
    }

O que eu preciso fazer é quando eu selecionar uma linha da tableview e pressionar ENTER ou duplo click o nome do time da linha selecionada seja passado para um textfield ou label em outra tela.

*Não consegui carregar uma imagem da tabela aqui.

Se puderem me ajudar fico muito agradecido.

ATUALIZAÇÃO

package view;

import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import java.util.ResourceBundle;
import javafx.application.Platform;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.cell.PropertyValueFactory;
import javafx.scene.input.KeyCode;
import javafx.scene.input.KeyEvent;
import javafx.scene.input.MouseEvent;
import javafx.scene.layout.StackPane;
import model.Time;
import model.Game;
import utilit.Dados;

public class PrincipalController implements Initializable {

    @FXML
    TableColumn colCla, colNome, colPontos, colVitoria, colEmpate, colDerrota, colGolP, colGolN, colSaldo;

    @FXML
    StackPane pnGames;

    @FXML
    TableView tblVwTimes, tblVwGames;

    @FXML
    Button btnFechar;

    @FXML
    Label lblNomeTime;

    private Dados dados; //ponteiro apontando pra classe dados que será usado

    private List<Time> times;// criei uma lista de times e o "times" é um ponteiro pra ela q no inicio é nulo
    private ObservableList<Time> lstObsTimes;
//  private Game gametmp = new Game("flamengo", 2, "vasco", 3);
    private Game gametmp;


    @FXML
    private void keyPressedTbViewTime(KeyEvent event) {
        if (event.getCode() == KeyCode.ENTER) {
            pnGames.setVisible(true);
            Platform.runLater(tblVwGames::requestFocus);

        }
    }

    @FXML
    private void onClickTblVwTimes(MouseEvent event) {
        if (event.getClickCount() == 2) {
            pnGames.setVisible(true);
            Platform.runLater(tblVwGames::requestFocus);

            game = tblVwTimes.getSelectionModel().getSelectedItem();
            //Aqui você carrega os dados na label...
            lblNomeTime.setText(game.getNome());

        }
    }

    @FXML
    private void btnFecharClick(ActionEvent event) {
        pnGames.setVisible(false);
    }

    @Override
    public void initialize(URL url, ResourceBundle rb) {

        pnGames.setVisible(false);

        dados = new Dados("src/main/resources/config/campeonato.txt"); //ponteiro q aponta para um obj na memora e passa como nome o c:\campeonato.txt
        times = dados.ler();


        lstObsTimes = FXCollections.observableList(times);
        tblVwTimes.setItems(lstObsTimes);
        tblVwTimes.getSelectionModel().selectFirst();

        colNome.setCellValueFactory(new PropertyValueFactory<Time, String>("nome"));
        colPontos.setCellValueFactory(new PropertyValueFactory<Time, String>("pontos"));
        colVitoria.setCellValueFactory(new PropertyValueFactory<Time, String>("vit"));
        colEmpate.setCellValueFactory(new PropertyValueFactory<Time, String>("emp"));
        colDerrota.setCellValueFactory(new PropertyValueFactory<Time, String>("der"));
        colGolP.setCellValueFactory(new PropertyValueFactory<Time, String>("golP"));
        colGolN.setCellValueFactory(new PropertyValueFactory<Time, String>("golN"));
        colSaldo.setCellValueFactory(new PropertyValueFactory<Time, String>("saldoGols"));
        colCla.setCellValueFactory(new PropertyValueFactory<Time, String>("classificacao"));

    }
}

CLASSE TIME

package model;

import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author Leandro
 */
public class Time {

    List<Game> games = new ArrayList<>();

    String nome;
    int vit = 0, der = 0, emp = 0, golP = 0, golN = 0, pontos = 0, partidas = 0, saldoGols = 0, classificacao = 0;

    public Time(String nome) {
        this.nome = nome;

    }

    public int getVit() {
        return vit;
    }

    public void incVit() {
        this.vit += 1;
    }

    public int getDer() {
        return der;
    }

    public void incDer() {
        this.der += 1;
    }

    public int getEmp() {
        return emp;
    }

    public void incEmp() {
        this.emp += 1;
    }

    public int getGolP() {
        return golP;
    }

    public void incGolP(int gol) {
        this.golP += gol;
    }

    public int getGolN() {
        return golN;
    }

    public void incGolN(int gol) {
        this.golN += gol;
    }

    public String getNome() {
        return nome;
    }

    public int getPontos() { // só tem get pq é readonly  pq n consigo mandar nada pra ele
        return (this.vit * 3) + this.emp;
    }

    public int getPartidas() {
        return (this.vit + this.emp + this.der);
    }

    public int getSaldoGols() {
        return (this.golP - this.golN);
    }

    public int getClassificacao() {
        return classificacao;
    }

    public void setClassificacao(int classificacao) {
        this.classificacao = classificacao;
    }

    public List<Game> getGames() {
        return games;
    }

    public void setGames(List<Game> Games) {
        this.games = Games;
    }

}

Versões(4):

Ver a versão formatada

Pegar texto de uma tableview e jogar para um Label ou Textfield

Comentário

new question