1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

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;
    }

}
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags javafx java ou faça a sua própria pergunta.