Neuzeichnen von graphics in Java

Bin ich auch einfach nur in die Grafik in Java und habe ein problem. Erstellt habe ich ein JFrame Fenster (NetBeans-Designer) mit einem JPanel panel und ich zog einige Grafiken auf Sie. Dann habe ich einen JButton, der verändert eine variable, die zu einer Veränderung der X-position ein Quadrat auf dem JPanel.

On-Taste drücken Sie diese code ausgeführt werden würde:

drawObject.setX(150);
drawObject.repaint();

drawObject wird eine Instanz dieser Klasse:

public class sola extends JPanel {

    private int x = 10;

    @Override
    public void paintComponent(Graphics g){
        super.paintComponents(g);
        super.setBackground(Color.WHITE);

        g.setColor(Color.ORANGE);
        g.fill3DRect(x, 160, 100, 50, true);
    }

    public void setX(int xX){
        x = xX;
    }
}

Nun, wenn ich auf den Button JButton, das Rechteck nicht verschieben an die neue position, aber es ist immer noch sichtbar in die alte position. Nur wenn ich die Größe der Fenster nicht, es aktualisieren und das alte Rechteck verschwindet. Wie kann ich dieses problem lösen, so dass, wenn ich drücken Sie die-Taste, das Rechteck ist nur dann sichtbar, in der neuen position?

Für bessere Hilfe früher, nach einem SSCCE (pscode.org/sscce.html). Und wenn Sie eine Frage haben, vergessen Sie nicht, fügen Sie ein Fragezeichen (?).
Ich dünne das ist eine ziemlich klare Frage für die erste Frage.

InformationsquelleAutor Squeazer | 2011-03-13

Schreibe einen Kommentar