SWTで作成したアプリケーションをダブルクリックで起動(Windows)するには、こんな感じで配置すればいいみたい。


test

 ┣sample.jar

 ┣swt-win32-3064.dll

 ┗lib

   ┗swt.jar


sample.jar ……………… 作成したjarファイル。

swt-win32-3064.dll …… jarファイルと同じディレクトリに配置。

lib\swt.jar ……………… libフォルダ以下に配置する必要はないが、パスをマニフェストファイルに記述する必要がある。



マニフェストファイルの記述はこんな感じ。

Class-Path: .\lib\swt.jar
Main-Class: jp.co.sample.Main


Class-Path … swt.jarファイルの相対パスを記述。

Main-Class … mainメソッドがあるクラスを指定。



これでできるはず。

swt.jarを外に出しているのは、テストで何度もjarファイルを作るときに重いから。

アプリケーション完成後に配布を考えているなら内包させてもいいかも。

サザエさんの視聴率が上がると、株式市場は低迷する。
ネタではなく、大和総研が大真面目に調査した結果だそうだ。

世の中、不思議な相関関係があるなと思った今日この頃。
【手順】
1.Ctrl+Fで検索画面を表示
2.Windowsキーを押しスタートを立ち上げて、すぐにAltキーを押す
3.IE検索ウィンドウの何もないところをクリック
4.全角半角キーを押す
5.てきとーに文字を入力
/*******************************:
* 日付の差を取得
* @param fromDate(yyyymmdd)
* @param toDate(yyyymmdd)
* @return 相対日
*******************************:/
public String getDs(String fromDate, String toDate) {
 if(fromDate.equals("") || toDate.equals("")) {
  return "error";
 }

 // 1日 = 86400000ms
 final long oneDay = 86400000l;

 long fromMs = 0l;
 long toMs = 0l;
 long getRelativeMs = 0l;

 try {
  SimpleDateFormat sdf = new SimpleDateFormat();
  // ありえない日付の場合はエラー
  sdf.setLenient(false);
  sdf.applyPattern("yyyyMMdd");

  // fromDateをmsで取得
  fromMs = sdf.parse(fromDate).getTime();
  // toDateをmsで取得
  toMs = sdf.parse(toDate).getTime();
 } catch(Exception e) {
  e.printStackTrace();
  return "error";
 }

 // date1とdate2の相対msを取得
 getRelativeMs = toMs - fromMs;

 // 相対msを相対日に変換
 String relativeDay = String.valueOf(getRelativeMs / oneDay);

 return relativeDay;
}