如何解决给JLabel添加ImageIcon,测试时不显示Image
首先,我环顾四周,并试图在这里以及通过许多其他资源找到解决方案。如果这最终导致重复,我深表歉意,但我已经尝试了在类似问题中可以找到的所有解决方案。
无论如何,我正在尝试制作一个执行以下操作的简单程序:
- 打开后,显示一个图像和一个按钮。
- 点击按钮后 20 分钟延迟,之后会显示一个新图像并播放声音。
- 再次单击该按钮后,原始图像将再次显示并且计时器重新启动。
冲洗并重复。 其他一切正常,但我无法显示任何图像。我相当确定这不是路径问题,因为我使用的方法与我用于声音的方法相同,该方法正在运行。 (从相对路径生成 URL 的方法。)我还确保 jLabel 是可见的,并且对于两个图像都足够大。我什至将图像转换为 png,因为我阅读了一些涉及与其他图像类型兼容性问题的已解决问题。这是按钮的 ActionListener 的代码。
private void drinkButtonActionPerformed(java.awt.event.ActionEvent evt) {
try{
File waitImg = new File("src//main//res//KapalaChill.png");
String waitImgURL = waitImg.toURI().toURL().toString();
System.out.println(waitImgURL);
imageWindow.setIcon(new ImageIcon(waitImgURL));
imageWindow.setVisible(true);
} catch (Exception e){
System.out.println(e.getMessage());
}
t = new Timer(1200000,new ActionListener (){
@Override
public void actionPerformed(ActionEvent ae){
try {
drinkButton.setEnabled(false);
File sound = new File("src//main//res//YouWin!.wav");
String soundURL = sound.toURI().toURL().toString();
System.out.println(soundURL);
Clip soundClip = AudioSystem.getClip();
soundClip.open(AudioSystem.getAudioInputStream(new URL(soundURL)));
soundClip.start();
File drinkImg = new File("src//main//res//KapalaSipp.png");
String drinkImgURL = drinkImg.toURI().toURL().toString();
System.out.println(drinkImgURL);
imageWindow.setIcon(new ImageIcon(drinkImgURL));
drinkButton.setEnabled(true);
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
});
t.setRepeats(false);
t.start();
}
println 行的打印输出看起来像这样 文件:/C:/Users/bbgam/Documents/NetBeansProjects/drinkAlarmForReal/src/main/res/KapalaChill.png
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。