import java.awt.BorderLayout;
import java.awt.Canvas;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.image.BufferedImage;
import java.io.File;
import javax.imageio.ImageIO;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class TestImageFrame {
private JFrame mainFrame = null;
private JTextField imagePathTF = null;
private JButton loadImageButton = null;
private MyCanvas imageCanvas = null;
private JPanel northPanel = null;
public TestImageFrame() {
mainFrame = new JFrame();
mainFrame.setLayout(new BorderLayout());
northPanel = new JPanel();
imagePathTF = new JTextField(20);
loadImageButton = new JButton("Load Image");
imageCanvas = new MyCanvas();
loadImageButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
try {
File f = new File(imagePathTF.getText());
BufferedImage image = ImageIO.read(f);
imageCanvas.setImage(image);
imageCanvas.repaint();
} catch (Exception e) {
System.out.println(e);
}
}
});
northPanel.add(imagePathTF);
northPanel.add(loadImageButton);
mainFrame.add(northPanel, BorderLayout.NORTH);
mainFrame.add(imageCanvas, BorderLayout.CENTER);
mainFrame.setSize(500, 600);
mainFrame.setVisible(true);
}
public static void main(
String[] ar) {
new TestImageFrame();
}
class MyCanvas extends Canvas {
private BufferedImage image = null;
public void paint(Graphics g) {
g.drawImage(image, 0, 0, this);
}
public void setImage(BufferedImage bufferedImage) {
image = bufferedImage;
}
}
}