Habe diesen Code im Internet gefunden(bzw. auch etwas modifiziert)
Mich interessieren jetzt aber doch diese beiden Zeilen:
Meine Frage wäre nun wieso diese beiden Werte die Höhe bzw. Länge des Frames haben? Bezieht sich das nicht auf den JComponent? Und wenn ja wie und woher bekommt dieser Component, die Längenangaben?
Java:
import javax.swing.JFrame;
import javax.swing.JComponent;
import java.awt.geom.Ellipse2D;
import java.awt.geom.Rectangle2D;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Color;
public class FensterKreis extends JFrame
{
public static class MyComponent extends JComponent{
@Override
public void paintComponent(Graphics g) {
Graphics2D graphics2D = (Graphics2D)g;
int width = getWidth();
int height = getHeight();
Ellipse2D.Double ellipse
= new Ellipse2D.Double(0, 0, width, height);
Rectangle2D.Double rectangle
= new Rectangle2D.Double(width/4, height/4, width/2, height/2);
g.setColor(Color.BLUE);
graphics2D.draw(ellipse);
g.setColor(Color.RED);
graphics2D.fill(rectangle);
}
}
public FensterKreis() {
setTitle("YO MAMA");
setSize(1230, 3230);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setResizable(true);
setLocation(100,100);
this.add(new MyComponent());
setVisible(true);
}
}
Mich interessieren jetzt aber doch diese beiden Zeilen:
Java:
int width = getWidth();
int height = getHeight();
Meine Frage wäre nun wieso diese beiden Werte die Höhe bzw. Länge des Frames haben? Bezieht sich das nicht auf den JComponent? Und wenn ja wie und woher bekommt dieser Component, die Längenangaben?
Zuletzt bearbeitet: