, 이것은 아마 정말 기본적인 질문이지만, 내가 지금처럼 나비 객체 그리기에 대한 코드와 나비라는 클래스 먹으 렴을 가지고 또한왜 구성 요소가 아무 것도 그리지 않습니까?
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);
}
}
을 다음 내가이 구성 요소에 넣어 시도 내가 수 그것과 함께 더 많은 물체를 넣지 만 나비를 그리지 않을 것인가?
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
}
}
왜? (클래스 이름과 코멘트를 무시하고 친구들의 코드를 사용했다.) 만약 내가 뭔가를 잃어 버렸다면 누군가가 BC에 무엇을 추가 할 것인가에 대해 정말로 구체적 일 수있다. 나는 자바에서 끔찍하다, 고마워!
이것은 Swing 드로잉을하는 방법이 아니며 그렇게하는 방법에 대해 야생적인 추측을하는 것처럼 보입니다. 그렇지 않습니다. 자습서를 아직 읽지 않았습니까? 이것이 내가 시작할 수있는 곳입니다. [Lesson : Custom Painting] (http://docs.oracle.com/javase/tutorial/uiswing/painting/index.html) –
자습서를 검토 한 후에도 여전히 문제가 있다면 [sscce] (http://sscce.org) 또는 [최소 예제 프로그램/mcve] (http://stackoverflow.com/help/mcve)를 작성하고 게시하여 코드를 압축하는 가장 작은 비트로 압축하는 것을 고려하십시오. 컴파일 및 실행, 외부 종속성 (예 : 데이터베이스 또는 이미지에 연결해야 함)이 없으며 문제와 관련이없는 추가 코드가 없지만 여전히 문제를 보여줍니다. –
1) 나비는 패널 일 필요는 없습니다. 2) GUI를 보여주는 주요 방법은 어디에 있습니까? –