Adicionar um item da tabela em uma classe

4 respostas Resolvido
netbeansjava
G

Estou tentando adicionar um elemento da tabela quando selecionado em uma classe, mas da esse erro de incompatibilidade. Desculpa eu sou novo em Java, isso é no evento do botão “Salvar” pegaria o cliente selecionado na tabela e adicionaria em “Pedidos” onde tem uma declaração “public Clientes cliente”. Se precisar de mais alguma informação é só pedir

4 Respostas

S

O método getSelectedRow retorna um int, no caso o índice da linha, o erro que está dando é que você tenta transformar esse int em um objecto Clientes.

Use o método getValueAt para pegar o objeto desejado, você precisa passar o índice da linha e da coluna.

Se for ajudar, aqui um código de exemplo:

public class Main {
  public static void main(String[] args) throws Exception {
    int rows = 3;
    int cols = 3;
    JTable table = new JTable(rows, cols);

    int rowIndex = 1;
    int vColIndex = 2;
    Object o = table.getValueAt(rowIndex, vColIndex);

  }
}

Peguei ele desse site.

G

Entendi, acho que estou conseguindo agora, mas e se eu quiser pegar somente a linha e todas as colunas?

S
Solucao aceita

Usa um for que vai incrementando uma variável para cada item da coluna.

public class Main {
  public static void main(String[] args) throws Exception {
    int rows = 3;
    int cols = 3;
    JTable table = new JTable(rows, cols);

    int rowIndex = 1;
    List<Object> objects = new ArrayList()<>;
    for (int x = 0; i < cols; i++) {
        objects.add(table.getValueAt(rowIndex, x));
    }
  }
}
G

Obrigado! Principalmente pela rapidez ^^

Criado 15 de outubro de 2020
Ultima resposta 16 de out. de 2020
Respostas 4
Participantes 2