将图像添加到面板以进行显示

问题描述 投票:0回答:1

下面的我的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();
}}
java swing jpanel jlabel imageicon
1个回答
0
投票

第一件事是您遇到了编译错误。创建new实例时,省略了JLabel。您可能还需要在路径名前添加驱动器号。当我用自己的图像修复这些问题时,它就可以工作。

JLabel myButton1 = JLabel(new ImageIcon("c:/Users/johnzalubski/Desktop/j/gg.jpg"));

这是一个小费。

就在您进行frame.setVisible(true);之前,请执行以下操作:

frame.setLocationRelativeTo(null);

它将在屏幕上居中。

© www.soinside.com 2019 - 2024. All rights reserved.