Ofereço ajuda em Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD
+55 (062) 98553-6711
Ofereço ajuda em PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO
+55 (062) 98243-1195

Você está aqui: Java ::: Classes e Componentes ::: JTable

Entenda a interface TableCellEditor

Quantidade de visualizações: 2 vezes
A interface TableCellEditor extende CellEditor e descreve o editor usado para editar os dados da célula na TableColumn. Cada TableColumn tem um TableCellEditor associado que pode ser atribuido ou obtido usando os métodos setCellEditor() e getCellEditor(). O método getTableCellEditorComponent() é o único método declarado nesta interface e retorna um Component que será usado para permitir a edição dos dados na célula. Este método possui os seguintes parâmetros:

JTable table: a instância da tabela que contém a célula a ser editada.

Object value: o valor usado para representar os dados na célula.

boolean isSelected: define se a célula está ou não selecionada.

int row: pode ser usado para retornar um renderizador para uma linha ou célula específica.

int column: pode ser usado para retornar um renderizador para uma coluna ou célula específica.

Devemos customizar ou variar o componente retornado baseado nos parâmetros acima. Por exemplo, se o value for uma instância de Color, poderíamos retornar uma subclasse de JLabel que pintaria um retângulo na cor especificada. Este método pode ser usado para retornar diferentes renderizadores para colunas, linhas, ou células.

As implementações de TableCellEditor devem também implementar métodos definidos na interface CellEditor: addCellEditorListener(), removeCellEditorListener(), cancelCellEditing(), stopCellEditing(), isCellEditable(), shouldSelectCell() e getCellEditorValue(). O método isCellEditable() deve ser usado em combinação com o método isCellEditable() de TableModel para determinar se uma dada célula pode ser editada. Somente se os dois métodos retornarem true é que a edição será permitida.

Para iniciar a edição de uma célula, JTable ouve eventos de pressionamento do mouse e invoca o método editCellAt(). Este método pergunta ao TableModel e ao editor de células se determinada célula pode ser editada. Se a resposta for sim, o componente editor é obtido com o método getTableCellEditorComponent() e colocado na célula (o componente é ajustado de modo a caber dentro da célula).

A implementação padrão de TableCellEditor é fornecida como DefaultCellEditor. Infelizmente DefaultCellEditor não pode ser extendido facilmente, o que nos força a implementar todas as funcionalidades de TableCellEditor e CellEditor por conta própria.

Link para compartilhar na Internet ou com seus amigos:

Desafios, Exercícios e Algoritmos Resolvidos de Java

Veja mais Dicas e truques de Java

Dicas e truques de outras linguagens

E-Books em PDF

E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 36 usuários muito felizes estudando em nosso site.