2013-10-05 5 views
0

간단히 Hello World Java 애플릿을 작성하여 HelloApplet.java이라고했습니다. HelloApplet.html이라는 html 파일을 만들었습니다. 컴파일 된 HelloApplet.class 파일과 함께 두 파일 모두 내 Windows 7 컴퓨터의 C:\temp 디렉토리에 있습니다. 내가 Java 애플릿 뷰어

appletviewer HelloApplet.html 

을 실행하고 예상대로 모든 것이 작동 C:\temp 디렉토리에서

<applet codes = "HelloApplet" width = 300 height = 300> 
</applet> 

다음 HelloApplet.html 파일은 두 줄이 있습니다.

내 Java 코드 맨 위에 패키지 문을 추가 할 때 문제가 발생합니다. 첫 번째 줄을 읽

package applet; 

내가 다음 읽을 수있는 HTML 파일의 첫 번째 줄을 변경 :

내가 appletviewer 실행 C:\temp에서 아직도
<applet code = "applet.HelloApplet" width = 300 height = 300> 

하지만,이 시간이 작동하지 않습니다. 클래스 파일을 찾을 수 없습니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

+0

내 HelloApplet.html을 수행 할 수 있어야한다 : –

답변

3

Java에서 코드를 리팩토링하고 클래스를 패키지로 옮길 때 해당 파일 (HelloApplet.java)을 패키지 이름의 하위 폴더로 옮겨야합니다. 즉, 폴더 계층 구조가 응용 프로그램에 대해 선택한 패키징 구성표와 일치해야합니다. 이렇게하면 클래스가 a.b.c 패키지에있는 경우 클래스는 {source folder}\a\b\c 폴더에 있어야합니다.

예를 들어 폴더에 c:\temp5 폴더에 새 폴더를 만들고 클래스를이 폴더로 옮긴 다음 코드를 컴파일하고 실행해야합니다.

1

doc

<applet code = "applet.HelloApplet.class" width = 300 height = 300> 

에 따라 code 속성을 변경하고 applet 폴더에 파일 HelloApplet.class을 이동하려고합니다.

+0

즉 * 틀린 *. 'code' 속성은'.'을 사용하여 클래스의 완전한 이름이어야합니다. 그래서'applet.HelloApplet' (OP가 현재 가지고있는 것처럼)은 * correct *입니다. –

+0

@AndrewThompson 지금 올바른가요? –

+0

*** 아니요! *** 만약'applet.HelloApplet.class'가 정확하다면 나는 그렇게 말했을 것입니다. 그렇지 않습니다. FQN은 **'applet.HelloApplet' **입니다. 그 이상도 이하도 아닌. 그 긴 형식은 '허용'이며 튜토리얼 내내 반복적 인 광고 방해가되지만 정확하지는 않습니다. –

0

moghaddam이 말했듯이 Java 애플릿/응용 프로그램에서 패키지를 지정할 때 패키지를 디렉토리 계층 구조에 반영해야합니다. 당신이 applet 패키지가있는 경우 따라서, 디렉토리 트리

C:\ 
└── temp 
    └── applet 
     └── HelloApplet.class 

(귀하의 경우)해야하며 온도에서 당신은 다음과 같습니다 appletviewer applet.HelloApplet