내 응용 프로그램은 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()를 시도하지 않았습니까?
모든 이미지를 파일이 아닌 클래스 리소스로 가져 오는 것 이외에 [mcve]를 게시하지 않고도 어떻게 답변 할 수 있는지 잘 모르겠습니다. 그래도 도움이 필요하면 버그를 격리하고 MCVE를 게시하십시오. –
'setSize()'*와 *'pack()'을 사용하지 말고'JFrame'을 특정 크기로 만들려면'setSize()'를 사용하십시오. * 원하는 경우'pack()'을 사용하십시오. 'JFrame'은 자식 구성 요소에 맞게 가능한 가장 작은 크기입니다. – MasterBlaster