警告メッセージ

Howtoは、Armadilloシリーズを有効に活用するための参考資料です。使用ソフトウェアのバージョンなど諸条件の差異によって、記載内容と実際の動作が異なる場合があります。また、すべての機能検証や長期の動作試験を行ったものではありませんので、必ずご使用目的に適合した検証・試験を行ってください。

Howto : Debian lenny で Java (Open JDK) を使う

対象製品: Armadillo-500 FXArmadillo-460Armadillo-440

Debian GNU/Linux 5.0 コードネーム "Lenny"(以下、Debian lenny と記述)をインストールしたArmadilloで、Java を動作させる方法を紹介します。Java のランタイムとして、OpenJDK を使用します。

おおまかな手順は以下のようになります。

  1. Debian lenny のインストール
  2. Java Runtime のインストール
  3. Java 開発環境のインストール
  4. サンプルプログラム(非GUI)
  5. サンプルプログラム(GUI)

本 Howto で使用する機器及びソフトウェアのバージョンは以下の通りです。

  • ターゲット: Armadillo-440 液晶モデル/Armadillo-500 FX 液晶モデル
  • 開発環境(作業用PC): ATDE v3 v20100309
  • ディストリビューション: Debian GNU/Linux 5.0 (コードネーム「Lenny」)
  • Javランタイム: OpenJDK 6b11-9.1+lenny2

1. Debian lenny のインストール

Armadillo-440 液晶モデルに Debian lenny と X Window System をインストールする方法は、「Howto: Armadillo-440 液晶モデル を使用して Debian 上で X.org を使ってみる」を参照してください。

また、Armadillo-500 FX 液晶モデルに Debian lenny と X Window System をインストールする方法は、「Howto: Armadillo-500 FX 液晶モデルでDebian lennyを使う」を参照してください。

2. Java Runtime のインストール

OpenJDK6のランタイムの Debian パッケージ名は、openjdk-6-jre です。Debian lenny がインストール済みの Armadillo に Javaランタイムをインストールするには、以下のコマンドを実行してください。


debian:~# apt-get install openjdk-6-jre

非GUIのアプリだけを実行する場合、openjdk-6-jre の代わりに openjdk-6-jre-headless をインストールしても構いません。

3. Java 開発環境のインストール

作業用 PC に Java 開発環境をインストールします。作業用 PC で以下のコマンドを実行してください。


[PC ~]$ sudo apt-get install openjdk-6-jdk

4. サンプルプログラム(非GUI)

ターミナルに「Hello World」と表示するだけのJavaアプリを作成し、実行してみます。

作業用 PC で以下の HelloWorld.java を作成してください。

HelloWorld.java


public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello World");
    }
}

*.javaファイルをコンパイルするには、javacコマンドを使用します。以下のコマンドを実行してください。


[PC ~]$ javac HelloWorld.java

正常にコンパイルできると、HelloWorld.class が作成されます。クラスファイルを実行するには、javaコマンドを使用します。以下のコマンドを実行してください。


[PC ~]$ java HelloWorld
Hello World

Armadillo で実行する場合も、java コマンドを使用します。HelloWorld.class を Armadillo へコピーし、以下のコマンドを実行してください。


debian:~# java HelloWorld
Hello World

5. サンプルプログラム(GUI)

次は、GUIを使ったJavaアプリの動作を確認します。GUIツールキットには、swingを使用しました。

作業用 PC で以下の HelloWorldGui.java を作成してください。

HelloWorldGui.java


import java.awt.*;
import java.awt.event.*;

import javax.swing.*;

class HelloWorldGui extends JFrame implements ActionListener {
    private JLabel label;
    private JButton button;

    public HelloWorldGui() {
        // Disable Title Bar
        this.setUndecorated(true);

        // Full Screen
        GraphicsDevice device = GraphicsEnvironment.
            getLocalGraphicsEnvironment().getDefaultScreenDevice();
        device.setFullScreenWindow(this);

        // Get ContentPane
        Container contentPane = getContentPane();

        // Add label
        label = new JLabel("Hello Java with swing.");
        contentPane.add(label, BorderLayout.CENTER);

        // Add Button
        button = new JButton("Click me!");
        contentPane.add(button, BorderLayout.SOUTH);
        button.addActionListener(this);

        // Show Window
        this.setVisible(true);
    }

    public void actionPerformed(ActionEvent event) {
        if (event.getSource() == button) {
            label.setText("Button is clicked.");
        }
    }

    public static void main(String [] args) {
        new HelloWorldGui();
    }
}

コンパイル、実行方法は非GUIの場合と同じです。HelloWorldGuiを実行すると、「Hello Java with swing.」と書かれたラベルと、「Click me!」と書かれたボタンを含むフレームを全画面で表示します。ボタンをクリックすると、ラベルの値が「Button is clicked.」に変化します。


[PC ~]$ javac HelloWorldGui
[PC ~]$ java HelloWorldGui

HelloWorldGui.class を Armadillo にコピーして、同様に動作確認をしましょう。X のクライアントとして Java アプリを動作させます。すでに X が起動している場合は一度終了して、HelloWorldGui.class があるディレクトリで以下のコマンドを実行してください1


debian:~# startx $(which java) HelloWorldGui

起動直後は、ラベルに「Hello Java with swing.」と書かれています。

画面下のボタンをクリックすると、ラベルのテキストが「Button is clicked.」に変わります。


  1. このように、startx コマンドの引数として X クライアントを直接指定した場合、javaコマンドには DISPLAY 環境変数としてデフォルトのディスプレイ :0 が渡されます。 

カテゴリ: