JavaFX2 - Applet에 참조를 전달할 때 JNLP와 HTML은 어떻게 설정합니까?
데스크톱 프로그램을 애플릿으로 발표할 때 자원 파일의 경로 문제로 코드베이스를 가져와 서버에서 자원을 가져오는 경우가 많습니다. IE 브라우저에서는 기본적으로 다음 문장을 통해 코드베이스를 가져올 수 있습니다.
Map<String, String> named = parameters.getNamed();
this.codebase = named.get("codeBase");
그러나 Firefox는 지원하지 않아서 기본적으로 코드베이스를 가져올 수 없기 때문에 매개 변수를 전달하는 코드베이스를 통해 애플릿에 들어가는 것을 고려합니다.
시나리오
JNLP를 통해 매개변수 codeBase를 Applet에 전송하면 IE에서 입력한 매개변수가 기본 codeBase의 내용을 덮어씁니다.이 때 위의 자바 코드는 IE와 Firefox에서 코드베이스를 얻을 수 있습니다.
다음은 JNLP 및 HTML 코드입니다.
Daks140UIDesign.jnlp 코드
<?xml version="1.0" encoding="utf-8"?>
<jnlp spec="1.0" xmlns:jfx="http://javafx.com" href="Daks140UIDesign.jnlp">
<information>
<title>Daks140UIDesign</title>
<vendor>Alan</vendor>
<description>Daks140UIDesign</description>
<offline-allowed/>
</information>
<resources>
<jfx:javafx-runtime version="2.2+" href="http://javadl.sun.com/webapps/download/GetFile/javafx-latest/windows-i586/javafx2.jnlp"/>
</resources>
<resources>
<j2se version="1.6+" href="http://java.sun.com/products/autodl/j2se"/>
<jar href="Daks140UIDesign.jar" size="55632" download="eager" />
</resources>
<security>
<all-permissions/>
</security>
<applet-desc width="800" height="600" main-class="com.javafx.main.NoJavaFXFallback" name="Daks140UIDesign" >
<param name="requiredFXVersion" value="2.2+"/>
</applet-desc>
<jfx:javafx-desc width="800" height="600" main-class="daks140uidesign.Daks140UIDesign" name="Daks140UIDesign" >
<fx:param name="codeBase" value="http://localhost:8080/Daks140UIDesignSA/"/>
</jfx:javafx-desc>
<update check="always"/>
</jnlp>
JNLP에 대해 주의해야 할 것은 applet-desc에param을 넣는 것이 작용하지 않는다면 jfx:javafx-desc에 fx:parm을 추가해야 한다는 것이다
HTML 코드
<html>
<head>
<SCRIPT src="./web-files/dtjava.js"></SCRIPT>
<script>
function javafxEmbed() {
dtjava.embed(
{
url: 'Daks140UIDesign.jnlp',
placeholder: 'javafx-app-placeholder',
width: '100%',
height: '100%'
},
{
javafx: '2.2+'
},
{}
);
}
<!-- Embed FX application into web page once page is loaded -->
dtjava.addOnloadCallback(javafxEmbed);
</script>
</head>
<body>
<div id='javafx-app-placeholder'></div>
</body>
</html>
HTML에 대해서는 Netbeans의JavaFX2 프로젝트를 통해 만들어진 HTML 중 jnlp콘텐츠 속성, 이 속성은 반드시 삭제해야 합니다. 그렇지 않으면 JNLP 파일의 어떤 수정도 작용하지 않습니다.
참고 자료
http://stackoverflow.com/questions/15704637/passing-parameters-from-jnlp-to-javafx2
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.