Java - ImageIcon不会显示图像

Shr*_*ers 0 java

searchIcon = new ImageIcon( "searchIcon.png" );

searchIconLabel = new JLabel();
searchIconLabel.setIcon(searchIcon);

....

searchHorizontalPanel.add( searchIconLabel );
Run Code Online (Sandbox Code Playgroud)

我正在尝试加载图标,但它不会显示.jpanel在boxlayout内.我不知道这是否会让事情变得混乱.这很奇怪,因为我可以添加除图标图像之外的其他任何东西.我浏览了调试器,searchIcon显示宽度和高度为-1.这是否意味着图像没有被加载?

obj*_*cts 9

您的映像文件需要与运行应用程序时位于同一目录中.

如果它实际上与进行调用的类在同一目录中,那么您可以使用:

searchIcon = new ImageIcon( getClass().getResource("searchIcon.png") );
Run Code Online (Sandbox Code Playgroud)

如果它在某个任意位置,那么您将需要指定完整路径.