JFrame 找不到主类

Posted

技术标签:

【中文标题】JFrame 找不到主类【英文标题】:Main class not found with JFrame 【发布时间】:2013-12-18 22:43:08 【问题描述】:

我以前也发生过同样的事情,但我无法解决。找不到主目录

import java.awt.Color;
import java.awt.MouseInfo;
import java.awt.Point;
import java.awt.PointerInfo;
import java.awt.Robot;
import javax.swing.JFrame;
import java.awt.AWTException;
import java.awt.HeadlessException;
import java.awt.PopupMenu;

public class Final 
   static PointerInfo pointer;
   static Point point;
   static Robot robot;
   static Color color;
   private static PopupMenu Pan;

   public static void main() 
      JFrame F = new JFrame("RGB");
      F.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      F.getContentPane().add(Pan);
      F.pack();
      F.setSize(300, 300);
      F.setVisible(true);
      F.setSize(300, 300);
      try 
         robot = new Robot();
         while (true) 
            pointer = MouseInfo.getPointerInfo();
            point = pointer.getLocation();
            if (point.getX() == 0 && point.getY() == 0) 
               break;
             else 
               color = robot.getPixelColor((int) point.getX(),
                     (int) point.getY());
               System.out.println("Color at: " + point.getX() + ","
                     + point.getY() + " is: " + color);
            
         
       catch (AWTException | HeadlessException e) 
      
   

【问题讨论】:

【参考方案1】:

您的主要方法签名错误。您需要 String[] args 参数。

换句话说,这个:

public static void main() 

应该是这样的:

public static void main(String[] args) 

顺便说一句:将 Swing 代码与 while (true) 块混合使用是一件危险的事情。它可能在这个玩具程序中工作,所有东西都是在 main 方法中创建的,但是一旦你转向更高级的东西,它总是会锁定你的 GUI。


下一步:你应该几乎永远有一个空的 catch 块。这相当于闭着眼睛驾驶摩托车的编程。至少打印一个堆栈跟踪。


接下来,您需要将大部分代码从主方法中取出,并放入具有非静态方法和字段的适当类中。

【讨论】:

以上是关于JFrame 找不到主类的主要内容,如果未能解决你的问题,请参考以下文章

myeclipse 下执行mian函数报类找不到主函数

错误:找不到主类

Python MainWindow 类找不到属性

控制器类找不到 html 模板

异常IDEA hive代码提示HiveDriver类找不到 或者 Server找不到

Eclipse中HttpServlet类找不到