Java程序类菜单

时间:2016-05-07 01:13:54

标签: java

我必须在action_performed的另一个类中使用此类的功能。这段代码给了我错误。

public class Menu {

 public void Menu()
 {
     try {
         Image img = ImageIO.read(getClass().getResource("Image1.jpg"));\\to get image
         Image img1 = ImageIO.read(getClass().getResource("Image2.jpg"));
         Image img2 = ImageIO.read(getClass().getResource("Image3.png"));
         Image img3 = ImageIO.read(getClass().getResource("Image4.jpg"));
         Image img4= ImageIO.read(getClass().getResource("Image5.jpg"));
         Image img5= ImageIO.read(getClass().getResource("Image6.jpg"));
         JFrame f1=new JFrame("Menu");
         f1.setSize(400,200);
         f1.setVisible(true);
         JPanel P1=new JPanel();
         P1.setVisible(true);
         JButton b1=new JButton("Creamy Chocolate Cup");  
         b1.setIcon(new ImageIcon(img));
         b1.add(P1);
         b1.setVisible(true);
         P1.add(f1);

     } catch (IOException ex) {


     }







}
}

无法添加更多详细信息,这就是我能说的就告诉我如何尽快解决这个问题。

1 个答案:

答案 0 :(得分:0)

删除该行:

P1.add(f1);

这将为您提供 java.lang.IllegalArgumentException ,因为您正在尝试向容器添加窗口。如果删除该行,它应该有效。

但是,您的代码完全不正确。您正在向JPanel添加JFrame并将JPanel添加到JButton,它应该是相反的方式。

例如,这适用于您:

        public void Menu()
     {

             Image img = ImageIO.read(getClass().getResource("Image1.jpg"));

             JFrame f1=new JFrame("Menu");
             f1.setSize(400,200);

             JPanel P1=new JPanel();
             JButton b1=new JButton("Creamy Chocolate Cup");  
             b1.setIcon(new ImageIcon(img));

             P1.add(b1);
             f1.add(P1);
             f1.setVisible(true);
    }