您的位置:首页 > 编程语言 > Java开发

java swing中插入图片

2013-06-17 08:33 211 查看
方法一:直接利用JLabel的setIcon方法,可以插入图片:

public class TestImage extends JFrame {

public void launch() {

this.setTitle("TestImage");

this.setExtendedState(JFrame.MAXIMIZED_BOTH);//JFrame最大化

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//让JFrame的关闭按钮起作用

this.setVisible(true);//显示JFrame

}

public static void main(String args[]) {

TestImage testImage = new TestImage();

JPanel panel = new JPanel();

JLabel label = new JLabel();

ImageIcon img = new ImageIcon("./src/images/background.png");//创建图片对象

label.setIcon(img);

panel.add(label);

testImage.getContentPane().add(panel);

testImage.launch();

}

}

方法二:为JPanel添加背景图片的方法,要重写paintComponent这一方法:

public class ImagePanel extends JPanel {

private Image img;

public ImagePanel(Image img){

this.img = img;

Dimension size = new Dimension(img.getWidth(null), img.getHeight(null));

setSize(size);

setPreferredSize(size);

setMinimumSize(size);

setMaximumSize(size);

setLayout(null);

}

@Override

protected void paintComponent(Graphics g) {

Dimension size = this.getParent().getSize();

// g.drawImage(img, 0, 0, this);//此方法不能改变图片大小

g.drawImage(img, 0, 0, size.width, size.height, this);//此方法中的图片大小可随屏幕的改变而改变

}

public static void main(String[] args) {

JFrame frame = new JFrame("ImagePanel");

ImagePanel panel = new ImagePanel(new

ImageIcon("./src/images/background.png").getImage());

frame.getContentPane().add(panel);

frame.pack();

frame.setExtendedState( Frame.MAXIMIZED_BOTH );//最大化屏幕

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//让JFrame的关闭按钮起作用

frame.setVisible(true);//显示JFrame

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: