2017-12-18 5 views
0

Ich beginne zu lernen, wie man Grafiken in Java macht. Aber wenn ich etwas in meinen Frame zeichne und ich das Programm starte. In den Teilen des Frames, in denen ich nichts gezeichnet habe, ist das Bild des Frames hinter meinem Programm. Kann ich das vermeiden?Java Frame zeigt meinen Bildschirm

package de.sarah; 

import java.awt.Color; 
import java.awt.Graphics; 

import javax.swing.JFrame; 

public class Framemg extends JFrame{ 

public Framemg() { 
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    setTitle("Zeichnen mit Java"); 
    setSize(400, 300); 
    setBackground(Color.yellow); 
    setVisible(true); 
} 
public void paint(Graphics g) { 
    g.drawString("Hellooo", 120, 60); 
} 
} 

package de.sarah; 

import java.awt.Color; 
import java.awt.Graphics; 
import java.awt.Insets; 

public class Main{ 

public static void main(String[] args) { 
    Framemg Frame = new Framemg(); 
    } 

} 

Antwort

1

Überschreiben Sie nicht die Farbe() eines JFrame.

Benutzerdefinierte Bemalung erfolgt durch Überschreiben der paintComponent(...) Methode eines JPanel. Dann fügen Sie das Panel zum Rahmen hinzu.

Lesen Sie den Abschnitt aus dem Swing-Tutorial auf Custom Painting für weitere Informationen und Arbeitsbeispiele, um loszulegen.

+0

Danke;) Ich habe es jetzt – Sarah

+0

@Sarah, froh, dass es geholfen hat. Vergessen Sie nicht, die Antwort zu akzeptieren, indem Sie auf das Häkchen klicken, damit die Leute wissen, dass das Problem gelöst wurde. – camickr