我几天来一直在研究swing
开发gui应用程序。
以下代码旨在使用退出按钮(包括图像“exit.png”)创建工具栏。问题是我无法看到图片,但工具栏会显示出来。 工具栏使用java中的 borderlayout 管理器定位NORTH
。
JMenuBar menubar = new JMenuBar();
JMenu file = new JMenu("File");
menubar.add(file);
setJMenuBar(menubar);
JToolBar toolbar = new JToolBar();
toolbar.setFloatable(false);
ImageIcon exit = new ImageIcon("exit.png");
JButton bexit = new JButton(exit);
bexit.setBorder(new EmptyBorder(0, 0, 0, 0));
toolbar.add(bexit);
//Default layout manager for JFrame is BorderLayout Manager
add(toolbar, BorderLayout.NORTH);
代码写在类构造函数中,其中类扩展了JFrame
swing类。
请注意我已导入所需的课程。也没有编译错误。图像保存在创建.class的目录中。显示gui的其他元素没有错误。
请帮我确定问题所在。提前谢谢。
答案 0 :(得分:5)
首先创建你的ImageIcon。
ImageIcon myIcon = createImageIcon("exit.png", "");
在Oracle网站上找到的createImageIcon()方法的代码:
private ImageIcon createImageIcon(String path, String description) {
URL imgURL = getClass().getResource(path);
if (imgURL != null) {
return new ImageIcon(imgURL, description);
} else {
System.err.println("Couldn't find file: " + path);
return null;
}
}
然后设置按钮的图标:
bexit.setIcon(myIcon);