2015-07-10 30 views
1

我一直在关注学习图形的教程,并且在一个程序中作者使用图像来制作纹理涂料。我已经复制了他的代码,但我不知道在哪里实际放置图像供它阅读。我已经尝试在eclipse中创建一个资源文件夹,并将其设置为源文件夹构建路径,但这没有奏效。代码如下:我在哪里把图像的Java程序输入?

编辑: 好吧,我发现它是从班级的源头拍摄图像。但是,可以说我想从我的桌面或硬盘上的其他位置拉出图像,我该怎么做?

class Surface extends JPanel { 

    private BufferedImage slate; 
    private BufferedImage java; 
    private BufferedImage pane; 
    private TexturePaint slatetp; 
    private TexturePaint javatp; 
    private TexturePaint panetp; 

    public Surface() { 

     loadImages(); 
    } 

    private void loadImages() { 

     try { 

      slate = ImageIO.read(new File("slate.png")); 
      java = ImageIO.read(new File("java.png")); 
      pane = ImageIO.read(new File("pane.png")); 



} catch (IOException ex) { 

     Logger.getLogger(Surface.class.getName()).log(
       Level.SEVERE, null, ex); 
    } 
} 

private void doDrawing(Graphics g) { 

    Graphics2D g2d = (Graphics2D) g.create(); 

    slatetp = new TexturePaint(slate, new Rectangle(0, 0, 90, 60)); 
    javatp = new TexturePaint(java, new Rectangle(0, 0, 90, 60)); 
    panetp = new TexturePaint(pane, new Rectangle(0, 0, 90, 60)); 

    g2d.setPaint(slatetp); 
    g2d.fillRect(10, 15, 90, 60); 

    g2d.setPaint(javatp); 
    g2d.fillRect(130, 15, 90, 60); 

    g2d.setPaint(panetp); 
    g2d.fillRect(250, 15, 90, 60); 

    g2d.dispose(); 
} 

@Override 
public void paintComponent(Graphics g) { 

    super.paintComponent(g); 
    doDrawing(g); 
} 

}

+0

http://stackoverflow.com/questions/17912041/java-swing-imageicon-where-to-put-images-solved这解决你的问题? –

+0

ahh yes它确实是gmk!谢谢!具有讽刺意味的是,这段代码也是来自zetcode的教程。尽管我可能仍然保持这个问题的开放性并对其进行一些改变,但是如何选择不同的位置作为图像的来源? –

+0

只需使用绝对'PATH'来存档。 linux:/ home/user/... widndows:C:/ Users/.. –

回答

3

This能有所帮助。
或者只是使用绝对路径来存档。 linux:/ home/user/... widndows:C:/ Users/..

相关问题