Ich mache ein Programm, das einen Kreis auf einem JFrame zeichnet. Ich möchte das Programm mit dem Kreis in der Mitte des Bildschirms starten, so dass selbst wenn ich die Größe des JFrame-Fensters ändere, es immer noch zentriert ist. Wie würde ich es tun? Ich habe viel geschaut, aber nichts gefunden, was für mich funktioniert. Der Code ist unten. Danke im Voraus!Wie kann ich ein gezeichnetes Objekt in einem JFrame zentrieren?
import java.awt.Graphics;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class ImageFrame extends JFrame {
private static final long serialVersionUID = 1L;
int width = 40;
int height = 40;
int x = 160;
int y = 70;
JPanel panel = new JPanel() {
private static final long serialVersionUID = 1L;
public void paintComponent(Graphics g) {
super.paintComponents(g);
g.drawOval(x, y, width, height);
}
};
public ImageFrame() {
add(panel);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setSize(400, 300);
setLocationRelativeTo(null);
setVisible(true);
}
}
Wie bekomme ich die Containerbreite und -höhe? Tut mir leid, wenn das super einfach ist. – LAD
'getWidth()' und 'getHeight()' jeweils ...... :) – Reimeus
... wie im [javadoc] (https://docs.oracle.com/javase/8/docs/api /javax/swing/JPanel.html) ... – Reimeus