Hallo zusammen, ich habe gerade angefangen mich mit den Swing Komponenten vertraut zu machen. Jetzt habe ich eine Frage zu der Methode paint. Ich möchte einen Hintergrund (3 Farben), einen Button und einen String/Label auf dem Fenster ausgeben. Beim Klick auf den Button, soll das Fenster in den Hintergrund treten und ein neues aufgehen.
Aber ich scheiter schon an der paint Methode
So, nun die Frage, was mache ich alles falsch.
Irgendwie bekomme ich die Länge des Strings nicht über getstringWidth, damit ich den String dynamisch verschieben kann. Will, dass es trotzdem in der Mitte bleibt, auch wenn ich das Fenster vergrößere oder verkleiner.
Auch verschwinden teilweise die Farben, also meine gefüllten Rechtecke, wenn ich die größe verändere.
Und ich würde gern den Button auch dynamisch verschieben können um ihn zentriert ausgeben zu können, je nachdem wie groß mein Fenster gerade ist.
Aber ich scheiter schon an der paint Methode
Code:
String s="Deutschlandquiz";
/** Creates new form Fenster */
public void paint(Graphics g){
super.paint(g);
int höhe=this.getHeight();
int weite=this.getWidth();
höhe=höhe/3;
g.fillRect(0, 0, weite, höhe);
g.setColor(Color.red);
g.fillRect(0, höhe, weite, höhe*2);
g.setColor(Color.yellow);
g.fillRect(0, höhe*2, weite, höhe*3);
g.setColor(Color.white);
Font font=new Font("SansSerif",Font.PLAIN,25);
g.setFont(font);
FontMetrics fm=g.getFontMetrics();
// int x=fm.getstringWidth(s);
g.drawString(s, 50, 100);
}
So, nun die Frage, was mache ich alles falsch.
Irgendwie bekomme ich die Länge des Strings nicht über getstringWidth, damit ich den String dynamisch verschieben kann. Will, dass es trotzdem in der Mitte bleibt, auch wenn ich das Fenster vergrößere oder verkleiner.
Auch verschwinden teilweise die Farben, also meine gefüllten Rechtecke, wenn ich die größe verändere.
Und ich würde gern den Button auch dynamisch verschieben können um ihn zentriert ausgeben zu können, je nachdem wie groß mein Fenster gerade ist.