A
AppletHintergr
Gast
Sowohl mein Browser, als auch das Debugfenster von Netbeans zeigen einen hellblauen Hintergrund meines Applets an.
Da die html Seite, auf der das Applet dargestellt werden soll, aber weißen Hintergrund hat, sollte auch der Hintergrund des Applets weiß sein.
Mein erster Versuch in der init() Methode einfach this.setBackground(Color.white) aufzurufen schlug fehl.
Als nächstes habe ich eine paint Methode mit getBounds() die Größe geholt und die Methode fillRect() aufgerufen. Diese zeichnet zwar den hintergrund weiß, die im Applet enthaltenen JComponents wie JComboBox werden auch übermalt.
Gibt es eine Möglichkeit die Hintergrundfarbe im html File zu definieren oder wie kann man dem Applet die Hintergrundfarbe bestimmen.
Hier kurz mein Code stark vereinfacht
Da die html Seite, auf der das Applet dargestellt werden soll, aber weißen Hintergrund hat, sollte auch der Hintergrund des Applets weiß sein.
Mein erster Versuch in der init() Methode einfach this.setBackground(Color.white) aufzurufen schlug fehl.
Als nächstes habe ich eine paint Methode mit getBounds() die Größe geholt und die Methode fillRect() aufgerufen. Diese zeichnet zwar den hintergrund weiß, die im Applet enthaltenen JComponents wie JComboBox werden auch übermalt.
Gibt es eine Möglichkeit die Hintergrundfarbe im html File zu definieren oder wie kann man dem Applet die Hintergrundfarbe bestimmen.
Hier kurz mein Code stark vereinfacht
Java:
public class MeinErstesApplet extends JApplet
{
public void init()
{
Polygon pol = new Polygon(50, 100);
JLabel label = new JLabel("Polygon");
this.add(label, BorderLayout.NORTH);
this.add(pol, BorderLayout.CENTER);
this.setSize(400, 400);
this.setVisible(true);
}
public class Polygon extends JPanel
{
ArrayList RectList = new ArrayList();
public Polygon(int x, int y)
{
for(int i=0; i<5; ++i)
{
RectList.add(new Rect(x*i, y));
}
}
public void paint(Graphics g)
{
g.drawImage(img, 0, 0, this);
for (int i = 0; i < RectList.size(); ++i)
{
((Rect) RectList.get(i)).paint(g);
}
}
}
public class Rect
{
int x, y, Width=10, Height=50;
public Rect(int x, int y)
{
this.x=x;
this.y=y;
}
public void paint(Graphics g)
{
g.fillRect(x, y, Width, Height);
}
}
}