Schon ergibt sich ein neues Problem... seufz...
Das mit dem Panelverschieben läuft jetzt. Allerdings möchte ich auf den Panels natürlich auch was drauf haben - eine Tabelle. Das an sich währe kein Problem, wollte ich nicht in verschiedenen Zellen eine andere Schriftfarbe haben.
Ich habe mich natürlich informiert und habe bisher das hier gemacht:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.*;
/**
*
* Beschreibung
*
* @version 1.0 vom 09.05.2008
* @author Nicholas
*/
public class TableTest extends JFrame {
// Anfang Variablen
private JTable jTable1 = new JTable(5, 3);
// Ende Variablen
public TableTest(String title) {
// Frame-Initialisierung
super(title);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent evt) { System.exit(0); }
});
int frameWidth = 435;
int frameHeight = 351;
setSize(frameWidth, frameHeight);
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
int x = (d.width - getSize().width) / 2;
int y = (d.height - getSize().height) / 2 ;
setLocation(x, y);
Container cp = getContentPane();
cp.setLayout(null);
// Anfang Komponenten
jTable1.setBounds(8, 40, 216, 152);
jTable1.setValueAt("Hallo", 0, 0);
jTable1.setValueAt("Du da", 0, 1);
jTable1.setValueAt("man", 2, 2);
jTable1.setDefaultRenderer(JTable.class, new ScoreTableCellRenderer());
cp.add(jTable1);
// Ende Komponenten
setResizable(false);
setVisible(true);
}
// Anfang Ereignisprozeduren
// Ende Ereignisprozeduren
public static void main(String[] args) {
new TableTest("TableTest");
}
}
class ScoreTableCellRenderer extends DefaultTableCellRenderer {
public Component getTableCellRendererComponent(JTable table,
Object value,
boolean isSelected,
boolean hasFocus,
int row,
int column) {
super.getTableCellRendererComponent(table, value, isSelected,
hasFocus, row, column);
setBackground(new Color(255, 255, 0));
return this;
}
}
Alles anzeigen
Den Renderer hab ich z.T. aus einem Forum, wo ein ähnliches Problem behandelt wurde.
Um das ganze zu vereinfachen wollte ich erst einmal ohne Bedingung einfach jede Zelle einfärben, aber auch das hat nicht funktioniert.
Ich wollte fragen, woran das liegt, und, wie ich jetzt z.B. anstatt den Hintergrund die Schriftart bzw. Schriftfarbe (foreground???) ändern kann.
Danke wie immer im Vorraus
Nicholas