Apache Pivot的位階等同於Java FX、Microsoft Silverlight或是Adobe Flash。本文將介紹三種不同啟動Pivot程式的方法。
首先,我們先照官網上的範例建立一個HelloWorld.java程式。
import java.awt.Color;
import java.awt.Font;
import org.apache.pivot.collections.Map;
import org.apache.pivot.wtk.*;
public class HelloWorld implements Application {
private Window window = null;
@Override
public void startup(Display display, Map<String, String> properties) {
window = new Window();
Label label = new Label();
label.setText("Hello World!使用Apache Pivot呈現中文!新細明體(PMingLiU)");
label.getStyles().put("font", new Font("PMingLiU", Font.BOLD, 24));
label.getStyles().put("color", Color.RED);
label.getStyles().put("horizontalAlignment",
HorizontalAlignment.CENTER);
label.getStyles().put("verticalAlignment",
VerticalAlignment.CENTER);
window.setContent(label);
window.setTitle("Hello World!");
window.setMaximized(true);
window.open(display);
}
@Override
public boolean shutdown(boolean optional) {
if (window != null) {
window.close();
}
return false;
}
@Override
public void suspend() {
}
@Override
public void resume() {
}
}
1.使用桌面應用程式的方式啟動:在HelloWorld.java中加入public void main(String[] args),如下。
//使用桌面應用程式方式啟動
public static void main(String[] args) {
DesktopApplicationContext.main(HelloWorld.class, args);
}
2.使用Applet方式進行啟動:
假設將HelloWorld.java建置成HelloWorld.jar,並且放在lib的資料夾中(意即該資料夾中包含了pivot*.jar以及HelloWorld.jar),所以在lib的上一層資料夾中建立一個HelloWorld.html頁面,網頁原始碼如下:
<applet code="org.apache.pivot.wtk.BrowserApplicationContext$HostApplet"
archive="lib/pivot-core-2.0.1.jar,lib/pivot-wtk-2.0.1.jar,lib/pivot-wtk-terra-2.0.1.jar,lib/HelloWorld.jar"
width="160" height="80">
<param name="application_class_name" value="HelloWorld">
</applet>
3.同樣使用Applet方式啟動,但是為了瀏覽的相容性問題,使用Java官網上建議JavaScript來處理。
<script type="text/javascript" src="http://java.com/js/deployJava.js">
</script><script type="text/javascript">
var attributes = {
code:"org.apache.pivot.wtk.BrowserApplicationContext$HostApplet",
width:"240",
height:"80"
};
var libraries = [];
libraries.push("lib/pivot-core-2.0.1.jar");
libraries.push("lib/pivot-wtk-2.0.1.jar");
libraries.push("lib/pivot-wtk-terra-2.0.1.jar");
libraries.push("lib/HelloWorld.jar");
attributes.archive = libraries.join(",");
var parameters = {
codebase_lookup:false,
application_class_name:'HelloWorld'
};
var javaArguments = ["-Dsun.awt.noerasebackground=true",
"-Dsun.awt.erasebackgroundonresize=true"];
parameters.java_arguments = javaArguments.join(" ");
deployJava.runApplet(attributes, parameters, "1.6");
</script>
4.如果在程式中有使用@BXML annotation的話,則要將applet進行簽章才得以在網頁上正常執行。
我們將在下一篇文章中介紹使用JNLP的方式來啟動Apache Pivot應用程式。
No comments:
Post a Comment