好吧,所以我一直在阅读如何使用ImageIcon将图像添加到JButton,但它似乎仍然不适合我,下面是我的代码,我正在使用Eclipse工作区,并且希望一些帮助下面的代码块是没有进口如何将图像添加到JButton
public class Gui extends JFrame {
//Declaration of JPanels
JPanel Left = new JPanel(null);
JPanel Right = new JPanel(null);
JPanel TopAd = new JPanel(null);
JPanel RightAd = new JPanel(null);
//Decleration For Right JPanel
ImageIcon img = new ImageIcon("buttonicon.bmp");
JButton[] Case = new JButton[26];
public Gui() {
File imageCheck = new File("src/buttonicon.bmp");
if (imageCheck.exists()) {
System.out.println("Image file found!");
for (int i = 0; i < 26; i++) {
Case[i] = new JButton(String.valueOf((i + 1)));
Case[i].setIcon(new ImageIcon("src/buttonicon.bmp"));
}
}
setLayout(null);
add(Left);
add(Right);
add(TopAd);
add(RightAd);
Left.setBounds(10, 20, 220, 685);
Left.setBackground(Color.black);
Right.setBounds(240, 125, 500, 580);
Right.setBackground(Color.BLUE);
TopAd.setBounds(240, 20, 635, 95);
TopAd.setBackground(Color.darkGray);
RightAd.setBounds(750, 125, 125, 580);
RightAd.setBackground(Color.GREEN);
//Initalising Right JPanel
for (int i = 0; i < 26; i++) {
Right.add(Case[i]);
}
Case[0].setBounds(20, 5, 110, 75);
Case[1].setBounds(135, 5, 110, 75);
Case[2].setBounds(250, 5, 110, 75);
Case[3].setBounds(365, 5, 110, 75);
Case[4].setBounds(20, 85, 110, 75);
Case[5].setBounds(135, 85, 110, 75);
Case[6].setBounds(250, 85, 110, 75);
Case[7].setBounds(365, 85, 110, 75);
Case[8].setBounds(20, 165, 110, 75);
Case[9].setBounds(135, 165, 110, 75);
Case[10].setBounds(250, 165, 110, 75);
Case[11].setBounds(365, 165, 110, 75);
Case[12].setBounds(20, 245, 110, 75);
Case[13].setBounds(135, 245, 110, 75);
Case[14].setBounds(250, 245, 110, 75);
Case[15].setBounds(365, 245, 110, 75);
Case[16].setBounds(20, 325, 110, 75);
Case[17].setBounds(135, 325, 110, 75);
Case[18].setBounds(250, 325, 110, 75);
Case[19].setBounds(365, 325, 110, 75);
Case[20].setBounds(20, 405, 110, 75);
Case[21].setBounds(135, 405, 110, 75);
Case[22].setBounds(250, 405, 110, 75);
Case[23].setBounds(365, 405, 110, 75);
Case[24].setBounds(135, 485, 110, 75);
Case[25].setBounds(250, 485, 110, 75);
}
}
我得到的问题是程序
File imageCheck = new File("src/buttonicon.bmp");
if (imageCheck.exists()) {
System.out.println("Image file found!");
for (int i = 0; i < 26; i++) {
Case[i] = new JButton(String.valueOf((i + 1)));
Case[i].setIcon(new ImageIcon("src/buttonicon.bmp"));
}
}
我已经把一个if语句来检查如果F ile存在,它确实存在。没有错误抛出,但按钮仍然作为默认的蓝色,按钮具有与图像相同的分辨率以及如果有任何帮助。
此外,如果有人可以帮助我走出了设置密码和更换用空格选项卡将是非常感激的一个更简单的方法(我喜欢使用制表符代替空格)
您是否知道您正在使用三种不同的路径来获得不同的图标你的代码的地方? – 2014-10-28 12:32:50
是的,我是但图像仍然没有加载我转换为几种类型的图像只是为了检查我已经尝试过PNG和GIF到目前为止 – Piemansam5 2014-10-28 12:36:23