Este é um post disponível para assinantes MVPArtigo Java Magazine 42 - Componentes Avançados do Swing
Artigo publicado pela Java Magazine 42.

Componentes Avançados do Swing
Parte 2: Explorando e Customizando o JTable
Aprenda a customizar um dos mais poderosos e flexíveis componentes do Swing
Esta é parte final de uma série que apresenta conceitos e exemplos sobre o uso e a customização de componentes Swing avançados. Na primeira parte, foi apresentado o componente JComboBox, além dos conceitos de modelos e cell renderers do Swing. Vimos também como reunir essas várias classes para formar um componente Swing customizado. Os exemplos foram baseados em um protótipo de aplicação de monitoração de rede, que exibe ícones específicos para os sistemas operacionais de cada host sendo monitorado, além de fazer uso de várias customizações visuais dos componentes.
Esta segunda parte enfoca o componente JTable, utilizando o mesmo protótipo como exemplo. O JTable reutiliza algumas das classes do JComboBox e necessita de vários modelos e cell renderers especializados para lidar com a formatação de células, colunas e cabeçalhos.
Para mais detalhes sobre a arquitetura do Swing em geral e o relacionamento entre componentes e os vários tipos de classes que participam da sua implementação, consulte o quadro “Componentes e classes do Swing”. E no quadro “Dicas do NetBeans” apresentamos alguns recursos oferecidos por este IDE livre para auxiliar na customização de componentes pela criação de classes especializadas.
A tela de Hosts / JTable
A tela de exemplo para esta segunda parte exibe uma relação de hosts, fornecendo informações como o sistema operacional, o endereço IP e o total de memória RAM. A relação de hosts será armazenada em uma coleção, mais especificamente um List
Para que o JTable seja capaz de exibir em linhas e colunas as informações contidas nesta coleção, é necessário fornecer uma classe de modelo que implementa a interface TableModel. A Listagem 1 apresenta a classe de modelo criada e a aplicação de testes. O resultado da sua execução pode ser visto na Figura 1.
Listagem 1. Exemplo de customização do JTable
HostTableModel.java
package jtable;
import dados.Host;
import dados.SistemaOperacional;
import java.util.*;
import javax.swing.table.*;
public class HostTableModel extends AbstractTableModel {
private List
private String[] colunas = { "
public HostTableModel(List
super();
setHosts(hosts);
}
public int getColumnCount() {
return 4;
}
public int getRowCount() {
return hosts.size();
}
public String getColumnName(int column) {
return colunas[column];
}
public Object getValueAt(int row, int column) {
Host host = hosts.get(row);
switch (column) {
case 0:
return host.getNome();
case 1:
return host.getIp();
case 2:
return host.getSo();
"
ATENÇÃO! A exibição deste artigo foi interrompida.
Este é um post disponível para assinantes MVP
Space do autor



0
0
