我试图创建一个JButton,因为我想在其中插入一个图像。所以我创建了这个代码,它没有显示语法错误但是当我尝试执行此异常时出现:
有人可以告诉我如何将这个图像插入到JButton中吗?这是我的代码:
import java.awt.*;
import java.awt.event.*;
import javax.swing.event.*;
import javax.swing.*;
import java.util.Random;
public class Background extends JFrame {
private Random ran;
private int value;
private JButton b;
private JButton c;
public Background() {
super("ttile");
ran = new Random();
value = nextValue();
setLayout(new FlowLayout());
b = new JButton("ROLL THE DICES");
b.setForeground(Color.WHITE); //ndryshon ngjyren e shkrimit
b.setBackground(Color.YELLOW);
// b.setBounds(100, 100, 20, 70);
add(b, BorderLayout.SOUTH);
Icon e = new ImageIcon(getClass().getResource("x.png"));
c = new JButton("hey", e);
add(c);
thehandler hand = new thehandler(); //konstruktori i handler merr nje instance te Background
b.addActionListener(hand);
c.addActionListener(hand);
}
private class thehandler implements ActionListener {
public void actionPerformed(ActionEvent event) {
}
}
public static void main(String[] args) {
Background d = new Background();
d.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
d.getContentPane().setBackground(Color.GREEN);
d.setSize(3000, 3000);
d.setVisible(true);
}
}
答案 0 :(得分:0)
stacktrace将我们指向在代码中实例化ImageIcon的地方。
Icon e=new ImageIcon(getClass().getResource("x.png"));
可以通过正确寻址正在加载的资源来修复它。如果x.png驻留在资源文件夹中,这将解决问题。
Icon e=new ImageIcon(getClass().getResource("/x.png"));
答案 1 :(得分:0)
一定要试试这个
BufferedImage bim=null;
try {
bim=ImageIO.read(new File("c:/.../x.png"));
}
catch (Exception ex) { ex.printStackTrace(); }
Icon e=new ImageIcon(bim);
使用import javax.imageio。*;
在您的导入
中