Ola mestre do java!
Eu fico muito irritado quando travo nessas coisas que eu acredito ser muito facil, pesquisei bastante na internet mas nao consegui entender um exemplo que se encaixe no meu problema, vejam meu codigo:
Aqui o Model da minha jTable:
public final class model extends AbstractTableModel {
private ArrayList linhas = null;
private String[] colunas = null;
public model(ArrayList linhas, String[] colunas) {
setLinhas(linhas);
setColunas(colunas);
}
public ArrayList getLinhas() {
return linhas;
}
public void setLinhas(ArrayList linhas) {
this.linhas = linhas;
}
public String[] getColunas() {
return colunas;
}
public void setColunas(String[] colunas) {
this.colunas = colunas;
}
@Override
public String getColumnName(int numCol) {
return colunas[numCol];
}
@Override
public int getRowCount() {
return linhas.size();
}
@Override
public int getColumnCount() {
return colunas.length;
}
@Override
public Object getValueAt(int numLin, int numCol) {
Object[] linha = (Object[]) getLinhas().get(numLin);
return linha[numCol];
}
Aqui onde eu preencho esse jTable:
public void preencherOrcamentos(String Modelo) throws SQLException {
ArrayList dados = new ArrayList();
String[] colunas = new String[]{"ID", "Aparelho", "Modelo", "Peça", "Serviço", "A COBRAR"};
try {
conn = getConnection();
} catch (SQLException | ClassNotFoundException e) {
JOptionPane.showMessageDialog(null, "Não foi possivel conectar, reinicie o Banco de Dados\n\nERRO: "+e+"", "ERRO", JOptionPane.ERROR_MESSAGE);
}
PreparedStatement create = conn.prepareStatement("SELECT * from tb_orcamento where orc_aparelho = ?");
create.setString(1, Modelo);
rs = create.executeQuery();
rs.first();
do {
BigDecimal peca = rs.getBigDecimal("orc_peca");
BigDecimal valor = rs.getBigDecimal("orc_valor");
BigDecimal resultado = valor.subtract(peca);
dados.add(new Object[]{rs.getInt("orc_id"), rs.getString("orc_aparelho"), rs.getString("orc_modelo"), rs.getBigDecimal("orc_peca"), rs.getBigDecimal("orc_valor"), resultado});
} while (rs.next());
model modelo = new model(dados, colunas);
j_Principal.jtable_orcamentos.setModel(modelo);
// ID
j_Principal.jtable_orcamentos.getColumnModel().getColumn(0).setMaxWidth(0);
j_Principal.jtable_orcamentos.getColumnModel().getColumn(0).setMinWidth(0);
j_Principal.jtable_orcamentos.getTableHeader().getColumnModel().getColumn(0).setMaxWidth(0);
j_Principal.jtable_orcamentos.getTableHeader().getColumnModel().getColumn(0).setMinWidth(0);
//Aparelho
j_Principal.jtable_orcamentos.getColumnModel().getColumn(1).setPreferredWidth(80);
j_Principal.jtable_orcamentos.getColumnModel().getColumn(1).setResizable(false);
//Modelo
j_Principal.jtable_orcamentos.getColumnModel().getColumn(2).setPreferredWidth(150);
j_Principal.jtable_orcamentos.getColumnModel().getColumn(2).setResizable(false);
//Peca
j_Principal.jtable_orcamentos.getColumnModel().getColumn(3).setPreferredWidth(60);
j_Principal.jtable_orcamentos.getColumnModel().getColumn(3).setResizable(false);
//Valor Servico
j_Principal.jtable_orcamentos.getColumnModel().getColumn(4).setPreferredWidth(60);
j_Principal.jtable_orcamentos.getColumnModel().getColumn(4).setResizable(false);
//Total
j_Principal.jtable_orcamentos.getColumnModel().getColumn(5).setPreferredWidth(75);
j_Principal.jtable_orcamentos.getColumnModel().getColumn(5).setResizable(false);
//Ordem do table
j_Principal.jtable_orcamentos.getTableHeader().setReorderingAllowed(false);
//Tamanho automatico
j_Principal.jtable_orcamentos.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
//Seleção Singular
j_Principal.jtable_orcamentos.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
j_Principal.jtable_orcamentos.setRowHeight(20);
}
e aqui o jTable:
Eu gostaria de colorir todos os valores da coluna “A Cobrar” mas nao achei nenhum exemplo na internet que eu pudesse entender, aprender e adaptar no meu código, ja agradeco desde agora <3 .