Java 向JButtons添加图像
我想将图像添加到我的JButtons。我曾尝试将滚动图标命令添加到我的一个按钮中,但我一直得到一个异常,即使eclipse没有说有任何错误。我已将图像保存在workspace/projectname/src中,类文件位于其中,它们被称为a和b,它们是JPEG图像Java 向JButtons添加图像,java,swing,jframe,jbutton,imageicon,Java,Swing,Jframe,Jbutton,Imageicon,我想将图像添加到我的JButtons。我曾尝试将滚动图标命令添加到我的一个按钮中,但我一直得到一个异常,即使eclipse没有说有任何错误。我已将图像保存在workspace/projectname/src中,类文件位于其中,它们被称为a和b,它们是JPEG图像 import java.awt.*; import java.awt.event.*; import javax.swing.*; public class button extends JFrame { priva
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class button extends JFrame {
private static final long serialVersionUID = 1L;
private JButton hi;
private JButton custom;
public button() {
super("The title");
setLayout(new FlowLayout());
hi = new JButton("Hi button");
Icon a = new ImageIcon(getClass().getResource("a.JPEG"));
Icon b = new ImageIcon(getClass().getResource("b.JPEG"));
custom = new JButton("custom", a);
custom.setRolloverIcon(b);
add(custom);
add(hi);
HandlerClass handler = new HandlerClass();
hi.addActionListener(handler);
custom.addActionListener(handler);
}
private class HandlerClass implements ActionListener {
public void actionPerformed(ActionEvent event) {
JOptionPane.showMessageDialog(null, String.format("%s", event.getActionCommand()));
}
}
}
import javax.swing.JFrame;
public class buttonm {
public static void main(String[] args) {
button hello = new button();
hello.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
hello.setSize(350,100);
hello.setVisible(true);
}
}
按钮类
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Button extends JFrame {
private JButton button;
private JPanel p;
public Button() {
super("The title");
p = new JPanel(new BorderLayout());
button = new JButton();
ImageIcon icon = new ImageIcon(getClass().getResource("button2.jpg"));
button.setIcon(icon);
button.setDisabledIcon(icon);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setSize(400, 400);
p.add(button);
add(p);
}
}
你的主课
public static void main(String[] args) {
Button btn = new Button();
btn.setVisible(true);
}
这是猜谜游戏吗。。“猜猜我的例外是什么?”我必须同意@peeskillet的说法。如果你能给我们更多的信息来帮助你,也许我们可以帮助你。请阅读和部分,了解我们需要什么信息。“但是我一直得到一个异常,即使eclipse没有说有任何错误”-您可能还想对异常与编译错误进行一些研究。一般来说,它们彼此无关(除非您得到一个不可编译的源异常),但如果我不得不猜测,我会从无效路径猜测一个NullPointerException。如果您的图像直接位于src的根目录下,并且您的类位于它下面的某个包中,那么您需要在路径的前面放置一个
/
。如果您的映像与java文件位于同一个包中,那么您的路径是正确的,您确实应该发布异常(stacktrace)以获得进一步帮助1)始终复制/粘贴错误或异常输出。2) 另见