Ich mache einen Zeitplan mit Java, aber ich kann ein Problem nicht lösen.Wie kann ich denselben Wert in der JTable mit DefaultTableCellRenderer verbergen
Ich möchte die Vordergrundfarbe als Hintergrundfarbe ändern oder einen Wert ausblenden, wenn einige Zellen bei der ersten erkannten Zelle den gleichen Wert haben.
Like this ...
Hier ist, was ich gemacht ...
(Tut mir leid koreanische Wörter ...)
Also, ich möchte eine DefaultTableCellRenderer
verwenden, aber ich kann kein gutes Beispiel dafür finden.
Und ich weiß nicht, wie DefaultTableCellRenderer
funktioniert. Kann nicht finden, erklärt etwas darüber ...
Also möchte ich um einen Gefallen für dieses Problem bitten.
Hier ist mein Code:
public class subject_table_renderer extends DefaultTableCellRenderer
{
private Object subject_name = "";
@Override
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column)
{
Component cell = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
if (! isSelected)
{
if(value.equals("")){
cell.setBackground(Color.WHITE);
}
else{
String[] temp = MainFrame.find_list((String)value, MainFrame.subject);
//take a subject_list for decide background color
if(!value.equals(subject_name)){
subject_name = value;
cell.setBackground(get_rand_color(cell, Integer.parseInt(temp[6])));
}
else{
cell.setBackground(get_rand_color(cell, Integer.parseInt(temp[6])));
cell.setForeground(get_rand_color(cell, Integer.parseInt(temp[6])));
}
}
}
return cell;
}
'subject_table.setShowGrid (false);' ..? (Dann müssten Sie die Grenzen im Renderer fälschen) –
umm ... Ich meine, verstecken Sie den 'Wert' in der Zelle, verstecken Sie keine 'Linie' auf dem Tisch ... –
Oh,. .mein Fehler! : P –