Enviado em 24/04/2015 - 13:20h
Tenho uma tabela que usa cores intercaladas nas linhaspublic 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) {} }
Resolver problemas de Internet
Como compartilhar a tela do Ubuntu com uma Smart TV (LG, Samsung, etc.)
Descritores de Arquivos e Swappiness
Solução rápida para o problema do Network Manager conectar mas não navegar
Como instalar no Linux Jogos da Steam só para Windows
Instalando o Team Viewer no Debian Trixie - problema no Policykit
Microtik Wan IPv6 é Lan IPv4 (0)
Ajuda Pra Melhoria do NFTABLES. (4)