当前位置: 技术问答>java相关
如何使在JLable中加载的ImageIcon随着窗体的大小变化而变化,谢谢!!!
来源: 互联网 发布时间:2015-09-15
本文导语: 我在JLable中加载了一个ImageIcon图片,但它是固定大小的,不能随窗体的拖动变化而变化,请问各位大侠如何解决。万分感谢!!! | JLable中加载的ImageIcon里的图片不能改变大小的呀! 如果想...
我在JLable中加载了一个ImageIcon图片,但它是固定大小的,不能随窗体的拖动变化而变化,请问各位大侠如何解决。万分感谢!!!
|
JLable中加载的ImageIcon里的图片不能改变大小的呀!
如果想改变大小的话,就要继承JPanel类,自己画一个Image了!
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
/**
*
*
*
*
* @author unascribed
* @version 1.0
*/
public class ImageTest {
public static void main(String[] args) {
ImageFrame frame=new ImageFrame();
frame .setDefaultCloseOperation(JFrame .EXIT_ON_CLOSE );
frame.show();
}
}
class ImageFrame extends JFrame{
int width=300;
int height=200;
public ImageFrame(){
setTitle("ImageTest");
setSize(width,height);
ImagePanel panel=new ImagePanel();
Container contentPane=getContentPane() ;
contentPane.add(panel);
}
}
class ImagePanel extends JPanel{
Image image;
String name;
public ImagePanel(){
name="800403.jpg";// 换成当前目录下的一个文件即可!
image=Toolkit.getDefaultToolkit().getImage(name);
MediaTracker tracker=new MediaTracker(this);//监视画图片的过程!
tracker.addImage(image,0);
try {
tracker .waitForID(0);
}
catch (InterruptedException e) {
}
}
public void paintComponent(Graphics g){
super.paintComponent(g);
g.drawImage(image,0,0,this.getWidth(),this.getHeight() ,null);
//和JFrame 的大小相同!
}
}
如果想改变大小的话,就要继承JPanel类,自己画一个Image了!
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
/**
*
Title:
*
Description:
*
Copyright: Copyright (c) 2002
*
Company:
* @author unascribed
* @version 1.0
*/
public class ImageTest {
public static void main(String[] args) {
ImageFrame frame=new ImageFrame();
frame .setDefaultCloseOperation(JFrame .EXIT_ON_CLOSE );
frame.show();
}
}
class ImageFrame extends JFrame{
int width=300;
int height=200;
public ImageFrame(){
setTitle("ImageTest");
setSize(width,height);
ImagePanel panel=new ImagePanel();
Container contentPane=getContentPane() ;
contentPane.add(panel);
}
}
class ImagePanel extends JPanel{
Image image;
String name;
public ImagePanel(){
name="800403.jpg";// 换成当前目录下的一个文件即可!
image=Toolkit.getDefaultToolkit().getImage(name);
MediaTracker tracker=new MediaTracker(this);//监视画图片的过程!
tracker.addImage(image,0);
try {
tracker .waitForID(0);
}
catch (InterruptedException e) {
}
}
public void paintComponent(Graphics g){
super.paintComponent(g);
g.drawImage(image,0,0,this.getWidth(),this.getHeight() ,null);
//和JFrame 的大小相同!
}
}
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。