Enviado em 24/04/2015 - 13:20h
Tenho uma tabela que usa cores intercaladas nas linhas
public class CoresJTable implements TableCellRenderer{
public static final DefaultTableCellRenderer DEFAULT_RENDERER = new DefaultTableCellRenderer();
int line;
String valor;
//@Override
@Override
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column) {
Component renderer = DEFAULT_RENDERER.getTableCellRendererComponent(
table, value, isSelected, hasFocus, row, column);
((JLabel) renderer).setOpaque(true);
Color foreground = null, background = null;
valor = String.valueOf(value);
if (isSelected) {
foreground = new Color(0, 0, 0);
background = new Color(184, 207, 229);
}
else if(row % 2 == 0){
foreground = new Color(0, 0, 0);
background = new Color(213, 230, 239);
}
switch(valor) {
case "PAR":
foreground = new Color(251, 173, 48);
background = new Color(213, 230, 239);
break;
case "IMPAR":
foreground = new Color(250, 0, 0);
background = new Color(184, 207, 229);
break;
}
renderer.setForeground(foreground);
renderer.setBackground(background);
return renderer;
}
}
TableCellRenderer renderer = new CoresJTable();
private void corCelula(){
for (int c = 0; c < tabela.getColumnCount(); c++) {
tabela.setDefaultRenderer(tabela.getColumnClass(c), renderer);
}
}
class FiguraColumn extends JLabel implements TableCellRenderer{
@Override
public Component getTableCellRendererComponent(
JTable table, Object value, boolean isSelected,
boolean hasFocus, int row, int column){
Color foreground = null, background = null;
String text = String.valueOf(value);
String img;
Component renderer = DEFAULT_RENDERER.getTableCellRendererComponent(
table, value, isSelected, hasFocus, row, column);
if (isSelected) {
foreground = new Color(0, 0, 0);
background = new Color(184, 207, 229);
}
else if(row % 2 == 0){
foreground = new Color(0, 0, 0);
setBackground(new Color(184, 231, 177));
}
switch (text) {
case "src/image/verde.gif":
img = "src/image/verde.gif"; // cria a imagem
break;
case "src/image/amarela.gif":
img = "src/image/amarela.gif"; // cria a imagem
break;
case "src/image/vermelha.gif":
img = "src/image/vermelha.gif"; // cria a imagem
break;
default:
img = "src/image/alta.png"; // cria a imagem
break;
}
carregarImg(img);
renderer.setForeground(foreground);
renderer.setBackground(background);
setHorizontalAlignment(CENTER);
setBackground(new Color(184, 231, 177));
return this;
}
private void carregarImg(String img){
Image foto1 = new ImageIcon(img).getImage().getScaledInstance(15, 15, Image.SCALE_DEFAULT);
this.setIcon(new ImageIcon(foto1));
this.repaint();
}
@Override
public void validate() {}
@Override
public void revalidate() {}
@Override
protected void firePropertyChange(String propertyName,
Object oldValue, Object newValue) {}
@Override
public void firePropertyChange(String propertyName,
boolean oldValue, boolean newValue) {}
}
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
É cada coisa que me aparece! - não é só 3% (3)
Melhorando a precisão de valores flutuantes em python[AJUDA] (5)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta