DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da Java Magazine DIGITAL ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!


Artigo Java Magazine 42 - Componentes Avançados do Swing

Artigo publicado pela Java Magazine 42.

Esse artigo faz parte da revista Java Magazine edição 42. Clique aqui para ler todos os artigos desta edição

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, cujo conteúdo será pré-fixado pelo código da aplicação.

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

  private String[] colunas = { "Nome", "Endereço IP", "S.O.", "RAM" };

 

  public HostTableModel(List hosts) {

    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
Este post também está disponível para assinantes da Java Magazine DIGITAL ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!






    0 COMENTÁRIO

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.


Nenhum comentário foi postado - seja o primeiro a comentar!



Publicidade
Autor
Fernando Lozano

é consultor independente, ativista do software livre e professor da Faculdade Metodista Bennett, além de autor do livro “Java em GNU/Linux” (Editora Alta Books). É detentor de certificações da Sun, IBM, Microsoft e Red Hat, sendo uma espécie de “agente duplo” nas várias tribos.


Space do autor
Estatísticas
Favorito:
Comentários:
Feedback:
Utilidade:
0   0
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]


Este post está fechado. Saiba mais sobre a assinatura MVP!
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2012 - Todos os Direitos Reservados a web-03