Java Windowsからクリックして起動する方法

目次

概要

Java で作成したプログラムを、Windowsからダブルクリックで起動させる方法です。

解説

Windows から実行できる Jar ファイルの作成方法です。
1)ソースファイルを作ります。
  ソースファイル名:HelloJava_Gui.java 
  GUIに「HelloJava」を出力するプログラムです。
2)コンパイルしてクラスファイルを作ります。
  クラスファイル名
   HelloJava_GUI.class
   HelloGui$GuiWindowListener.class
3)マニフェスト(Manifest)ファイルを作ります。
  マニフェストファイル名:HelloJava_Gui.mf
  メインメソッドのあるクラス名を指定します。
    Main-Class: HelloGuiMain
  改行
4)jar ファイルを作ります。
構文
  jar cvfm [jarファイル名] [マニフェストファイル名] [クラスファイル名]
  サンプルコード
  jar cvfm HelloJava_Gui.jar HelloJava_Gui.mf *.class
5)作成されたjar ファイルをWindowd でダブルクリックします。
  プログラムが実行されます。

サンプルコード

Java プログラム

GUIにHello JAVAを出力されるソースコード
ソースファイル名:HelloJava_Gui.java
GitHub より入手可能です。
https://github.com/lifeplan-it/Java_Source/tree/master/J0060_HelloJava_Gui_Jar
// HelloJava_Gui.java
import java.awt.*;
import java.awt.event.*;

// メインクラス
class HelloJava_Gui {
  public static void main(String[] args) {
        // クラス      HelloGui をオブジェクト化
        HelloGui obj = new HelloGui();
  }
}

// サブクラス  HelloGui
// スーパークラス Frame クラスを拡張しています。
class HelloGui extends Frame {
   // コンストラクタで実行しています。
   public HelloGui()  {

        // タイトルを表示
        this.setTitle("Frame Demo");

        // 位置とサイズの属性を設定
        this.setBounds(200, 200, 480, 240);

        // 表示/非表示 を表示に設定
        this.setVisible(true);

        // Label メソッドをオブジェクト化
        //  表示文字を"Hello JAVA"に設定
        Label  lb = new Label("Hello JAVA");

        // Label オブジェクトをFrameに追加
        add(lb);

        // マウスイベントを追加
        addWindowListener(new GuiWindowListener());
   }

class GuiWindowListener extends WindowAdapter  {
      // Windows の閉じるボタンが押された時の処理
      public void windowClosing(WindowEvent e) {
         // 終了
         System.exit(0);
      }
   }
}

マニフェストファイル

マニフェストファイル名:HelloJava_Gui.mf
最後に「改行」が必要です。
Main-Class: HelloJava_Gui


Jar 作成コマンド

Jarファイル名:HelloJava_Gui.jar

カレントディレクトリで下記のコマンドを実行します。

jar cvfm HelloJava_Gui.jar HelloJava_Gui.mf *.class

実行結果

$ javac HelloJava_Gui.java

$ jar cvfm HelloJava_Gui.jar HelloJava_Gui.mf *.class
マニフェストが追加されました
HelloJava_Gui.classを追加中です(入=302)(出=226)(25%収縮されました)
HelloGui$GuiWindowListener.classを追加中です(入=513)(出=343)(33%収縮されま した)
HelloGui.classを追加中です(入=706)(出=476)(32%収縮されました)

$ HelloJava_Gui.jar

$
よかったらシェアしてね!
目次