急]用什么swing组件加入图片 急!!!用什么swing组件加入图片 我是新手,搞了好久都加载不来图片。。高手棒棒忙。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果是为button和label添加图片JLabel pitLabel=new JLabel();ImageIcon img=new ImageIcon("f:/pit.jpg");//创建图片对象pitLabel.setIcon(img);panel.add(pitLabel); Button b=new JButton(new ImageIcon("images/startButtonImage.jpg"));如果要显示图片也可以用label添加图片然后把label放到容器里就行了,不知道对你的问题理解的对不对 重写panel的protected void paintComponent(Graphics g) 方法,用g.drawImage()方法就能加载图片 上面得方法可行。注意图片的格式jpg 我和四楼的观点类似获得图片用ImageIO类的类方法read(File fileObj),这个方法的执行结果得到一个BufferedImage对象,然后想画到哪里就在那个容器中获得它的Graphics对象,然后调用Graphics的drawImage方法就可以啦 我想是这个吧Toolkit.getDefaultToolkit().createImage(String filename) Jlabel和Jbutton都可以用,ImageIcon img=new ImageIcon("f:/pit.jpg");//创建图片对象Jbutton jb = new Jbutton(img);jp.add(jb);jp.pack();//自动调整 例子如下:jpImage = new JPanel(){public void paint(Graphics g){gOffScreen.drawImage(bgImage,0,0,this);//bgImage是一个背景图片,因为它随时会变化,所以用此句将其放在一个Graphics对象gOffScreen的缓冲区里g.drawImage(offScreen,0,0,this); //将缓冲区的图片绘制到JPanel上.}};//创建一个用于显示图片的JPanel对象并覆盖其paint方法. import java.applet.*; import java.awt.*; public class myapplet extends Applet { public void paint(Graphics g) { Image image; image=getToolkit().getImage("D:\\test.jpg"); g.drawImage(image, 0, 0,this); } }在Applet上显示一组图片 每1秒换下一个图片import java.awt.*;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import java.io.File;public class DrawImageAnimator extends Frame { private Image[] images; private int curImage; private boolean bStop; private MyThread thread; public DrawImageAnimator(String s) { super(s); final String dir="D:\\面瘫"; String[] files=new File(dir).list(); int num=files.length; images=new Image[num]; for (int i = 0; i < num; i++) { images[i]=Toolkit.getDefaultToolkit().createImage(dir+"\\"+files[i]); } setSize(400,700); setVisible(true); addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){ bStop=true; System.exit(0); } }); thread=new MyThread(); thread.start();} public void paint(Graphics g) { g.drawImage(images[curImage], 0, 0, this); } class MyThread extends Thread{ public void run() { while (!bStop) { repaint(); try { sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } curImage++; if (curImage==images.length) { curImage=0; } } }} public static void main(String[] args) { Object f=new DrawImageAnimator("浏览图片"); }} JAVA读取文件中特定字符串后面的值 如何设置ear的类路径? 序列化问题 关于getSelectedFile() 请教:在一个java程序里post数据出去,url用localhost就可以,换ip就不行了 有没有JAVA的工程实习方面的书? 麻烦高手指点一下,万分感谢!(好像是minmax函数的) 关于Java Web Start的反编译? 关于在linux用vi编写java后? JNI问题求解 想写一个查找局域网内所有QQ号的软件,用java如何来写,还请高手指点一二! 一个修改窗体标题的字体的问题
JLabel pitLabel=new JLabel();
ImageIcon img=new ImageIcon("f:/pit.jpg");//创建图片对象
pitLabel.setIcon(img);
panel.add(pitLabel); Button b=new JButton(new ImageIcon("images/startButtonImage.jpg"));
如果要显示图片也可以用label添加图片然后把label放到容器里就行了,不知道对你的问题理解的对不对
获得图片用ImageIO类的类方法read(File fileObj),这个方法的执行结果得到一个BufferedImage对象,然后想画到哪里就在那个容器中获得它的Graphics对象,然后调用Graphics的drawImage方法就可以啦
Toolkit.getDefaultToolkit().createImage(String filename)
ImageIcon img=new ImageIcon("f:/pit.jpg");//创建图片对象
Jbutton jb = new Jbutton(img);
jp.add(jb);
jp.pack();//自动调整
jpImage = new JPanel(){
public void paint(Graphics g){
gOffScreen.drawImage(bgImage,0,0,this);//bgImage是一个背景图片,因为它随时会变化,所以用此句将其放在一个Graphics对象gOffScreen的缓冲区里
g.drawImage(offScreen,0,0,this); //将缓冲区的图片绘制到JPanel上.
}
};//创建一个用于显示图片的JPanel对象并覆盖其paint方法.
import java.awt.*; public class myapplet extends Applet {
public void paint(Graphics g) {
Image image;
image=getToolkit().getImage("D:\\test.jpg");
g.drawImage(image, 0, 0,this);
}
}
在Applet上显示一组图片 每1秒换下一个图片import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.File;
public class DrawImageAnimator extends Frame {
private Image[] images;
private int curImage;
private boolean bStop;
private MyThread thread;
public DrawImageAnimator(String s) {
super(s);
final String dir="D:\\面瘫";
String[] files=new File(dir).list();
int num=files.length;
images=new Image[num];
for (int i = 0; i < num; i++) {
images[i]=Toolkit.getDefaultToolkit().createImage(dir+"\\"+files[i]);
}
setSize(400,700);
setVisible(true);
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
bStop=true;
System.exit(0);
}
});
thread=new MyThread();
thread.start();
}
public void paint(Graphics g) {
g.drawImage(images[curImage], 0, 0, this);
}
class MyThread extends Thread{
public void run() {
while (!bStop) {
repaint();
try {
sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
curImage++;
if (curImage==images.length) {
curImage=0;
}
}
}
}
public static void main(String[] args) {
Object f=new DrawImageAnimator("浏览图片");
}
}