Pq a fonte Wingdings não reproduz os caracteres corretamente no jtable?
O exemplo de codigo que vou colocar aqui é para representar checkbox, pelo menos deveria, mas os caracteres gerados não estão corretos, alguém sabe me dizer o pq?
import java.awt.Color;
import java.awt.Component;
import java.awt.Font;
import java.util.Vector;
import javax.swing.JFrame;
import javax.swing.JTable;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.DefaultTableModel;
public class FontTeste extends DefaultTableCellRenderer
{
private Font fontePadrao = new Font("Wingdings", 0, 18);
public Component getTableCellRendererComponent(
JTable table, Object value, boolean isSelected,
boolean hasFocus, int row, int column)
{
Component c = super.getTableCellRendererComponent(
table, value, isSelected, hasFocus, row, column);
c.setFont(this.fontePadrao);
return c;
}
public static void main(String[] args)
{
Vector header = new Vector();
header.add("þ");
header.add("þ");
header.add("q");
header.add("q");
Vector data = new Vector();
for (int i = 0; i < 10; i++)
{
Vector row = new Vector();
row.add("þ");
row.add("þ");
row.add("q");
row.add("q");
data.add(row);
}
JTable table = new JTable(new DefaultTableModel(data, header));
table.setDefaultRenderer(Object.class, new FontTeste());
JFrame frame = new JFrame();
frame.getContentPane().add(table);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(640, 480);
frame.setVisible(true);
}
}
“þ” representa checkbox selecionado e “q” respresenta o checkbox sem seleção!
Por favor me ajudem!
Obrigado!