JAppletを.exeに変換する

私はEclipseで完璧に動作する小さな(Swing)JAppletを持っています。ラベル、2つのボタン、メニューがあり、ユーザーの操作が最小限です(メニュー項目を選択するとコンテナの色が変わります)。 私はこれを.jarに変換しました:

  • クラス名(Sw3.java)を右クリックしました
  • 「エクスポート」、「Java」、「JARファイル」の順に選択
  • 次に、現在のプロジェクト名をエクスポートするリソースとして選択し、その下の「デフォルトパッケージ」をダブルクリックし、右側のクラスリスト(Sw3.java)から希望するクラス名を選択してください
  • 次に、「生成されたクラスファイルとリソースをエクスポート」にチェックを入れ、エクスポート先を「JARファイル」として選択し、「Sw3.jar」という名前で「ドキュメント」に配置しました。また、「JARファイルの内容を圧縮する」を選択しました。
  • 次の画面で、「コンパイルエラーでクラスファイルをエクスポートする」および「コンパイル警告でクラスファイルをエクスポートする」をチェックしました。

exeファイルを入手する正しい方法は、.jarを.exeに変換することだと聞きましたので、以前に入手した.jarで "Launch4j"アプリケーションを使用しました:

  • 「基本」パネル:指定された出力ファイル:C:\ Users \ jerry \ Documents \ Sw3.exeおよびJARファイル:C:\ Users \ jerry \ Documents \ Sw3.jar。
  • プロセス優先度NORMAL
  • ヘッダーの種類:GUI
  • MIN JREバージョン:1.0.0
  • 「ホイール」を押してProject.xmlを選択し、確認メッセージが表示されました。

私はJREがインストールされているので、.exeは動作するはずですが、動作しません。私は何を間違えたのですか? .JARが正しく取得されたかどうかを調べることから始めます。これは良いアプローチであり、どうすれば確認できますか?ありがとうございました!

PS:JAppletの代わりにJFrameを使用するように勧められたら、私はそれを行いましたが、開こうとすると.exeをダブルクリックすると何も起こりません。これは、私が説明したステップに何か間違っていると思わせる。

1
nl ru de
ありがとうPhiLho、私はJAptletを使っていました。私は新しいので、Swingを練習し、JFrameではなく、もっと快適にしました。しかし、下記のmartijnoのアドバイスでJFrameを追加しましたが、私はまだ同じ問題があります。
追加された 著者 Sam,
ありがとうPhiLo、私はそのアドバイスに従って、このリンクから2番目の例を選択し、いくつかの行とコンポーネント(例:ラベル)を追加しました jsong.ba.ttu.edu/ISQS2341/Fall05/Lecture08_Example.pdf 。これはうまくいきませんでしたので、同じリンクのMyFrameの例を使って、もっと複雑なJFrameの例を試しました。私はEclipseからそれらを実行すると両方とも完全に動作するので、上の最初の質問で示した手順に何か間違いがなければなりませんか?
追加された 著者 Sam,
単純なJFrameの代わりにJAppletを作ったのはなぜですか?アプレットは特別な獣ですが、デスクトップ上で実行されることもありますが、Webページ上に置かれるようになりました(明らかにファッションにはなりません)。
追加された 著者 PhiLho,
私は純粋なJFrameを使うことを考えていました。私はちょうどLaunch4jがJAppletを扱うことができるかどうか分かりません(Google検索ではゼロの出現が返されますが、これはまれです)。 - l4j-debug オプションを使用してコマンドラインからexeを起動してみてください。おそらく関連するエラーメッセージが表示されます。
追加された 著者 PhiLho,

1 答え

メインメソッドをアプレットに追加して JFrame の中に配置します:

public static void main(String[] arg) {
  JFrame frame = new JFrame();
  JApplet applet = new Sw3();
  frame.getContentPane().add(applet);
  frame.pack();
  frame.setVisible(true);
  applet.init();
  applet.start();
}

Eclipse JARエクスポートダイアログで、「JARパッケージオプション」画面(上記の「エラーおよび/または警告付きのクラスファイルをエクスポートする」)が表示された後、次の終了)。 [マニフェストファイルを生成]を選択し、メインクラスの完全修飾クラス名(パッケージを含む)を入力します。

Generate manifest with Main-class attribute from Eclipse JAR export

2
追加された
ありがとうMartijno、私はJAppletのアプレット=新しいSw3()とメインメソッドを追加しました。私の状況に適応するために、私の最初の質問に提示されているように、すべてのステップを再度行った。しかし、私はまだ変化は見られない。 .exeをダブルクリックして開くと何も起こりません。
追加された 著者 Sam,
私は3番目のステップでそれを行うと思いますが、これがあなたが参照しているものかどうかはわかりません:[私は現在のプロジェクト名をリソースとして選択し、その下の "Default package"をダブルクリックして、 (JFrameクラス)を右のクラスのリストから削除します。] JARエクスポートの最後のステップでは、デフォルトで選択されている「マニフェストの指定」も見ました。 「ワークスペースからの既存のマニフェストの使用」が2番目のオプションです。 JARが正しく生成されないことがあります。
追加された 著者 Sam,
ああ、それは働いた、私は今からこの手順を覚えて、手順にそれを追加する必要があります、ありがとう、私は本当に幸せです!あなたは、素晴らしいです!
追加された 著者 Sam,
jarのマニフェストのmainメソッド(あなたのアプレットクラス、おそらく)を含むクラスをどこかで指定していますか?
追加された 著者 martijno,
私の答えを編集...ハングアップします。
追加された 著者 martijno,