Java:自定义图标问题

Java:自定义图标问题,java,swing,class,jframe,Java,Swing,Class,Jframe,我正试图在我的JFrame上获得一个自定义图标。我的项目文件夹中有图标图像,但似乎无法使其正常工作 我还尝试了setIconImage(newimageicon(imgURL.getImage())

我正试图在我的
JFrame
上获得一个自定义图标。我的项目文件夹中有图标图像,但似乎无法使其正常工作

我还尝试了
setIconImage(newimageicon(imgURL.getImage())
另外,自定义图标的典型尺寸是什么

import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;

/**
* @author Curtis
*/
public class Favorites extends JFrame implements ActionListener
{
String[] styles = {"Big Band", "Country", "Pop", "Rock", "Rap"};
Font boxFont = new Font("Times New Roman", Font.BOLD, 14);
JLabel instruct = new JLabel("What is your favorite type of music?");
JComboBox music = new JComboBox(styles);
JTextField result = new JTextField(20);
final int WIDTH = 270;
final int HEIGHT = 125;

public Favorites()
{
    super("Favorite Music");
    setSize(WIDTH, HEIGHT);
    setLayout(new FlowLayout());
    instruct.setFont(boxFont);
    JFrame.setDefaultLookAndFeelDecorated(true);
    add(instruct);
    add(music);
    add(result);
    setVisible(true);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    music.addActionListener(this);
    Image icon = Toolkit.getDefaultToolkit().getImage("icnnote.jpg");
    setIconImage(icon);
}

@Override
public void actionPerformed(ActionEvent e) 
{
    throw new UnsupportedOperationException("Not supported yet.");
}

}

您需要将
setIconImage()
移动到
setVisible()
上方。它显示调用
setVisible()
时的帧

更新:您还需要将图像更改为


getToolkit().getImage(getClass().getResource(“iccnote.jpg”))
您需要将
setIconImage()
移动到
setVisible()
上方。它显示调用
setVisible()
时的帧

更新:您还需要将图像更改为


getToolkit().getImage(getClass().getResource(“iccnote.jpg”))

您的“icnnote.jpg”文件是否与类文件位于同一目录中?我更改了代码的顺序,但它似乎仍然不起作用。Image icon=Toolkit.getDefaultToolkit().getImage(“icnnet.jpg”);setIconImage(图标);setVisible(真);是的,它作为my.java文件在文件夹中。如果icnnote.jpg位于单独的文件夹中,请确保提供完整路径。从
“iccnote.jpg”
更改为
getClass()。getResource(“iccnote.png”)
是您的“icnnote.jpg”文件与类文件位于同一目录中?我更改了代码的顺序,但它似乎仍然不起作用。Image icon=Toolkit.getDefaultToolkit().getImage(“icnnet.jpg”);setIconImage(图标);setVisible(真);是的,它作为my.java文件在文件夹中。如果icnnote.jpg位于单独的文件夹中,请确保提供完整路径。从
“iccnote.jpg”
更改为
getClass().getResource(“iccnote.png”)