2016-08-04 2 views
-1

내 응용 프로그램은 Eclipse IDE에서 제대로 실행되지만 내보내기 후에는 명성이 다시 표시되지 않습니다. 내가 두 JPanel의를 제거하여 JFrame의 밖으로 평신도를 재건하고 여기에 더 패널 & 다시 추가하려고 내 코드입니다 :java 응용 프로그램 GUI가 내보내기 후에 다른 응답을 내림

응용 프로그램이 처음 buildGUI()를 호출

private void buildGUI(){ 
     setTitle("MyApp"); 
     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     setContentPane(new BackGroundImagePanel()); 
     setResizable(false); 
     getContentPane().setLayout(new GridBagLayout()); 
     c = new GridBagConstraints(); 

     /* 
     *set up GridBagConstraints and add the two panels 
     */ 

     pack(); 
     setSize(700, 700); 
     revalidate(); 
     setLocationRelativeTo(null); 
    } 

사용자 입력시 할 일부 계산 & 통화 reBuildGUI은() :

다시
private void reBuildGUI(){ 
     //Clean the frame. 
     remove(firstPanel); 
     remove(secondPanel); 
     //removeAll() doesn't work for me; 
     validate(); 
     repaint(); 

     /* 
     *set up GridBagConstraints and more panels 
     */ 

     pack(); 
     setSize(700, 700); 
     repaint(); 
     validate(); 
} 

, reBuildGUI를 호출시 IDE에 있지만 혼자 항아리 스탠드와 같은 응용 프로그램 작업 perfict는() 아무것도 일어나지! validate()를 사용하려고 시도했을 때 & pack()을 다른 주문으로 revalidate()를 시도하지 않았습니까?

+3

모든 이미지를 파일이 아닌 클래스 리소스로 가져 오는 것 이외에 [mcve]를 게시하지 않고도 어떻게 답변 할 수 있는지 잘 모르겠습니다. 그래도 도움이 필요하면 버그를 격리하고 MCVE를 게시하십시오. –

+1

'setSize()'*와 *'pack()'을 사용하지 말고'JFrame'을 특정 크기로 만들려면'setSize()'를 사용하십시오. * 원하는 경우'pack()'을 사용하십시오. 'JFrame'은 자식 구성 요소에 맞게 가능한 가장 작은 크기입니다. – MasterBlaster

답변

0

호버 크래프트 : 코드가 충분하지 않았습니다. 미안하지만 코드 페이지를 붙여 넣기 때문에 디버깅하기에 충분하지 않습니다.

문제 해결 : - 파일 핸들러를 사용하여 로거에 파일로 로그인하도록 지시합니다. - 로거가 멈추는 곳을 찾았습니다. - 벌레를 발견 할 때까지 가장 정밀한 로그 기록 &을 추가했습니다.

오류가이 라인에서 다른 클래스 메소드 내부까지 깊이 묻혀했다

:

addOnImage = ImageIO.read(getClass().getClassLoader().getResource("images/AddTextOn.png")); 

실제 파일 이름이 "ADDTextOn.png"했지만 이클립스는 "AddTextOn.png"로 읽을 수 있었던 반면 JRE는 아니지만 오류를 나타 내기 위해 어떤 일도 일어나지 않았습니다. 프로그램은 아무 것도하지 않았습니다.

관련 문제