イメージを読み込んで文字を小文字から大文字に、またはその逆に変更しようとすると、使用している IDE (JDK 1.7 経由) でイメージが完全に表示されますが、同じコードの実行可能な JAR をエクスポートして、 JVM (1.7) で突然、大文字と小文字を区別する問題が発生し、ファイル名は正確でなければなりません。
コード例は次のとおりです。
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(500, 500);
JLabel im = new JLabel(new ImageIcon("C:\\Users\\Sammy\\Documents\\Aurora\\Onix 2 original\\app_Background.png"));
frame.add(im);
frame.setVisible(true);
}
Netbeans で実行すると、に変更app_Background.png
しapp_background.png
ても違いはないようです。画像は同じように表示されます。
ただし、コマンド プロンプトまたは実行可能な JAR を介して JVM からコードを実行すると、ファイル名が適切でない限りイメージが表示されません。
私の質問は、IDE 内で実行している場合と IDE 外で実行している場合で、大文字と小文字が区別される動作が同じにならないのはなぜですか?