2011-11-25 2 views
1

javax.swing을 사용하여 간단한 gui를 개발하고 명령 단추 3 - 9를 사용하여 일부 다각형 그리기를 시도했습니다. 명령 버튼 3 번을 누르면 삼각형이 그려집니다. 내가 pastebin.com에 복사하기로 결정 있도록 소스 코드는 조금 긴 이후프레임에 패널을 연결하고 다각형을 그려야하지만 프레임에 drawin이없는 경우

http://pastebin.com/R7jhTpee

내가 독립 클래스를 생성하고의 일을 그릴 것입니다 직접의 paintComponent를 호출하면 재미있는 부분이다 나하지만 다른 프레임에 붙이고 싶을 때는 작동하지 않는다.

+0

- 당신이 문제를 보여줍니다 barest 최소로 내려 스트립해야, 즉 SSCCE – kleopatra

답변

5

기본 문제는 JPanel에서 잘못된 메서드를 재정의하는 것입니다.

@Override 
public void paintComponents(Graphics g) { 

하지만해야합니다 : 당신은 "소스 코드가 조금 긴 이후"

@Override 
public void paintComponent(Graphics g) { 
         ^
1

나는 당신의 문제가 주된 방법이라고 확신한다. 거기에 약간의 뒤죽박죽이 있습니다. 첫 번째 프레임은 JFrame의 인스턴스입니다. JFrame은 원하는 것이 아닙니다. 두 번째는 MyFrame의 인스턴스입니다. 이 두 번째 프레임은 매우 작으며 사용중인 운영 체제에 따라이 프레임을 볼 수 없습니다. 단순히 JFrame을 제거하고 MyFrame을 확장하면 코드가 작동합니다.

관련 문제