Como mudar a cor de uma linha que vai ser selecionada pelo usuario, e essa permanecer marcada…e quando for desmarcada voltar a cor normal ???
ps: a pessoa vai selecionar a linha desejada por um campo boolean na jTable…
Como mudar a cor de uma linha que vai ser selecionada pelo usuario, e essa permanecer marcada…e quando for desmarcada voltar a cor normal ???
ps: a pessoa vai selecionar a linha desejada por um campo boolean na jTable…
Use Renderers para fazer isso. assim vc pode colocar a cor que quiser tanto nas linhas selecionadas como as não selecionadas.
Exemplo.
//setando o cellrenderer
table.getColumnModel().getColumn(0).setCellRenderer(new MyTableCellRenderer());
Exemplo de CellRenderer
public class MyTableCellRenderer extends JLabel implements TableCellRenderer {
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int rowIndex, int colIndex) {
// se a linha está selecionada
if (isSelected) {
setOpaque(true);
setBackground(Color.BLUE);
setForeground(Color.WHITE);
} else {
setOpaque(true);
setBackground(Color.WHITE);
setForeground(Color.BLACK);
}
// se está em focus
if (hasFocus) {
}
// seta o texto
setText(value.toString());
return this;
}
// The following methods override the defaults for performance reasons
public void validate() {}
public void revalidate() {}
protected void firePropertyChange(String propertyName, Object oldValue, Object newValue) {}
public void firePropertyChange(String propertyName, boolean oldValue, boolean newValue) {}
}
Isso não deu certo :?
preciso q a linha marcada pela checkbox fique de uma cor diferente…e se desmarcada volte a cor normal…
OK, Mara*,
O que você poderia fazer é criar um campo boolean selected na sua classe, e renderizar um checkbox na coluna referênciada ao campo selected da sua classe.
Você já conseguiu isso?
Se sim, podemos continuar com a próxima parte.
Já coloquei a ultima coluna com campos boolean…
e ainda não deu certo’