Gar*_*haw 10 java icons swing jframe imageicon
好的,所以我一直在研究这个安静.我对java很新,但认为这个很容易.我已经尝试了几乎所有已经在这个网站上回答的方式,但仍然没有运气,通常当我看到这里时,我能够找到适合我所寻找的答案.有谁知道如何更改JFrame顶角的Java图标.我非常肯定它不是我的文件路径,因为我的所有图像都在同一个文件夹中并且它们都工作,这是我唯一无法工作的.
这是我的程序主菜单的代码的第一部分,一切正常,除非我尝试添加图标图像.我在下面输入的代码中没有任何内容用于JFrame IconImage,我将其删除,因为它不起作用.因此,如果有人知道如何使用这个代码,我将非常感谢,非常感谢您提前!
public class MainFrame
{
private MyPanel main;
private MyPanel2 create;
private MyPanel3 update;
private MyPanel4 find;
JFrame frame = new JFrame("Main Menu:");
public void displayGUI()
{
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel contentPane = new JPanel();
contentPane.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0));
contentPane.setLayout(new CardLayout());
main = new MyPanel(contentPane, this);
create = new MyPanel2(contentPane);
update = new MyPanel3(contentPane);
find = new MyPanel4(contentPane);
contentPane.add(main, "Main Menu");
contentPane.add(create, "Create Part");
contentPane.add(update, "Update Part");
contentPane.add(find, "Find Part");
frame.setLocation(200, 200);
frame.setSize(700, 580);
frame.setContentPane(contentPane);
frame.setVisible(true);
}
Run Code Online (Sandbox Code Playgroud)
小智 14
我有一个答案给你.首先,确保图像位于文件夹中,而不是包中.接下来,插入以下代码行:
Image image = Toolkit.getDefaultToolkit().getImage(getClass().getResource("path/to/image.png"));
ImageIcon icon = new ImageIcon( );
setIconImage(icon.getImage());
Run Code Online (Sandbox Code Playgroud)
此代码从类路径获取图像,并将其作为图像图标返回,然后设置它.这应该将图像图标添加到应用程序.如果没有,请告诉我.
编辑:在你告诉我那不起作用后,我决定再对它进行一次破解......首先,将你的图像放入一个完全独立的文件夹中.我通常称之为/ res.接下来,将图像放在那里.现在,为了装载我采取了完全不同的路线.我决定使用ImageIO而不是默认加载.要加载图像,请使用以下代码:
try {
frame.setIconImage(ImageIO.read(new File("res/icon.png")));
}
catch (IOException exc) {
exc.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
ImageIO加载图像效果更好.如果这仍然不起作用,那么请告诉我.
如果要将其导出为JAR,则将与您在程序中使用的名称相同的文件夹放在与JAR相同的目录中.