Queria saber se tem como mudar a cor de uma Row da jTable.
Mudar cor da linha de uma Row de um jTablee
5 Respostas
Mas quando uso esse codigo que vc me mostro.O codigo além de passar de row em row adicionando uma cor diferente de acordo com o status,ele adiciona uma cor so a todas as row’s.
Codigo
public void Verf_cor(){
modelo = (DefaultTableModel)jTable1.getModel();
int Nrow=modelo.getRowCount();
System.out.println("count:"+Nrow);
for(int e=0;e<Nrow;e++){
Add_cor(e);
System.out.println(e);
}
}
public void Add_cor(Integer row){
modelo = (DefaultTableModel)jTable1.getModel();
System.out.println((String)modelo.getValueAt(row,2));
String n=(String)modelo.getValueAt(row,2);
if(n.trim().equals("Livre")){
muda_cor(188,210,238,row);
}
if(n.trim().equals("Reservado")){
muda_cor(124,205,124,row);
}
if(n.trim().equals("Ocupado")){
muda_cor(240,128,128,row);
}
}
public void muda_cor(final Integer r,final Integer g,final Integer b,final Integer w){
jTable1.setDefaultRenderer(Object.class, new DefaultTableCellRenderer() {
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column) {
super.getTableCellRendererComponent(table, value,isSelected,
hasFocus, row, column);
if (row ==w) {
super.setBackground(new Color(r,g,b));
} else {
}
return this;
}
});
}
Resultado:

Dá uma olhada nisso:
import javax.swing.*;
import javax.swing.table.*;
import java.awt.*;
import java.util.HashMap;
import java.util.Map;
public class CustomCellRenderer {
JTable tabela;
TableColumn tcol;
Map<Integer, Color> cores = new HashMap<Integer, Color>();
public static void main(String[] args) {
new CustomCellRenderer();
}
public CustomCellRenderer() {
JFrame frame = new JFrame("Creating a Custom Cell Reanderer!");
JPanel panel = new JPanel();
String data[][] = {{"Vinod", "Computer", "3"},
{"Rahul", "History", "2"},
{"Manoj", "Biology", "4"},
{"Sanjay", "PSD", "5"}};
String col[] = {"Name", "Course", "Year"};
DefaultTableModel model = new DefaultTableModel(data, col);
tabela = new JTable(model);
tcol = tabela.getColumnModel().getColumn(0);
tcol.setCellRenderer(new CustomTableCellRenderer());
tcol = tabela.getColumnModel().getColumn(1);
tcol.setCellRenderer(new CustomTableCellRenderer());
tcol = tabela.getColumnModel().getColumn(2);
tcol.setCellRenderer(new CustomTableCellRenderer());
JTableHeader header = tabela.getTableHeader();
header.setBackground(Color.yellow);
JScrollPane pane = new JScrollPane(tabela);
panel.add(pane);
frame.add(panel);
frame.setSize(500, 150);
frame.setUndecorated(true);
frame.getRootPane().setWindowDecorationStyle(JRootPane.PLAIN_DIALOG);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
mudaCor();
}
public void mudaCor() {
TableModel modelo = (DefaultTableModel) tabela.getModel();
int nRow = modelo.getRowCount();
for (int e = 0; e < nRow; e++) {
String n = (String) modelo.getValueAt(e, 1);
if (n.trim().equals("Computer")) {
cores.put(e, Color.blue);
} else if (n.trim().equals("History")) {
cores.put(e, Color.GRAY);
} else {
cores.put(e, Color.RED);
}
}
}
public class CustomTableCellRenderer extends DefaultTableCellRenderer {
public Component getTableCellRendererComponent(JTable table,
Object obj, boolean isSelected, boolean hasFocus, int row, int column) {
Component cell = super.getTableCellRendererComponent(
table, obj, isSelected, hasFocus, row, column);
cell.setBackground(cores.get(row));
return cell;
}
}
}
Obrigado pela atenção,Agradecido.
Funciono ema! 
D
Obrigado pela atenção,Agradecido.
Funciono ema!![]()
Caro Amigo platnum estou precisando fazer a mesma coisa que vc, peguei esse código e fiz rodar blz, porém não estou conseguindo adaptar a minha Table existente, vc poderia me ajudar?
Criei a minha Table com Swing, o nome da variável é jTable1 e criei um metodo para formata-la, seu tamanho e talz… ela possui 7 colunas, ela está dentro de uma JInternhalFrame que chamada pela minha frama principal através de um botão.
Fico no aguardo.
Criado 4 de novembro de 2010
Ultima resposta 27 de mai. de 2013
Respostas 5
Participantes 3
Alura Git Flow: entenda o que é, como e quando utilizar Entenda o que é Git Flow, como funciona seu fluxo com branches como Master, Develop, Feature, Release e Hotfix, além de vantagens e desvantagens.
Casa do Codigo Ontologias e Web Semantica: Do conceito a aplicacao Por Ivam Galvao Filho — Casa do Codigo