2014-09-20 3 views
9

매우 간단한 문제입니다. 매우 간단한 데모를 실행하여 Eclipse에서 창 프레임을 만들고 표시하려고 시도했지만 아무 일도 일어나지 않습니다. 오류 없음, 창 없음, 코드가 완료 될 때까지 실행됩니다.Eclipse에서 실행할 때 Java JFrame 창이 표시되지 않습니다.

중단 점을 추가하고 코드가 예상대로 실행되는지 확인했습니다. 이 코드는 자바 튜토리얼 (FrameDemo)에서 직선, 난 그냥 그것을 배치 위치를 맞게 패키지를 이름 (이 패키지에서 다른 코드를 잘 실행) :

package ui; 

import java.awt.*; 
import javax.swing.*; 

/* FrameDemo.java requires no other files. */ 
public class FrameDemo { 
    /** 
    * Create the GUI and show it. For thread safety, 
    * this method should be invoked from the 
    * event-dispatching thread. 
    */ 
    private static void createAndShowGUI() { 
     //Create and set up the window. 
     JFrame frame = new JFrame("FrameDemo"); 
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 

     JLabel emptyLabel = new JLabel(""); 
     emptyLabel.setPreferredSize(new Dimension(175, 100)); 
     frame.getContentPane().add(emptyLabel, BorderLayout.CENTER); 

     //Display the window. 
     frame.pack(); 
     frame.setVisible(true); 
    } 

    public static void main(String[] args) { 
     //Schedule a job for the event-dispatching thread: 
     //creating and showing this application's GUI. 
     javax.swing.SwingUtilities.invokeLater(new Runnable() { 
      public void run() { 
       createAndShowGUI(); 
      } 
     }); 
    } 
} 

내 설치 (케플러 SR2) :

  • eclipse.buildId가 = 4.3.2.M20140221-1700
  • java.version = 1.8.0_05
  • java.vendor = 오라클
  • 로더 상수 : OS에서의 =에서라도 ARCH = x86_64에, WS가 = 코코아 NL = en_US
  • 프레임 워크 인수 : -product org.eclipse.epp.package.java.product -keyring /Users/steve/.eclipse_keyring -showlocation
  • 명령 줄 인수 : -os macosx -ws cocoa -arch x86_64 -product org .eclipse.epp.package.java.product /Users/steve/.eclipse_keyring -showlocation을 -keyring
  • 나는 또한 구성을 확인

-> 오류 로그; 여전히 아무것도, 오류가 없습니다. 나는 다른 유사한 데모, 동일한 결과를 시도했다.

나는 하루 이상 붙어있어 도움이 될 것입니다.

+0

코드에 문제가없는 것으로 표시되어야합니다. Eclipse를 처음부터 다시로드 해 보았습니까? –

+0

다른 IDE 또는 터미널을 사용하여 실행 해 보셨습니까? –

+0

@Vince - 항아리로 내보내기 한 다음 터미널에서 실행하면 창이 팝업됩니다. – user4061565

답변

8

라이브러리 문제가있는 것으로 나타났습니다. jfreechart에서 .lib 디렉토리의 모든 jar 파일을 가져 왔습니다. 실제로는 두 개만 필요했고 일부 불필요한 것들은 swt 및 실험실이라고 표시했습니다. 일단 내가 필요하지 않은 것들을 모두 제거하고, 깨끗하게하고, 재건했다면, 모든 것이 잘 작동했다.

이상하게도 jfreechart 라이브러리 (충돌하는 jar를 포함)의 순서를 맨 아래로 변경하면 도움이되지 않아 여분의 jar를 제거해야했습니다.

분명히 jfreechart 문제는 ​​아니지만 분명히 내 자신의 라이브러리 가져 오기 문제입니다. 이 문제가 발생하면 충돌하는 라이브러리 중 일부를 제거한 다음 정리하고 다시 빌드하고 실행 해보십시오.

Hovercraft Full of Eels와 저를 도와 주신 모든 분들께 감사드립니다.

+0

다시 한 번 친절하게 완료되었습니다. –

+0

흥미 롭습니다! 나는 똑같은 문제가있다. 필요한 것보다 더 많은 항아리를 가져 오는 것이 어떻게 이런 일을 일으켰는지 결코 생각하지 못했습니다. 어쨌든, 좋은 캐치! –

+0

매우 사실. 나는 비슷한 문제가 있었다. 내 앱이 시작되지 않았고, 내가 실행할 때 아무 일도 일어나지 않았다. 참조 lib에서 jfreechart-1.0.19-swt.jar를 제거하고 모두 원활하게 작업했습니다 !!! –

관련 문제