我无法在我的按钮上显示图标。我已经从书中复制了这段代码,因为我是初学者,正在尝试掌握Java编程。不幸的是,如果没有让这个工作,我无法进步,其他练习基于GUI图像。我相信我已按照确切的步骤操作,希望有人可以提供帮助!
以下是简单的代码:
package Chapter13;
import javax.swing.*;
/** @author Chris */
public class TestButtonIcons extends JFrame
{
public static void main(String[] args)
{
JFrame frame = new TestButtonIcons();
frame.setTitle("ButtonIcons");
frame.setSize(200, 100);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
public TestButtonIcons()
{
ImageIcon usIcon = new ImageIcon("image/usIcon.gif");
ImageIcon caIcon = new ImageIcon("image/caIcon.gif");
ImageIcon ukIcon = new ImageIcon("image/ukIcon.gif");
JButton jbt = new JButton("Click it", usIcon);
jbt.setPressedIcon(caIcon);
jbt.setRolloverIcon(ukIcon);
getContentPane().add(jbt);
}
}
File Hierachy:
正如您所看到的,我已经复制了两次“图像”文件,试图尝试调试它。尽管照片没有全部显示,但所有图像都在“图像”文件夹中。
答案 0 :(得分:2)
当你从netbeans运行时,你需要在源包之外创建图像文件夹,而当你直接执行jar时,你需要将可执行jar文件和图像文件夹放在同一个文件夹或同一个地方
答案 1 :(得分:1)
BookExcercises似乎有点问题;这不是一个正常的项目。 一个普通的NetBeans项目(您可以在Projects选项卡右侧的Files选项卡中看到所有项目):Source Packages下显示了一个 src 目录。构建项目会填充目标目录。现在,构建会将.class文件放在那里并复制您的图像。 运行(项目)将使用目标目录作为类路径运行。 运行文件但是可能无法在目标目录中找到图像。
解决方案取决于BookExcercises项目。您可以为每个练习创建一个新项目。取决于。
答案 2 :(得分:1)
如果您使用命令提示运行程序,则只需将此图像文件夹粘贴到chapter13包文件夹(包含TestButtonIcons.class)旁边。
或者,如果您使用某些IDE,请检查编译内容的位置。再次将图像文件夹粘贴到chapter13包文件夹(包含TestButtonIcons.class)旁边。这将需要按预期运行程序。
此致