어떤 아이디어가 잘못 되었나요? JFrame에서 2 개의 직사각형을 볼 수 있지만 모든 것은 회색 상자입니다. 그래서 사각형, 색상 또는 아무 것도 내 코드에 응답하지 않습니다.JFrame이 비어 있습니다.
import javax.swing.JFrame;
public class Paron {
public static void main(String[] args) {
JFrame f = new JFrame("Rektanglar");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Rektanglar r = new Rektanglar();
f.add(r);
f.setSize(400, 250);
f.setVisible(true);
}
}
여기 내 JPanel의 코드입니다 :
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JPanel;
public class Rektanglar extends JPanel {
public void PaintComponent (Graphics g) {
super.paintComponent (g);
this.setBackground(Color.WHITE);
g.setColor(Color.BLUE);
g.fillRect(25,25, 100, 100);
g.setColor(Color.RED);
g.fillRect(40,40,100,100);
}
}
내가 무엇을 놓치고 여기
의 주요 방법으로 클래스입니까?PaintComponent
에 어떤 도움
다른 주석을 재정의해야하는 메소드를 @Override로 항상 주석 처리하십시오. 그런 다음 컴파일러는 이러한 종류의 실수를 포착합니다. 그리고 물론 Java 명명 규칙을 존중하지 않는 방법은 표준 메소드를 무시할 가능성이 0입니다. 이 규칙을 배우고 존중하십시오. –
@Zenith 사실 그것은 빈'JFrame '이 사용되는 다른 문제입니다. 이것은 사용 된'JPanel '의 오타 (typo)와 관련이있다. – Reimeus
@Reimeus 충분합니다. 그 이유를 바꿀 수는 없지만 메타 오에 따르면 오타 질문이 있어야만 할 수 있다면 어쨌든 닫을 수 있습니다. – lifetimes