Eclipseでは、コードを実行すると、次のように機能します。
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
public class Main {
public static void main(String[] args) {
JFrame frame = new JFrame("test viewing images");
frame.setSize(600,300);
frame.setLocationRelativeTo(null); // centered on monitor
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
/**
* Menu Bar stuff
*/
JMenuBar menuBar;
JMenu menu;
JMenuItem menuItem;
// MENU BAR
menuBar = new JMenuBar();
frame.setJMenuBar(menuBar);
menuBar.setVisible(true);
// MENU 1
menu = new JMenu("File");
menuBar.add(menu);
// MENU 1 ITEM
ImageIcon icon = new ImageIcon("src/Action-exit-icon.png");
menuItem = new JMenuItem("Exit Program", icon);
menu.add(menuItem);
frame.setVisible(true);
}
}
そして、これが私のパッケージエクスプローラーからのファイル構造です:
ShowImage (project)
> src / Main.java
> src / Action-exit-icon.png
また、このワークスペースはZ:\eclipse_projectsにあります
ImageIcon icon = new ImageIcon( "src / Action-exit-icon.png");が表示されます。はうまく機能しており、menuBarがその役割を果たします。
それでは、このプロジェクトをエクスポートしましょう。JARを私の友人にメールで送信します。
- プロジェクトを右クリック>[エクスポート]を選択
- 「Java」>「実行可能なJARファイル」を選択します
- 起動構成でメインファイルを選択します
- エクスポート先:デスクトップ
- ライブラリ処理:必要なライブラリを生成されたJARに抽出します
- デスクトップに移動し、ShowImage.jarをダブルクリックします
JFrameは表示されますが、Action-exit-icon.pngはまったく表示されません。
ShowImage.jarを開くと、その内容を表示するために、Main.class、Action-exit-icon.png、META-INFが表示されます。
わかりました。画像やその他のリソースを参照する方法について、今は真剣に混乱しています。私は何が間違っているのですか?