我尝试查找有关如何更改java中的程序图标的多个教程,但它们似乎都不起作用。我也想知道它是什么样的图像.ico或.png例如它必须是什么尺寸
答案 0 :(得分:4)
我假设您使用的是JFrame
,那么您需要setIconImage(java.awt.Image)
:
File/InputStream/URL x = ...
Image icon = ImageIO.read(x);
frame.setIconImage(icon);
图像文件格式无关紧要,只要ImageIO可以读取它(JPEG,GIF,PNG,TIFF,甚至BMP,如果真的非常必要)。
一个例子:
import java.net.URL;
import javax.imageio.ImageIO;
import javax.swing.JFrame;
public class Main {
public static void main(final String[] args) throws Exception {
JFrame frame = new JFrame("Custom Icon");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300, 200);
// something off the Google Images front page
final URL url = new URL("http://t3.gstatic.com/images?q=tbn:ANd9GcQbcDkaRcrbsYFUcE6Q7n56_LJr-r4mDqYTOTtPKG9J0MzZcV6V");
frame.setIconImage(ImageIO.read(url));
frame.setVisible(true);
}
}
修改:如何获取图标的网址
您应该将图像文件(图标等)与源代码一起放入src
文件夹中的子文件夹中,并将其作为“资源”访问。查看Java Tutorial中的How to use Icons,了解如何将URL
对象获取到资源。
答案 1 :(得分:1)
我认为@Philipp非常清楚,x
必须是File
,InputStream
或URL
,而不是String
你试过了。
现在,您还需要Frame
或JFrame
才能拥有图标!
我认为这是在你的main
方法中。
要创建框架,请尝试
JFrame frame=new JFrame();
frame.setVisible(true);
接着是@ Philipp的代码。
-
它刚刚发生在我身上,您可能意味着操作系统中程序快捷方式的图标。这不是在Java中完成的,而是在您的操作系统中完成的。除非你使用Java Web start