-1

学生の写真を含む学校用の Java データベース プログラムを作成しました... NetBeans 経由でプログラムを実行すると問題ありません...

しかし、プログラムを「ダブルクリック可能なアプリケーション」(Jar Bundler を使用) にしてアプリケーションを実行すると、写真が表示されません! (申請ファイルのサイズは約700KBのみですのでご注意ください...写真のサイズが2MBを超える場合。)

「ダブルクリック可能なアプリケーション」に写真を含めて、NetBeans を使用せずにすべての写真を直接アプリケーションで実行できるようにするにはどうすればよいですか?

プロジェクトのソース ルートとして images ディレクトリを追加しました。

実際、プロジェクトを右クリックして [プロパティ] 項目を選択しました。ダイアログの左側にあるリストで「ソース」を選択しました (これにより、ダイアログの右側にあるパネルの内容が変更されます)。

[フォルダーの追加...] ボタンを押して、画像フォルダーを選択しました (画像フォルダーのエントリが追加されます)。さて、JARファイルを作ってみると、700KBではなく5MBくらいになりました。これはいい。しかし、JAR ファイルをダブルクリックして、NetBeans の外部でアプリケーションを実行すると、.

2 つのケースが考えられます: ケース 1: JAR ファイルを任意の場所 (デスクトップなど) に置いた場合、アプリケーションは写真を表示できません... ケース 2: JAR ファイルを同じディレクトリに配置する必要があります。 NetBeans プロジェクトです。この場合はOKです。

その結果、JAR ファイルはまだ写真フォルダーに依存しています。すべての写真を JAR ファイルに埋め込む必要があるため、移植可能になります。つまり、このファイルを他のコンピューターに持っていくと、写真フォルダーなしですべての写真でプログラムを実行できます。最後に:使用する必要がありますgetClass().getResourceAsStream(file)か?? また、どのように使用すればよいですか?

4

2 に答える 2

2

ファイルをZIPファイル内に挿入し、アプリケーションまたはJARファイル内にパッケージ化できます。

後で、 を使用getClass().getResourceAsStream(file)してファイルへの参照を取得します。写真を抽出し、アプリケーション内で表示します。

于 2012-04-24T19:15:05.727 に答える
0

NetBeans では、すべての写真を などのフォルダに入れfotos、JAR ファイルを作成します。実行可能な jar ファイルと同じ場所に fotos フォルダーを貼り付けます。JAR ファイルを開き、そのfotos中のフォルダーを削除します。

fotosJAR ファイルを実行すると、クラスパスは JAR ファイルの現在のパスになり、JAR ファイルの場所にフォルダーがあるため、Java は現在のクラスパスで指定されたフォルダーを探しfotosます。そこから写真が読み込まれます。

于 2012-04-24T19:32:27.013 に答える