2013-11-23 2 views
2

나는 그것을보고 싶었 기 때문에 실례합니다. 이런 종류의 문제를 다루는 스레드가 많이 있다는 것을 알고 있지만 아직 명확한 답을 찾지 못했습니다.방법 : JAR -> 웹 호스팅 응용 프로그램?

제 질문은 매우 간단합니다. 실행 가능한 JAR 파일 (이클립스에서 생성)을 가지고 있고 내 웹 사이트에서 애플릿으로 호스팅하려고합니다. 애플릿에 대해 거의 이해하지 못했습니다. 웹 페이지에서 실행되는 Java 실행 파일 일뿐입니다.

이 전환은 간단합니까? 또는 내 프로그램을 완전히 다시 작성해야합니까? JTabbedPanes, JButtons, JLabels 등의 Swing 구성 요소에 많이 의존합니다.

고마워요!

편집 : 대답 덕분에 필자는 애플릿을 확장하고 run() 메소드 내에서했던 것처럼 내 GUI를 빌드하는 클래스에서 애플릿 친화적 인 구성 요소를 다시 작성했습니다. 내 문제는 이전에 프로그램 자체에 대한 실행 방법이 있었기 때문입니다 (이것은 일종의 시뮬레이션입니다). 시간이 지남에 따라 일정한 요소가 업데이트되었지만 무한 루프가 발생했습니다. 이 실행 코드가 없으면 내 애플릿은 GUI를 작성할 수 있지만 실행 코드가 없으면 GUI가 아무 의미가 없기 때문에 애플릿이 모든 구성 요소를로드하지 못하게됩니다. 이견있는 사람?

EDIT_2 : 방금 Java Web Start를 사용하기로 결정했습니다. 감사.

답변

4

애플릿으로 변환 할 필요가 없습니다. Java Web Start 만 사용할 수 있습니다.

+0

네, 맞아요. 나는 이것을 실제로했다. 감사! – humdiddlediddle

3

당신은 입력하여 애플릿의 포인트가 될 것입니다 애플릿 연장 클래스 선언해야합니다 (예 단위) run 방법 또는 init()에서

public class HelloWorld extends JApplet { 
    //Called when this applet is loaded into the browser. 
    public void init() { 
     //Execute a job on the event-dispatching thread; creating this applet's GUI. 
     try { 
      SwingUtilities.invokeAndWait(new Runnable() { 
       public void run() { 
        JLabel lbl = new JLabel("Hello World"); 
        add(lbl); 
       } 
      }); 
     } catch (Exception e) { 
      System.err.println("createGUI didn't complete successfully"); 
     } 
    } 
} 

을, 당신은 모든 것을 수행 할 수 당신을 프로그램 않습니다. 모두 같은 스윙을 호출하는 당신이 당신의 진입 점 클래스 (main 메소드를 포함하는 하나)를 다시 작성해야, 당신이 필요로하는 곳에서 :

<applet code="yourMainClass.class" height="250" width="350"> 
    <b>Sorry, you need Java to play this game.</b> 
</applet> 

는 결론 : 다음, 브라우저 HTML에서 애플릿을 지정해야 - 건축 기능. 그리고 모든 것을 재 포장하십시오.

+0

항아리가 애플릿으로 추가 코드를 필요로한다는 것을 결코 알지 못했습니다. 대답 해 주셔서 감사 드리며 @humdiddlediddle에게 물어 봤습니다. –

+0

@ArtemMoskalev 애플릿을 확장하고 run() 메소드 내에서했던 것처럼 내 GUI를 빌드하는 클래스에서 애플릿 친화적 인 구성 요소를 다시 작성했습니다. 내 문제는 이전에 프로그램 자체에 대한 실행 방법이 있었기 때문입니다 (이것은 일종의 시뮬레이션입니다). 시간이 지남에 따라 일정한 요소가 업데이트되었지만 무한 루프가 발생했습니다. 이 실행 코드가 없으면 내 애플릿은 GUI를 작성할 수 있지만 실행 코드가 없으면 GUI가 아무 의미가 없기 때문에 애플릿이 모든 구성 요소를로드하지 못하게됩니다. 이견있는 사람? – humdiddlediddle