Hi,
habe folgendes Problem:
ich hab eine jtable die auf einem jscrollpane liegt. jetzt wollte ich ein hintergrundbild einfügen.
Da die Tabellenzeilen das bild nach und nach (je nachdem wieviel zeilen es gibt) verdecken soll, habe
ich das bild durch die methode paint der klasse jscrollpane eingefügt:
die jtable füge ich dann auf das jscrollpane hinzu:
Das Bild wird gezeichnet, aber die Tabelle wird zu beginn nicht angezeigt. erst wenn man auf ihr herumklickt.:autsch:
und dabei auch nur die entsprechenden zeilen..
die Scrollbalken werden auch nicht korrekt angezeigt.
hat jemand ne lösung :rtfm: oder eine alternative? danke im vorraus..
habe folgendes Problem:
ich hab eine jtable die auf einem jscrollpane liegt. jetzt wollte ich ein hintergrundbild einfügen.
Da die Tabellenzeilen das bild nach und nach (je nachdem wieviel zeilen es gibt) verdecken soll, habe
ich das bild durch die methode paint der klasse jscrollpane eingefügt:
Java:
public class TableScrollPaneBackground extends JScrollPane{
// The Image to store the background image in.
Image img;
Frm_Main main;
public TableScrollPaneBackground(Frm_Main main)
{
// Loads the background image and stores in img object.
img = Toolkit.getDefaultToolkit().createImage(getClass().getResource("/grafiken/Logo.png"));
this.main = main;
}
public void paint(Graphics g)
{
// Draws the img to the BackgroundPanel.
Dimension d = getSize();
for( int x = 0; x < d.width; x += img.getWidth(null))
for( int y = 0; y < d.height; y += img.getHeight(null) )
g.drawImage( img, x, y, null, null );
// super.paint(g);//dann geht nichts mehr
// this.main.validate();//bringt nix
}
}
die jtable füge ich dann auf das jscrollpane hinzu:
Java:
scrollPane = new TableScrollPaneBackground(this);
scrollPane.setViewportView(getTableMain());//getTableMain() erstellt eine neue Tabelle
Das Bild wird gezeichnet, aber die Tabelle wird zu beginn nicht angezeigt. erst wenn man auf ihr herumklickt.:autsch:
und dabei auch nur die entsprechenden zeilen..
die Scrollbalken werden auch nicht korrekt angezeigt.
hat jemand ne lösung :rtfm: oder eine alternative? danke im vorraus..