2011-12-21 16 views
0

私は、カスタマイズされたボタンで電卓を設計しています。当然のことながら、イメージファイルをパッケージインタフェースとは異なるフォルダに整理したいと思っています。 フォルダの場所は、インタフェース/七/ 7-normal.pngですが、私は完全なリンクイメージ用に異なるフォルダのリンクを使用する(Java)

"C:\Liloka\Source\interfaces\Seven\seven-normal.png" 

が含まれていない時はいつでも、それは動作しませんし、すべてが消えます。私はこれが通常のコードで行われているのを見たことを誓っています。これを適切なプログラムで使用した場合、人々がコードを書いた場所へのリンクを変更することは期待できません!ここで私が使用してきたコードは次のとおりです。

seven = new ButtonImage("/Seven/seven-normal.png"); - Doesn't work 
    nine = new ButtonImage("C:/Users/Liloka/workspace/WebsiteContent/src/interfaces/Nine/nine-normal.png"); - Does work 

ありがとう! 、基本的に意味し、あなたのパスの先頭にあるため/from the root of the drive, go to the "Seven" folder, and then load "seven-normal.png"

あなたは、のようなものを相対パスを使用する必要があり、"../../interfaces/Seven/seven-normal.png"か -

答えて

2
"/Seven/seven-normal.png" 

... C:\Seven\seven-normal.pngへのパスです。たぶんちょうど"interfaces/Seven/seven-normal.png"

最初のパスは2つのフォルダを「上に」持ち、次にinterfaces/Seven/seven-normal.pngに移動します。基本的には、コードが実行されているフォルダ(「作業ディレクトリ」とも呼ばれる)を把握し、そこから相対パスを構築する必要があります。

+0

ああ私はそれが私には何も探していない最初の場所である限り、ファイルが別のクラスのようなものを探すかどうかinterfaces \ Sevenに行くと思った。しかし明らかにそうではありません。ありがとうございました! – liloka

2

最初のスラッシュを削除するだけです。

seven = new ButtonImage("interfaces/Seven/seven-normal.png"); 

interfacesは、お使いのJARと同じフォルダにある必要があります。

関連する問題