CellRenderer - text bold
Machen, wie der text in JTable Fett, ich habe Folgendes versucht, Es funktioniert für Farben, sondern für die Herstellung der text Fett werde ich irgendwo falsch
class ColourRender extends DefaultTableCellRenderer {
public Component getTableCellRendererComponent(JTable tblData,
Object value, boolean isSelected, boolean hasFocus, int row,
int column) {
Component cellComponent = super.getTableCellRendererComponent(
tblData, value, isSelected, hasFocus, row, column);
if (tblData.getValueAt(row, 3).equals("M")) {
cellComponent.setForeground(forMen);
} else {
cellComponent.setForeground(forWomen);
}
return cellComponent;
}
class boldRenderer extends DefaultTableCellRenderer {
public Component getTableCellRendererComponent(JTable tblData,
Object value, boolean isSelected, boolean hasFocus,
int row, int column) {
Component cellComponent = super.getTableCellRendererComponent(
tblData, value, isSelected, hasFocus, row, column);
if (tblData.getValueAt(row, 1).equals(bib)) {
cellComponent.setFont(cellComponent.getFont().deriveFont(
Font.BOLD));
} else {
cellComponent.setFont(cellComponent.getFont().deriveFont(
Font.PLAIN));
}
return cellComponent;
}
}
}
und diese in der Klasse, die mit der Tabelle
tblData.getColumn("Bib no").setCellRenderer(new CustomRenderer());
tblData.getColumn("M/F").setCellRenderer(new CustomRenderer());
Du musst angemeldet sein, um einen Kommentar abzugeben.
Erstellen Sie eine Fette Schrift aber nichts zu tun mit ihm: Man kann nie rufen Sie
setFont(...)
überall.d.h.,
Für Farben setzt die Vordergrundfarbe auf null in deinem else-block, um Ihre Farben ändern auf Standard zurück.
Bearbeiten
Zum Beispiel:
null
im else-block.cellComponent.setForeground(myJTable.getForeground())
-, test-für-Wert ist nicht das richtige zu sein, und etc.. , sehen