jlabel无法显示图片

yeliguo12345 2011-10-21 05:08:02
不知道为什么我写的代码图片无法显示,图片和代码(。java后缀的)放在一起的,看了半天也没有解决,
package Window;

import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;

import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

public class tt extends JFrame{

private static final long serialVersionUID = 1L;
JPanel panel = new JPanel();
JLabel label = new JLabel("tgrf");
tt(){
this.setSize(400, 400);
this.setLayout(new FlowLayout());
this.setBackground(Color.BLACK);
this.add(panel);
panel.setPreferredSize(new Dimension(200,200));
panel.setBackground(Color.BLUE);
panel.add(label);

label.setPreferredSize(new Dimension(100,100));
label.setIcon(new ImageIcon("关闭.jpg"));
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setVisible(true);

}
public static void main(String[] args) {
new tt();
}

}
...全文
97 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
rankx 2011-10-21
  • 打赏
  • 举报
回复
换成英文的图片名不是更好吗?中文的很诡异的~
风尘中国 2011-10-21
  • 打赏
  • 举报
回复
不过你还是需要注意图片的大小和尺寸,否则图片显示不完整
风尘中国 2011-10-21
  • 打赏
  • 举报
回复
注意Java命名规范,类的首字母大写,试试这个代码


import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;

import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

public class TT extends JFrame{

private static final long serialVersionUID = 1L;
JPanel panel = new JPanel();
JLabel label = new JLabel("tgrf");
TT(){
this.setSize(400, 400);
this.setLayout(new FlowLayout());
this.setBackground(Color.BLACK);
this.add(panel);
panel.setPreferredSize(new Dimension(200,200));
panel.setBackground(Color.BLUE);
panel.add(label);

label.setPreferredSize(new Dimension(100,100));
// label.setIcon(new ImageIcon("关闭.jpg"));
label.setIcon(new ImageIcon(this.getClass().getResource("关闭.jpg")));
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setVisible(true);

}
public static void main(String[] args) {
new TT();
}

}

图片浏览器 (后面附有完整代码) 一、需求分析 1、首先。因为要显示图片所以要先有一个界面;用JFrame; 2、因为要能显示选定文件夹内的图片,所以要有一个文件夹选择器;用JTree; 3、显示图片的滚动面板;用JScrollPane; 4、因为要对图片进行分类,所以要设计分类模块; 5、因为要对图片进行备份,所以要设计备份模块; 6、因为要对图片进行幻灯播放,所以要设计幻灯播放模块; 二、概要设计 本次课程设计模块图、系统流程图: 三、运行环境、开发语言 操作系统:Windows XP 专业版 32位 SP3 ( DirectX 9.0c ) 开发工具:MyEclipse 开发语言:java 四、详细设计 1 程序清单 String pt;鼠标点击的图片的绝对路径 File[] files2;面板上正在显示图片文件 JLabel[] imageLabel;图片绑定的JLabel控件组 JLabel jlabel,jimageLabel; 图片绑定的JLabel控件 JPanel jp1,jp2,jp3;显示不同内容的面板 JButton[] jb;按钮数组 private JTree tree;文件夹选择树 private JScrollPane jsp1,jsp2,jsp3;滚动面板 Timer timer;计时器 public PictureDir()类的构造函数 WindowAction窗体事件 TreeSelect文件夹选择树事件 FileDidianListener分类为地点事件 FileRenwuListener分类为人物事件 FileXiangceListener分类为相册事件 FileQitaListener分类为其它事件 FileZipListener备份事件 FileBackListener还原事件 MouseAction鼠标点击事件 FileStartListener幻灯片播放事件 JCAction显示分类图片事件 read(String)读文件函数 save(String,String)写文件函数 unzip(String,String)解压缩函数 resizeIcon(ImageIcon,JLabel)控制图片显示大小的函数 deleteFile(File)删除文件函数 main(String[])主函数 2 主要代码 整个程序的界面如下图: 2.1 选择文件夹功能 class TreeSelect implements TreeSelectionListener{ public void valueChanged(TreeSelectionEvent e) { TreePath path=e.getPath(); DefaultMutableTreeNode node=(DefaultMutableTreeNode)path.getLastPathComponent(); Object userObject=node.getUserObject(); if(!(userObject instanceof File)){ return; } File folder=(File)userObject; if(!folder.isDirectory()) return; File[] files1=initImageSets1(folder); for(File file:files1){ node.add(new DefaultMutableTreeNode(file)); } files2=initImageSets2(folder); for(int i=0;i

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧