Java macht eine Methode drawCircle Aufruf von drawOval
Ich brauche, um eine Methode drawCircle, das aussieht wie
public void drawCircle(int x, int y, int radius)
dass zeichnet einen Kreis mit Mittelpunkt und radius. Die drawCircle Methode aufrufen muss, drawOval. Ich bin nicht sicher, wie ich nennen kann drawOval von meinem drawCircle-Methode, ohne dabei die Grafiken zu. Ist das möglich?
Heres was ich habe:
import java.awt.*;
import javax.swing.*;
class test
{
public static void main(String[] args)
{
JFrame frame = new JFrame("test");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(new MyPanel());
frame.pack();
frame.setVisible(true);
}
}
class MyPanel extends JPanel
{
MyPanel()
{
setBackground(Color.WHITE);
setPreferredSize(new Dimension(250,250));
}
public void paintComponent(Graphics page)
{
super.paintComponent(page);
drawCircle(50,50,20);
}
private void drawCircle(int x, int y, int radius)
{
drawOval(x - radius, y - radius, radius*2, radius*2);
}
}
- Warum tun Sie haben es zu tun mit übergabe einer Grafik?
- haben Sie nicht zu nennen drawOval in paintComponent wie g.drawOval(), wobei g Grafik?
- Durch " passing-Grafiken zu es gibt Sie bezogen auf ein Java-Objekt-Bibliothek? Poste mehr code komplett.
- Was für ein Objekt Sie versuchen zu nennen drawCircle auf? Wenn Sie planen, machen einen Aufruf von drawOval von java.awt.* Bibliothek, dann brauchst du ein Graphics-Objekt, rufen die Methode auf ja. Bitte mehr Kontext, obwohl.
- ja die Grafik auf die ich mich beziehe, ist die Java-Objekt-Bibliothek
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie den Grafik-Kontext durch aufrufen
getGraphics()
auf eine swing-Komponente. Ich möchte aber trotzdem hier meine Zeichnung, die Methoden zu akzeptieren, die Grafik-Kontext.Beispielsweise
Alternativ
Sich der Tatsache bewusst sein, dass
getGraphics()
zurückkehren könnennull
jedoch. Sie sind viel besser dran, indem Sie mit Ihrer drawCircle () - Methode innerhalb der paint () - Methode auf und übergeben Ihr den Grafik-Kontext.E. g.
Vorteile:
g.draw(getCircle(x, y, r));
oderg.fill...
in deiner paint () - Methode).Sagte Sie, dass "Die drawCircle Methode aufrufen muss, drawOval.", aber vielleicht waren Sie gerade nicht bewusst das die alternative.