2

イメージを読み込んで文字を小文字から大文字に、またはその逆に変更しようとすると、使用している 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.pngapp_background.pngても違いはないようです。画像は同じように表示されます。

ただし、コマンド プロンプトまたは実行可能な JAR を介して JVM からコードを実行すると、ファイル名が適切でない限りイメージが表示されません。

私の質問は、IDE 内で実行している場合と IDE 外で実行している場合で、大文字と小文字が区別される動作が同じにならないのはなぜですか?

4

1 に答える 1

4

Java では厳密に大文字と小文字が区別されますが、OS(私が推測するWindows) ファイル システムでは区別されない場合が多くあります。

この議論は、なぜこれが起こるのかについて続きます:

https://netbeans.org/bugzilla/show_bug.cgi?id=198946

于 2013-07-11T13:26:52.293 に答える