日期:2014-05-20  浏览次数:20798 次

swing jlabel上怎么显示不了图片??
ImageIcon image =new ImageIcon("./photo.bmp");
jLabel8 = new JLabel();
jPanel1.add(jLabel8);
jLabel8.setIcon(image);
jLabel8.setText("");
jLabel8.setBounds(0, 0, 393, 85);
setVisible(true);
------解决方案--------------------

ImageIcon image =new ImageIcon("./photo.bmp");
jLabel8 = new JLabel();
jPanel1.add(jLabel8);
jLabel8.setBounds(0, 0, 393, 85);
setVisible(true); 
Graphics g =jLabel8.getGraphics() ;
graphics.drawImage(image.getImage(), 0, 0,image.getIconWidth(), image.getIconHeight(), jPanel1) ;
jLabel8.paint(g) ;

------解决方案--------------------
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Point;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
    
public class jframe{
    public static void main(String[]args){
        JFrame f=new JFrame("一个窗口");
        
        //为标签添加图片《方法一》
        File pic=new File("E:\\Pictures\\201291211031890.jpg");
   
        Icon icon=new ImageIcon(pic.toString());//Icon为接口,需要用ImageIcon()实例化,这是其中 的一个构造方法
        JLabel lab=new JLabel("美女",icon,JLabel.CENTER);
        Font font=new  Font("Serief", Font.BOLD, 22);
        lab.setFont(font);
        lab.setForeground(Color.RED);//设置标签前景色
        
        f.add(lab);
        
        //窗口设置大小
        Dimension dim=new Dimension();
        dim.setSize(400,208);
        f.setSize(dim);
        
        //窗口设置位置
        Point point=new Point(350,200);
        f.setLocation(point);
        f.setVisible(true);
    }
}

------解决方案--------------------
Java JDK不支持bmp格式
当前JAVA 2D的图像显示支持原生支持格式为jpg, gif,png三种格式。
不过你可以使用JDK扩展的Java 2D Image Advance API库
它可以支持,但是好像Oracle已经不维护它了。
建议使用第三方库读取bmp格式图像。
------解决方案--------------------
bmp的不行,JEPG,PEG可以,LZ试试