下面的我的Java代码具有2个按钮和一个ImageIcon。我要显示图像。我收到错误Listener.java:32:错误:找不到符号图像图标。因此,无论如何,我正在以尝试为图像编码解决方案的方式编写此Java代码。这似乎很简单。
import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class Listener extends JFrame implements ActionListener{
private static final long serialVersionUID = 1L;
public int act = 0;
private JLabel label1,label2;
public Listener(){
setTitle("Question");
JPanel Panel1 = new JPanel();
Panel1.setLayout(new BorderLayout());
JPanel Panel2 = new JPanel();
Panel2.setLayout(new GridLayout(4,1));
JLabel myButton1 = JLabel(new ImageIcon("/Users/johnzalubski/Desktop/j/gg.jpg"));
JButton myButton2 = new JButton("2:Tuesday");
JButton myButton3 = new JButton("3:Wednesday");
label1= new JLabel("What day is it today?");
label2= new JLabel("Select the answer");
myButton2.addActionListener(this);
myButton3.addActionListener(this);
Panel2.add(myButton1);
Panel2.add(myButton2);
Panel2.add(myButton3);
Panel1.add(Panel2,BorderLayout.CENTER);
Panel1.add(label1,BorderLayout.NORTH);
Panel1.add(label2,BorderLayout.SOUTH);
add(Panel1);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(320, 240);
setVisible(true);
}
public void actionPerformed(ActionEvent e) {
if(e.getActionCommand() != "4:Thursday")
label2.setText("false");
else
label2.setText("true");
}
public static void main(String[] args) {
new Listener();
}}
第一件事是您遇到了编译错误。创建new
实例时,省略了JLabel
。您可能还需要在路径名前添加驱动器号。当我用自己的图像修复这些问题时,它就可以工作。
JLabel myButton1 = JLabel(new ImageIcon("c:/Users/johnzalubski/Desktop/j/gg.jpg"));
这是一个小费。
就在您进行frame.setVisible(true);
之前,请执行以下操作:
frame.setLocationRelativeTo(null);
它将在屏幕上居中。