主要方法是静态的。您的p对象不是:它是P类的实例字段。试试这个:
public static void main(String[] args) throw InterruptedException { EventQueue.invokeLater( new Runnable() { public void run() { P p = new P(); p.repaint(); } } );}您应该始终从事件分发线程访问Swing组件,这就是为什么我将它们全部放在EventQueue invokeLater中的原因。



