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) {}
}
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Título: Descobrindo o IP externo da VPN no Linux
Armazenando a senha de sua carteira Bitcoin de forma segura no Linux
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Instalando Brave Browser no Linux Mint 22
vídeo pra quem quer saber como funciona Proteção de Memória:
Encontre seus arquivos facilmente com o Drill
Mouse Logitech MX Ergo Advanced Wireless Trackball no Linux
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Linux Lite Demorando Muito Para Ligar (2)
Remoção de propaganda com o programa Comskip[AJUDA] (4)