Show .png image in a JFrame?

前端 未结 3 1782
不知归路
不知归路 2021-01-19 00:01

I am a little stuck. Why wont this work? I just get a error saying:

java.lang.NoSuchMethodError: main

Exception in thread "main"

<
3条回答
  •  不思量自难忘°
    2021-01-19 00:08

    main needs to be static, and must have an argument of String[], not String.

    To fix this stick everything in a constructor, such as

    import java.awt.*; 
    import javax.swing.*; 
    
    @SuppressWarnings("serial")
    public class ShowPNG extends JFrame
    {    
      private ShowPNG(String arg){
          if (arg == null ) {
            arg = "C:/Eclipse/workspace/ShowPNG/bin/a.png";
        }      
        JPanel panel = new JPanel(); 
        panel.setSize(500,640);
        panel.setBackground(Color.CYAN); 
        ImageIcon icon = new ImageIcon(arg); 
        JLabel label = new JLabel(); 
        label.setIcon(icon); 
        panel.add(label);
        this.getContentPane().add(panel); 
      }
      public static void main(String[] args) {
          new ShowPNG(args.length == 0 ? null : args[0]).setVisible(true); 
      }
    }
    

提交回复
热议问题