java程序,new ImageIcon(getClass().getResource("/images/密码登陆.jpg")),在导出jar后,jar包里面没有
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java程序,new ImageIcon(getClass().getResource("/images/密码登陆.jpg")),在导出jar后,jar包里面没有相关的知识,希望对你有一定的参考价值。
其中我的路径是:src/com/zys/dariyandtank,图片都在images里面,images是在dariyandtank中,和class文件在一起
参考技术A 那你路径不对了啊“src/com/zys/dariyandtank/images.密码登陆.jpg”因为你的图片不是在web-inf下面所以你要引用绝对路径。如果在web-inf下面则直接使用/images.密码登陆.jpg就可以了追问那应该改为什么样的呢?求赐教!
参考技术B 把图片也打到jar包中就可以了。追问怎么打到包里去啊?我用eclipse自动export出来的jar里面没有图片,要怎么搞?
追答export,时有选 项啊,打包时包含那些文件。
参考技术C 你没打成jar包之前能找到这个图片,能显示吗?不过打成jar包的话,应该会有啊,和图片路径无关啊。
是不是你的工具有问题、。换个打jar包的方法吧。追问
我是用eclipse来export的,在eclipse下run能正常显示
追答java下的?
那你看看,把图片给塞到jar包里吧。
我都是用winrar打jar包的!追问
什么叫做“把图片按照原来的结构放进去”?
追答这个是我的jar包结构,我的图标全在icon里面,你看下你的jar是否也把图片打包到jar中,没有的话,添加的里面即可,我只能给你解释到这里了!
这个截图是我的jar包,用winrar打开的截图!
ImageIcon 被压扁的颤动
【中文标题】ImageIcon 被压扁的颤动【英文标题】:ImageIcon squished flutter 【发布时间】:2021-06-24 11:08:29 【问题描述】:我正在构建一个颤振的网络应用程序,我需要做一些看起来像这样的东西:,所以为此我使用了一行。我就是这样做的:
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Container(
height: height / 25,
width: width / 18,
decoration: BoxDecoration(
border:
Border.all(width: 2, color: CustomColours.lightBlue),
borderRadius: BorderRadius.all(Radius.circular(10))),
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text('1000 '),
ImageIcon(
AssetImage(
'lib/assets/fonts/icons/Group 1.png',
),
color: Colors.white,
)
],
),
),
Container(
height: height / 25,
child: FittedBox(
fit: BoxFit.fitHeight,
child: IconButton(
icon: Icon(
Icons.add_circle_outline,
color: CustomColours.lightBlue,
),
onPressed: ()
print('add');
),
),
),
],
),
但是,结果是这样的,图标无法正常工作: 这是我使用的图标:(它是 50*50 像素)。
我能做些什么来解决这个问题?非常感谢!
【问题讨论】:
【参考方案1】:您可以将自定义图标扭曲到 FittedBox
小部件并将其尺寸设置为 Container
并将其包装到 FittedBox
父级以实现此场景。因为 FittedBox 从其父小部件中获取 constraints
。我没有你的自定义图标。所以,我用框架图标来表示它。
return Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Container(
height: 50,
width: 100,
decoration: BoxDecoration(
border: Border.all(width: 2, color: Colors.lightBlue),
borderRadius: BorderRadius.all(Radius.circular(10))),
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text(
'1000 ',
style: TextStyle(fontSize: 18),
),
Container(
width: 30,
height: 30,
child: FittedBox(
child: Icon(
Icons.adjust_sharp,
color: Colors.black,
),
),
)
],
),
),
FittedBox(
fit: BoxFit.fitHeight,
child: IconButton(
icon: Icon(
Icons.add_circle_outline,
color: Colors.lightBlue,
),
onPressed: ()
print('add');
),
),
],
);
【讨论】:
以上是关于java程序,new ImageIcon(getClass().getResource("/images/密码登陆.jpg")),在导出jar后,jar包里面没有的主要内容,如果未能解决你的问题,请参考以下文章
使用 ImageIcon 磁贴在 JPanel 上进行主动渲染? #Java