Monday, July 9, 2012

Apache Pivot初探(2) - 使用JNLP


本篇文章將延續上一篇,相同的Pivot程式碼,並且使用JNLP來開啟專案。



首先是Pivot程式碼:

import java.awt.Color;
import java.awt.Font;
import org.apache.pivot.collections.Map;
import org.apache.pivot.wtk.*;

public class HelloJava 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);
    }

    //若使用JNLP或是Applet方式開啟pivot專案,此main可以不用加入
    public static void main(String[] args) {
        DesktopApplicationContext.main(HelloJava.class, args);
    }

    @Override
    public boolean shutdown(boolean optional) {
        if (window != null) {
            window.close();
        }

        return false;
    }

    @Override
    public void suspend() {
    }

    @Override
    public void resume() {
    }
}


接下來撰寫一個JNLP設定檔:


<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<jnlp href="launch.jnlp" spec="1.0 ">
    <information>
        <title>HelloWorld</title>
        <vendor>Hsiao Shengche</vendor>
        <homepage href=""/>
        <description>HelloWorld</description>
        <description kind="short">HelloWorld</description>
  <icon href="hello_world.png" kind="default"/>
    </information>
    <update check="always"/>
    <resources>
        <j2se version="1.6 "/>
        <jar href="HelloWorld.jar" main="true"/>
  <jar href="lib/pivot-charts-2.0.1.jar"/>
  <jar href="lib/pivot-core-2.0.1.jar"/>
  <jar href="lib/pivot-web-2.0.1.jar"/>
  <jar href="lib/pivot-web-server-2.0.1.jar"/>
  <jar href="lib/pivot-wtk-2.0.1.jar"/>
  <jar href="lib/pivot-wtk-terra-2.0.1.jar"/>
 </resources>
    <application-desc main-class="HelloJava" />
</jnlp>

可以將上述JNLP檔案給使用者或是使用網頁的方式(網頁原始碼如下)來開啟JNLP中所描述的應用程式。


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
        <title>使用JNLP開啟Apache Pivot程式</title>
    </head>
    <body>
        <h3>使用JNLP開啟Apache Pivot程式</h3>
        <script src="http://java.com/js/deployJava.js"></script>
        <script>
            deployJava.createWebStartLaunchButton("launch.jnlp")
        </script>
    </body>
</html>

No comments:

Post a Comment