주안 클래스와 서브 클래스 Circle 안에 paintComponent 메소드가있는 Circle이 있습니다. 이 메소드를 메인 클래스에 호출하여 Circle을 그리려고하는데 아무 것도 나타나지 않을 것이고 나는 왜 그런지 모르겠다.Java 다른 클래스의 paintComponent를 그려 내지 않을 것입니다.
내 Circle 클래스 :
이public class Circle extends Shape {
Integer rad;
public Circle(int posx,int posy, int rad) {
this.posx = posx;
this.posy = posy;
this.rad = rad;
}
class drawCircle extends JPanel {
@Override
public void paint(Graphics g) {
super.paint(g);
g.setColor(Color.green);
g.fillOval(posx,posy,rad,rad);
}
}
}
내 주요 방법은
public class drawFrame extends JFrame {
JPanel panel1;
JPanel panel2;
Square square1;
Circle circle1;
public drawFrame() {
panel2= new JPanel();
panel1= new JPanel();
int rad = 0;
circle1 = new Circle(posx, posy,rad);
Circle.drawCircle drawCi = circle1.new drawCircle();
add(panel1, BorderLayout.CENTER);
panel1.add(drawCi);
을 니펫 그래서 기본적으로 난 그냥 코드의 주요 부분의 일부 조각을 부여했습니다. 내가 뭘 시도했는지 서클 drawCircle
내부 클래스에서 새로운 객체를 작성하여 mainPanel
에 추가하여 내 Jframe에서 만든 새 서클 객체 인 mainPanel
내용을 출력합니까? 하지만 이것이 작동하지 않는 것 같습니다.
대답 편집을 참조하십시오. 명확하지 않거나 질문에 답하는 경우 의견을 보내주십시오. –