主要用到了JPanel類,JPanel類有一個(gè)paint()方法,用于實(shí)現(xiàn)畫圖。在這里paint()方法里寫的就是調(diào)用一張圖片,然后就實(shí)現(xiàn)了在JFrame中顯示一張圖片。
其原理其實(shí)是:在JFrame對(duì)象中放一個(gè)JPanel對(duì)象,在JPanel中實(shí)現(xiàn)畫圖。 代碼如下:
import java.awt.Graphics;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class ImageApp extends JFrame {
public ImageApp() {
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setSize(400, 300);
setResizable(false);
getContentPane().setLayout(null);
JPanel panel = new ImagePanel();
panel.setBounds(0, 0, 400, 300);
getContentPane().add(panel);
setVisible(true);
}
public static void main(String[] args) {
new ImageApp();
}
class ImagePanel extends JPanel {
public void paint(Graphics g) {
super.paint(g);
ImageIcon icon = new ImageIcon("D:\\testapp.jpg");
g.drawImage(icon.getImage(), 0, 0, 400, 300, this);
}
}
}
動(dòng)圖如下:(D:\\testapp.jpg)import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class ImageApp extends JFrame {
public ImageApp() {
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setSize(400, 300);
setResizable(false);
getContentPane().setLayout(null);
JPanel panel = new ImagePanel();
panel.setBounds(0, 0, 400, 300);
getContentPane().add(panel);
setVisible(true);
}
public static void main(String[] args) {
new ImageApp();
}
class ImagePanel extends JPanel {
public void paint(Graphics g) {
super.paint(g);
ImageIcon icon = new ImageIcon("D:\\testapp.jpg");
g.drawImage(icon.getImage(), 0, 0, 400, 300, this);
}
}
}
