Boa tarde galera,
preciso mudar cor da linha selecionada após clicar em um determinado botão, como faço, o que uso?
Agradeço desde já pela ajuda!
Abrass!!!
Boa tarde galera,
preciso mudar cor da linha selecionada após clicar em um determinado botão, como faço, o que uso?
Agradeço desde já pela ajuda!
Abrass!!!
package teste;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Component;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.TableCellRenderer;
public class te {
public static void main(String args[]) {
Object rows[][] = { { "one", "ichi - \u4E00" },
{ "two", "ni - \u4E8C" }, { "three", "san - \u4E09" },
{ "four", "shi - \u56DB" }, { "five", "go - \u4E94" },
{ "six", "roku - \u516D" }, { "seven", "shichi - \u4E03" },
{ "eight", "hachi - \u516B" }, { "nine", "kyu - \u4E5D" },
{ "ten", "ju - \u5341" } };
Object headers[] = { "English", "Japanese" };
JFrame frame = new JFrame("Renderer Sample");
JTable table = new JTable(rows, headers);
TableCellRenderer renderer = new EvenOddRenderer();
table.setDefaultRenderer(Object.class, renderer);
JScrollPane scrollPane = new JScrollPane(table);
frame.getContentPane().add(scrollPane, BorderLayout.CENTER);
frame.setSize(300, 150);
frame.setVisible(true);
}
}
class EvenOddRenderer implements TableCellRenderer {
public static final DefaultTableCellRenderer DEFAULT_RENDERER = new DefaultTableCellRenderer();
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, background;
if (isSelected) {
foreground = Color.yellow;
background = Color.green;
} else {
if (row % 2 == 0) {
foreground = Color.blue;
background = Color.white;
} else {
foreground = Color.white;
background = Color.blue;
}
}
renderer.setForeground(foreground);
renderer.setBackground(background);
return renderer;
}
}
só pra comentar achei aqui no guj esse exemplo
se lhe ajudar
Obrigado pela ajuda, vou implementar se der tudo certo posto novamente.
Abrass
vc pode dar uma olhada no link abaixo que tem umas dicas legais
http://java.sun.com/docs/books/tutorial/uiswing/components/table.html#simple
abrax
Fiz o seguinte:
TableCellRenderer cellRenderer = Tab1.getCellRenderer(1, 1);
JComponent comp = (JComponent) cellRenderer;
comp.setBackground(Color.blue);
mas ele esta colocando todas as linhas como Azul, queria só a descriminada no getCellRenderer(1, 1).
Valeu!!