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
}
}
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
}
}
相关文章推荐
- VBA插入图片了解一下
- 如何录制gif动态图片并在CSDN中插入动态图片
- Jxls导出excel的若干方式总结(十二)-- 在导出报表中动态插入图片
- 【VBA】批量插入图片
- 网页制作常用代码(文字颜色/字体/插入图片/flash等
- IE8不能上传、插入图片的解决办法!
- Android富文本编辑器,支持图文混排,支持插入和删除图片
- java向oracle插入blob类型图片
- 实现在edittext中任意插入图片
- 将文字内容和图片插入到 Access 数据库
- c#+argis92 在点击坐标处插入一图片
- JTextPane例子,演示为文字设置字体、字号、样式、颜色、背景色和插入图片功能
- markdownPad2插入本地图片
- onenote2007屏幕剪辑或插入图片是报错。
- 优雅地在markdown插入图片
- 在editText中动态插入图片
- POI插入EXCEL图片【成功】
- 向PDF文件插入图片
- [PDF文件怎么编辑]如何在PDF文档中插入图片
- latex插入图片的办法