如何图标设置的JFrame(How to set Icon to JFrame)

2019-07-28 06:25发布

我试过这种方式,但它没有改变?

ImageIcon icon = new ImageIcon("C:\\Documents and Settings\\Desktop\\favicon(1).ico");
frame.setIconImage(icon.getImage());

Answer 1:

最好使用.png文件; .ICO是Windows专用。 而且最好不要使用文件,而是一个类资源(可以在应用程序的罐子包装)。

URL iconURL = getClass().getResource("/some/package/favicon.png");
// iconURL is null when not found
ImageIcon icon = new ImageIcon(iconURL);
frame.setIconImage(icon.getImage());

虽然你甚至可能会想到用setIconImages了多种尺寸的图标。



Answer 2:

尝试把你的图片在一个单独的文件夹src目录之外。 然后,使用ImageIO的加载图像。 它应该是这样的:

frame.setIconImage(ImageIO.read(new File("res/icon.png")));


Answer 3:

最后,我发现在设定的JFrame图标的主要问题。 这里是我的代码。 它类似于其他代码,但这里有几件事情要介意游戏。

    this.setIconImage(new ImageIcon(getClass().getResource("Icon.png")).getImage());

1)将这个代码的JFrame的windowOpened事件

2)在主文件夹将图片,所有的表单和java文件被创建如

src\ myproject\ myFrame.form
src\ myproject\ myFrame.java
src\ myproject\ OtherFrame.form
src\ myproject\ OtherFrame.java
src\ myproject\ Icon.png

3)而且最重要的是,文件的名称是区分大小写是的icon.png不会工作,但的icon.png。

这样一来你的图标甚至会后,终于构建您的项目在那里。



Answer 4:

这对我的作品。

    frame.setIconImage(Toolkit.getDefaultToolkit().getImage(".\\res\\icon.png"));

对于出口的jar文件,你需要配置构建路径,包括res文件夹,并使用下面的代码。

    URL url = Main.class.getResource("/icon.png");
    frame.setIconImage(Toolkit.getDefaultToolkit().getImage(url));


Answer 5:

下面是我用设置的图标代码JFrame

import javax.imageio.ImageIO;
import java.io.File;
import java.io.IOException;

  try{ 
    setIconImage(ImageIO.read(new File("res/images/icons/appIcon_Black.png")));
  } 
  catch (IOException e){
    e.printStackTrace();
  }


Answer 6:

延亨默可以试试下面的方法,

myFrame.setIconImage(Toolkit.getDefaultToolkit().getImage("Icon.png"));


Answer 7:

在代码中的这几行代码只需复制和替换“imgUrl的”使用Image(您想设置为jframe图标)的位置。

JFrame.setDefaultLookAndFeelDecorated(true);

//Create the frame.
JFrame frame = new JFrame("A window");

//Set the frame icon to an image loaded from a file.
frame.setIconImage(new ImageIcon(imgURL).getImage());


Answer 8:

我使用下面的实用工具类来设置图标JFrameJDialog实例:

import java.awt.*;
import java.io.IOException;
import java.io.InputStream;
import java.net.URISyntaxException;
import java.util.Scanner;

public class WindowUtilities
{
    public static void setIconImage(Window window)
    {
        window.setIconImage(Toolkit.getDefaultToolkit().getImage(WindowUtilities.class.getResource("/Icon.jpg")));
    }

    public static String resourceToString(String filePath) throws IOException, URISyntaxException
    {
        InputStream inputStream = WindowUtilities.class.getClassLoader().getResourceAsStream(filePath);
        return toString(inputStream);
    }

    // http://stackoverflow.com/a/5445161/3764804
    private static String toString(InputStream inputStream)
    {
        try (Scanner scanner = new Scanner(inputStream, "UTF-8").useDelimiter("\\A"))
        {
            return scanner.hasNext() ? scanner.next() : "";
        }
    }
}

因此,使用这成为与调用一样简单

WindowUtilities.setIconImage(this);

里面的某个地方你的类延伸JFrame

Icon.jpg必须位于myproject\src\main\resources使用时Maven的实例。



Answer 9:

public FaceDetection() {
    initComponents();
    //Adding Frame Icon
    try {
        this.setIconImage(ImageIO.read(new File("WASP.png")));
    } catch (IOException ex) {
        Logger.getLogger(FaceDetection.class.getName()).log(Level.SEVERE, null, ex);
    }
}'

这对我的作品。



Answer 10:

frame.setIconImage(new ImageIcon(URL).getImage());

/ *帧的JFrame的setIcon方法,设置在相框新的ImageIcon一个新的图标使类的一个新实例(所以你可以从你给的网址一个新的图标),在最后的getImage返回你需要它的图标是一个“快”的方法,使一个图标,对我来说是有帮助的,因为它是一个代码行* /



文章来源: How to set Icon to JFrame