java在JFrame里 this.setIconImage((new ImageIcon("image\\qq.jpg")).getImage());

解答了在Java JFrame中无法修改图标的问题,通过使用ClassLoader获取资源路径来正确设置图标,并提供了实例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

java在JFrame里 this.setIconImage((new ImageIcon("image\\qq.jpg")).getImage());

2014-04-08 21:58  提问者悬赏: 50分  |  影映月莹  |  分类:JAVA相关  |  浏览491次
无法修改上面的小咖啡图片,显示不出来QQ图标,我用的是my eclipse 7.5
我有更好的答案
按默认排序 | 按时间排序

1条回答

2014-04-09 10:21 Cry_小衰  | 五级  最快回答
setIcon(new ImageIcon(路径));如果要导出jar文件的话,路径是  
类名.class.getClassLoader.getResource("图片路径(放在项目中,不要在本地)")
追问
图片放在了项目中了
回答
你这个 this.seticon this是什么  JFrame吗?  图片放到JLabel里去呀  然后this.add(JLabel)
你换成 JLabel label=new JLabel(new ImageIcon("路径"));
this.add(label);
追问
this是JFrame,JLabel是没有问题,可以使用,但是JLabel是直接在窗体里实现图片,而这个是修改运行出来程序上面的小咖啡图片
回答
set完之后 repaint()
评论(1)  |  1  0
你进医院我坐牢 2014-12-28 12:23
太感谢了!!!网上看了好几个说法都是没用的,看了你的classloader就成功了!! 回复
改进以下代码,让错误出现三次弹出冻结信息并关闭窗体。denglu.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { int count = 0; String inputzh = zhanghu.getText(); boolean bl = true; try { new Mysql(); bl = Mysql.jujle(inputzh); } catch (ClassNotFoundException e1) { // TODO 自动生成的 catch 块 e1.printStackTrace(); } catch (SQLException e1) { // TODO 自动生成的 catch 块 e1.printStackTrace(); } System.out.println(bl); if (bl) { try { System.out.println(inputzh); new GUI2(inputzh); jf.dispose(); } catch (Exception e1) { // TODO 自动生成的 catch 块 e1.printStackTrace(); } } else { ImageIcon titleIcon = new ImageIcon("F:\\ATM.png"); JDialog jDialog = new JDialog(jf, "错误", true); jDialog.setSize(400, 200); jDialog.setLocation(575, 400); JTextField jTextField = new JTextField("您的账号和密码输入有误!请重新输入。"); jTextField.setHorizontalAlignment(JTextField.CENTER); jTextField.setEditable(false); jTextField.setSelectedTextColor(Color.black); jDialog.add(jTextField); jDialog.setIconImage(titleIcon.getImage()); jTextField.setVisible(true); jDialog.setVisible(true); count++; if (count == 3) { ImageIcon titleIcon1 = new ImageIcon("F:\\ATM.png"); JDialog jDialog1 = new JDialog(jf, "错误", true); jDialog.setSize(400, 200); jDialog.setLocation(575, 400); JTextField jTextField1 = new JTextField("您的账号已冻结!请联系人工处理。"); jTextField.setHorizontalAlignment(JTextField.CENTER); jTextField.setEditable(false); jTextField.setSelectedTextColor(Color.black); jDialog.add(jTextField1); jDialog.setIconImage(titleIcon1.getImage()); jTextField.setVisible(true); jDialog.setVisible(true); jf.setDefaultCloseOperation(3); System.exit(0); } else { jpl.repaint(); } } } });
05-31
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值