JAVA:画像読み込みについて
http://sites.google.com/site/gorogoronyan/Home/java-2/testimagedisp11java
や
http://codezine.jp/article/detail/2543?p=4
や
http://www.javainthebox.net/laboratory/graphics/ImageLoading/ImageLoading.html
などを見て、画像読み込みを行っていたのだが、なぜか、//javax.imageio.ImageIOで画像ファイルを読むしか上手くいかない…
//1)javax.swing.ImageIcon で画像ファイルを読む。
static Image readImage1(String path){
ImageIcon icon = new ImageIcon(path);
return icon.getImage();
}
//2)java.awt.Toolkit で画像ファイルを読む。
static Image readImage2(String path){
Toolkit kit = Toolkit.getDefaultToolkit();
return kit.getImage(path); //参照共有、使いまわし
}
がつかえない
package takehiroyamada.IPS.Client;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class IPS_Client_ver2 extends JFrame{
/**
*
*/
private static final long serialVersionUID = 1L;
/*
*マップ関係
*/
static String mapimagepath = "5Fgraywall.jpg";
Graphics g;
public IPS_Client_ver2(){
this.setSize(700, 700);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
MyPanel panel = null;
try {
panel = new MyPanel();
} catch (IOException e) {
// TODO 自動生成された catch ブロック
e.printStackTrace();
}
this.add(panel,BorderLayout.CENTER);
this.setVisible(true);
}
public static void main(String[] args) {
new IPS_Client_ver2();
}
}
class MyPanel extends JPanel {
/**
*
*/
private static final long serialVersionUID = 1L;
Image image;
public MyPanel() throws IOException{
image = readImage(""+IPS_Client_ver2.mapimagepath+"");
}
public void paintComponent(Graphics g){
if (image != null){
g.drawImage(image, 0, 0, this);
}
}
//javax.imageio.ImageIOで画像ファイルを読む
static BufferedImage readImage(String path) throws IOException {
return ImageIO.read( new File(path));
}
}