Entschuldigung, das wahrscheinlich eine wirklich grundlegende Frage ist, aber ich habe eine Klasse, das ist mit dem Code genannt Schmetterling, der wie so einen Schmetterling Objekt zum Zeichnen: auchWarum zeichnet die Komponente nichts?
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import javax.swing.JFrame;
import javax.swing.JPanel;
import java.awt.BasicStroke;
public class butterfly extends JPanel {
public butterfly() {
}
public void draw(Graphics2D g2){
//the width of the oval. A petal is an oval.
//TODO: Your code goes IN HERE (not in main), ALL OF IT. Replace the code below.
//draw one oval of length 300pixels from center to edge
g2.setColor(Color.blue);
g2.fillOval(500,55, 70, 70);
g2.fillOval(450, 40, 70, 70);
g2.fillOval(460,100, 40, 40);
g2.fillOval(495, 110, 40, 40);
g2.setColor(Color.black);
g2.setStroke(new BasicStroke(13));
g2.drawLine(520, 50, 490, 150);
}
}
dann habe ich versucht, es in dieser Komponente setzen, so kann ich Setze mehr Objekte mit, aber es wird nicht einmal den Schmetterling zeichnen?
import java.util.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class RippingOffofAmy extends JComponent
{
private butterfly yay;
public RippingOffofAmy()
{
yay = new butterfly();
}
public void paintComponent(Graphics g)
{
Graphics2D g2 = (Graphics2D) g;
//checks to see if rectangle has moves 100 places yet
//if has, then adds new obstacle and resets count
yay.draw(g2);
//draws obstacle and avatar
}
}
warum? (Ignoriere die Klassennamen und Kommentare Ich habe einige meiner Freunde Code verwendet) Wenn ich etwas vermisse, kann jemand wirklich spezifisch sein, was zu bc hinzufügen Ich bin schrecklich in Java, danke!
Dies ist nicht, wie Swing-Zeichnung zu tun und es sieht aus wie Sie wilde Vermutungen nehmen, wie dies zu tun ist, nicht. Hast du die Tutorials schon durchgelesen? Dort würde ich anfangen: [Lektion: Benutzerdefinierte Bemalung durchführen] (http://docs.oracle.com/javase/tutorial/uiswing/painting/index.html) –
Wenn Sie nach der Überprüfung der Tutorials immer noch feststecken, dann Überlegen Sie, ob Sie ein [sscce] (http://sscce.org) oder ein [minimales Beispielprogramm/mcve] (http://stackoverflow.com/help/mcve) erstellen und veröffentlichen, wo Sie Ihren Code in das kleinste Bit, das noch besteht, verdichten kompiliert und läuft, hat keine externen Abhängigkeiten (wie zum Beispiel die Notwendigkeit, eine Verbindung zu einer Datenbank oder Bildern herzustellen), hat keinen zusätzlichen Code, der für Ihr Problem nicht relevant ist, zeigt aber immer noch Ihr Problem. –
1) Ein Schmetterling muss kein Panel sein 2) Wo ist die wichtigste Methode, um Ihre GUI zu zeigen? –