Zuerst einmal ein "Hallo zusammen".
Ich arbeite mich gerade in Java vor und habe jetzt eine Tabelle aufgebaut. Die Inhalte kommen aus einer CSV Datei in einen Vector. Ich möchte nun, dass wenn das Feld 13 keinen Inhalt hat, die Textfarbe der ganzen Tabellenzeile auf grau legen. Leider komme ich damit nicht weiter. Vielleicht kann mir jemand einen Denkanstoß geben, wie ich das anstelle?
Hier der Quellcode:
Das eigenltiche Fenster mit der Tabelle:
Das Einlesen der Datei und Übergabe an die Tabelle:
Der Kommentar zeigt halt, was ich machen möchte. Wenn also Feld 13 leer ist, soll der Text grau sein... Wie mache ich das?
Ich arbeite mich gerade in Java vor und habe jetzt eine Tabelle aufgebaut. Die Inhalte kommen aus einer CSV Datei in einen Vector. Ich möchte nun, dass wenn das Feld 13 keinen Inhalt hat, die Textfarbe der ganzen Tabellenzeile auf grau legen. Leider komme ich damit nicht weiter. Vielleicht kann mir jemand einen Denkanstoß geben, wie ich das anstelle?
Hier der Quellcode:
Das eigenltiche Fenster mit der Tabelle:
Code:
public void kundenwindow() throws FileNotFoundException, IOException
{
fkunden = new JFrame("KUNDEN.NEU");
WindowListener wl4=new WindowAdapter()
{
public void windowClosing4(WindowEvent e)
{
System.exit(0);
}
};
fkunden.addWindowListener(wl4);
fkunden.setLocation(180,180);
fkunden.setSize(800,800);
fkunden.setVisible(true);
fkunden.setBackground(Color.lightGray);
kundentable = new JTable();
fkunden.add(new JScrollPane(kundentable), BorderLayout.CENTER);
TableModel model3 = parseCSVAndCreateTableModel3("c:\\KUNDEN.neu");
kundentable.setModel(model3);
}
Das Einlesen der Datei und Übergabe an die Tabelle:
Code:
//Model für Kunden-Tabelle:
private TableModel parseCSVAndCreateTableModel3(String file) {
Vector vkunden = new Vector();
BufferedReader brkunden = null;
try {
brkunden = new BufferedReader(new FileReader(file));
// Überschriften stehen in erster Zeile
String[] rowItems3 = {"Kundennr","","Kundengruppe","","Name1","Name2","Name3","PLZ","Ort","Strasse","Land","Telefon","Email","Passwort","Bemerkung"};
Vector headerkunden = new Vector(Arrays.asList(rowItems3));
while (brkunden.ready()) {
rowItems3 = brkunden.readLine().split(";");
/*if (rowItems3[13].equals("")){
//Text der Tabellenzeile soll grau sein (wie dieser Kommentar)!
//Alle anderen Zeilen sollen schwarz bleiben.
}*/
vkunden.add(new Vector(Arrays.asList(rowItems3)));
}
DefaultTableModel model3 = new DefaultTableModel(vkunden, headerkunden);
return model3;
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
brkunden.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return null;
}
Der Kommentar zeigt halt, was ich machen möchte. Wenn also Feld 13 leer ist, soll der Text grau sein... Wie mache ich das?