Boa, amigos.
Gostaria de saber se alguém pode me ajudar, pois minha JTABLE não está mostrando as casas decimais zeradas.
Exemplo:

Gostaria que mostrasse assim:

Desde já agradeço.
Boa, amigos.
Gostaria de saber se alguém pode me ajudar, pois minha JTABLE não está mostrando as casas decimais zeradas.
Exemplo:

Gostaria que mostrasse assim:

Desde já agradeço.
Você está retornando Double.class no método getColumnClass() do seu TableModel para essa coluna?
private void Filtra_Higienizacao() {
tbHigienizacao.getColumnModel().getColumn(0).setPreferredWidth(100);
tbHigienizacao.getColumnModel().getColumn(1).setPreferredWidth(480);
tbHigienizacao.getColumnModel().getColumn(2).setPreferredWidth(100);
DefaultTableModel higienizacao = (DefaultTableModel) tbHigienizacao.getModel();
higienizacao.setNumRows(0);
try {
while (THig.rs.next()) {
higienizacao.addRow(new Object[]{
THig.rs.getString("hig_cod"),
THig.rs.getString("hig_descricao"),
THig.rs.getDouble("hig_preco"),});
}
} catch (SQLException erro) {
JOptionPane.showMessageDialog(null, "ERRO AO PREENCHER TABELA! " + erro);
}
}
table.setDefaultRenderer(Double.class, renderer);
import java.awt.Color;
import java.awt.Component;
import java.text.NumberFormat;
import java.util.Locale;
import javax.swing.JLabel;
import javax.swing.JTable;
import javax.swing.SwingConstants;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.TableCellRenderer;
public class MoedaCellRender extends JLabel implements TableCellRenderer {
private Color whiteColor = new Color(254, 254, 254);
private Color alternateColor = new Color(237, 243, 253);
private Color selectedColor = new Color(61, 128, 223);
/**
* classe para mostrar a celula com formato de moeda
*/
private static final long serialVersionUID = 1L;
private JLabel cell = null;
private NumberFormat formatter = NumberFormat
.getCurrencyInstance(new Locale("pt", "BR")); // Locale.getDefault()
private JLabel getCell() {
if (cell == null)
cell = new JLabel();
return cell;
}
public Component getTableCellRendererComponent(JTable table, Object value,
boolean selected, boolean hasFocus, int row, int column) {
Color bg;
if (value != null) {
bg = selectedColor;
getCell().setText(formatter.format(value));
getCell().setHorizontalAlignment(SwingConstants.RIGHT);
getCell().setOpaque(true);
getCell().setBackground(bg);
getCell().setForeground(selected ? Color.white : Color.black);
getCell().setVisible(true);
if (hasFocus) {
bg = selectedColor;
setBackground(bg);
setForeground(selected ? Color.white : Color.black);
} else if (!selected)
bg = (row % 2 == 0 ? alternateColor : whiteColor);
else
bg = selectedColor;
getCell().setBackground(bg);
getCell().setForeground(selected ? Color.white : Color.black);
} else
getCell().setText("");
return getCell();
}
}
table.getColumnModel().getColumn(2).setCellEditor(new MoedaCellEditor());
Não sei fazer tabelas, nem sei mexer com creator.
Preciso de uma solução para a tabela que estou usando, pois me parece bem menos código do que o que você postou.
Agradeço da mesma forma.
Não sei fazer tabelas, nem sei mexer com creator.
Preciso de uma solução para a tabela que estou usando, pois me parece bem menos código do que o que você postou.
Agradeço da mesma forma.
Não se engane pelas aparências. Eu e ele não estamos recomendando que você deixe de usar o DefaultTableModel à toa. Na prática, você rapidamente terá mais código, mais complexo e mais espalhado do que se aprender a fazer do jeito certo.
Deixe a preguiça de lado. Uma tabela está entre os componentes mais complexos do Swing, perdendo só para a árvore.