Eu quero que faça os dois amigo. Certas linhas já venham de outra cor e que também se eu clicar em cima mude de cor a linha inteira.
Acrescentei isso no codigo e deu pau já =/
import java.awt.Color;
import java.awt.Component;
import javax.swing.JTable;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.DefaultTableModel;
/*
* Main.java
*
* Created on 17 de Janeiro de 2008, 17:23
*
* O codigo montarTabela()e jTable1MouseClicled foi feito a mão, o resto esqueça
* foi tudo feito pelo netbeans, não perca o seu tempo lendo
*
*
*/
/**
*
* @author Administrador
*/
public class Main extends javax.swing.JFrame {
/** Creates new form Main */
public Main() {
initComponents();
/*---- Importante ------*/
montarTabela();
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
private void initComponents() {
jScrollPane1 = new javax.swing.JScrollPane();
jTable1 = new javax.swing.JTable();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jTable1.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null}
},
new String [] {
"Title 1", "Title 2", "Title 3", "Title 4"
}
));
jTable1.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jTable1MouseClicked(evt);
}
});
jScrollPane1.setViewportView(jTable1);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 375, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(15, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 275, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(14, Short.MAX_VALUE))
);
pack();
}// </editor-fold>//GEN-END:initComponents
/*---- Importante ------*/
private void jTable1MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jTable1MouseClicked
// TODO add your handling code here:
/* Aqui a color munda quando o linha selecionada for par ou impar */
/* Imprime a linha selecionada */
System.out.println(jTable1.getSelectedRow());
/* Metodo pega o valor da linha e divide por 2 se o resto por igual a 0
* entao a linha é vermelho senao é azul
*/
if(((jTable1.getSelectedRow())%2)==0){
jTable1.setSelectionBackground(Color.RED);
}else{
jTable1.setSelectionBackground(Color.BLUE);
}
}//GEN-LAST:event_jTable1MouseClicked
/*---- Importante ------*/
public void montarTabela(){
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 == 1) {
setBackground(Color.LIGHT_GRAY);
} else {
setBackground(null);
}
return this;
}
});
Object colunas[] = { "Código", "Servico","Valor" };
DefaultTableModel aModel = (DefaultTableModel) jTable1.getModel();
aModel.setNumRows(0);
jTable1.setModel(aModel);
aModel.setColumnIdentifiers(colunas);
aModel.addRow(new String [] {"1","Delta Force","100,00"} );
aModel.addRow(new String [] {"2","Batlefield 1942","180,00"} );
aModel.addRow(new String [] {"3","CS 1.6","150,00"} );
jTable1.setModel(aModel);
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Main().setVisible(true);
}
});
}
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTable jTable1;
// End of variables declaration//GEN-END:variables
}