Die Größe der Zeichnung zu match-frame-Größe

Ich geschrieben habe, eine app, die benutzerdefinierte zieht alles in paint (), die sich auf Feste pixel-Positionen. Dann deaktivierte ich die Größe des Rahmens so ist es immer sichtbar.

Aber jetzt möchte ich in der Lage sein, um die Größe zu verändern, aber ich möchte nicht, dass meine Fäden code. Ich hatte gehofft, ich könnte greifen Sie die 300x300 quadratisch von der Grafik g Objekt und ändern Sie die Größe des JFrame aktuelle Größe nach alle meine Fäden code, aber ich habe keine Ahnung, was ich Tue.

Hier Beispiel-code. In diesem möchte ich die 100x100 Platz zu bleiben, in der Mitte, im Verhältnis zu der Größe verändert JFrame:

package DrawAndScale;

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

public class DASFrame extends javax.swing.JFrame {
    public DASFrame() {
        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        this.setSize(300, 300);
    }

    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new DASFrame().setVisible(true);
            }
        });
    }

    @Override
    public void paint(Graphics g) {
        g.setColor(Color.BLACK);
        g.fill3DRect(100, 100, 100, 100, true);
    }
}

Dank.

  • Sie sollten nie überschreiben der paint () - Methode ein JFrame (es sei denn, Sie wirklich wissen, was Sie tun). Custom-painting erfolgt durch überschreiben der paintComponent () - Methode des JPanel oder JComponent.
  • Der code zeichnet alles auf eine Leinwand in das JFrame, ich zog an der Spitze für die Kürze. Aber danke, da ich wirklich nicht weiß, was ich Tue.
InformationsquelleAutor Bryan Bueter | 2011-08-19
Schreibe einen Kommentar