相対パスを使用して画像パネルからの画像にアクセスしようとしています。 Eclipseプロジェクトでは、画像の中にimageという名前のフォルダがあります。ここに私のコードです:画像ファイルとスカラの相対パス
val top = new MainFrame {
title = "Predator and Prey Agent simulation"
val buttonExit = new Button {
text = "Exit"
action = Action("Exit") {
WorldActor.run(false)
closer
}
}
val buttonStart = new Button {
text = "Start"
action = Action("Start") {
switchPanes()
}
}
val s = new Dimension(500, 700)
contents = new ImagePanel(0, 1) {
for (i <- 0 until 5){
contents+= new Label("")
}
contents += buttonStart
contents += buttonExit
contents+= new Label("")
minimumSize = s
maximumSize = s
preferredSize = s
imagePath = ("\\PredatorPrey\\images\\gnp-canadian-lynx-kitten.jpg")
}
}
上記のコードが実行されるたびに、私はjavax.imageio.IIOExceptionを取得します。ここにimapePanelクラスがあります:
case class ImagePanel(rows0: Int, cols0: Int) extends GridPanel(rows0, cols0) {
private var _imagePath = ""
private var bufferedImage: BufferedImage = null
def imagePath = _imagePath
def imagePath_=(value: String) {
_imagePath = value
bufferedImage = ImageIO.read(new File(_imagePath))
}
override def paintComponent(g: Graphics2D) = {
if (null != bufferedImage) g.drawImage(bufferedImage, 0, 0, null)
}
}
どのようにそのパスを修正するのですか?
あなたの記事は私が問題を解決するのに最も役立ちましたが、あなたが答えたものが原因ではありません。私はあなたが投稿した直後に思い出した。私はプロジェクト名PredatorPreyとパスの宣言からの最初の/を削除する必要がありました。多分あなたはそれを言うためにあなたの投稿を編集することができ、私はあなたの答えを受け入れるでしょう –
@graphicdivine、おかげで多くの編集! – aishwarya