Visual – JTable – Table Column – Java

Publicado: 11 de abril de 2014 em Java

O JTable é usado para exibir e editar tabelas bidimensionais regulares de células. O JTable tem muitas facilidades que tornam possível personalizar seu processamento e edição, mas fornece padrões para esses recursos para que tabelas simples possam ser configuradas facilmente.

TableColumn

Uma TableColumn representa todos os atributos de uma coluna em um JTable, como largura, expansãolargura mínima e máxima. Além disso, o TableColumn oferece vagas para um processador e um editor que pode ser usado para exibir e editar os valores nesta coluna.

jtable

JTable

Exemplo:

Neste exemplo criamos uma variável Array responsável pela linha de titulo da tabela e um objeto vetor responsável pelos dados da tabela e os exibimos na grade de dados.

Java

import java.awt.Container;
import java.awt.Dimension;

import javax.swing.BorderFactory;
import javax.swing.BoxLayout;
import javax.swing.DefaultCellEditor;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.TableColumn;


public class Tabela
{
	// Declara componentes	
	JTable tabela;
	
	// Declara Array e Matriz
	String colunas[] =  { "Album", "Artista",  "Musica", "Ano", "VideoClip" };
	
	Object  dados [][] = 		
	{			
		{"Nevermind", "Nirvana", "Smell Like Teen Spirit", new Integer(1991), new Boolean (true)},
		{"Ten", "Pearl Jam", "Jeremy", new Integer(1991), new Boolean (true)},
		{"Facelift", "Alice in Chains", "Man in the Box", new Integer(1990), new Boolean (true)},
		{"Badmotorfinger", "SoundGarden", "Outshined", new Integer(1991), new Boolean (true)},
		{"Sweet Oblivion", "Screaming Trees", "Nearly I Lost You", new Integer(1993), new Boolean (true)},
		{"Core", "Stone Temple Pilots", "Plush", new Integer(1992), new Boolean (true)},
			
	};
	
	public Container criaPainel()
	{
		// Cria painel
		JPanel painel = new JPanel();
		
		// Define Layout
		painel.setLayout(new BoxLayout(painel, BoxLayout.PAGE_AXIS));
		painel.setBorder(BorderFactory.createEmptyBorder(20,20,20,20));
		painel.setOpaque(true);
		
		// Cria tabela
		tabela = new JTable(dados, colunas);		
		
		// Modifica ultima coluna
		JCheckBox box = new JCheckBox();
		TableColumn videoclip = tabela.getColumnModel().getColumn(4);
		videoclip.setCellEditor(new DefaultCellEditor(box));
		
		tabela.setPreferredScrollableViewportSize(new Dimension(600, 50));
		
		
		// Cria barra de rolagem
		JScrollPane barra = new JScrollPane(tabela);
			
		// Adiciona barra ao painel
		painel.add(barra);
		
		return painel;
		
	}
	
	public static void criaGUI()
	{
		// Cria formulario
		JFrame formulario = new JFrame("DA - Tabela - JTable");
		formulario.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
		// Instancia classe 
		Tabela tab = new Tabela();
		formulario.setContentPane(tab.criaPainel());
		
		formulario.setSize(500, 300);
		formulario.setVisible(true);
	}

	public static void main(String[] args) {
		
		javax.swing.SwingUtilities.invokeLater(new Runnable() {
			
			@Override
			public void run() {
				
				// Cria GUI
				criaGUI();
				
			}
		});

	}

}

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

w

Conectando a %s