0

次の例外が発生する理由を誰か教えてください

Exception in thread "main" java.lang.IllegalArgumentException adding a window to a container :
 java.awt.Container.checkNotAWindow(Unknown Source) 
 java.awt.Container.addImpl(Unknown Source)  
 java.awt.Container.add(Unknown Source)         
 javax.swing.JFrame.addImpl(Unknown Source)
 java.awt.Container.add(Unknown Source)
 clockframe.<init>(clockframe.java:14)
 clockframe.main(clockframe.java:32)

clockpanel.java ファイル内にある私のコードは次のとおりです。私は初心者なので、これを解決する方法がわかりません......

    import java.awt.*;
    import javax.swing.*;

    public class clockframe extends JFrame
    {
      public clockframe()
      {
        super("Clock");
        setLookAndFeel();
        setSize(225, 125);
        FlowLayout flo = new FlowLayout();
        setLayout(flo);
        clockpanel time = new clockpanel();
        add(time);
        setVisible(true);
      }

      private void setLookAndFeel()
      {
         try
         {
             UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
         }
         catch (Exception exc)
         {
             // ignore error
         }
      }

      public static void main(String args[])
      {
          clockframe clock = new clockframe();
      }

}
4

3 に答える 3

2

clockpanelおそらく、などのウィンドウを拡張しますJFrame。おそらく、JPanel代わりに拡張するつもりでした (ただし、新しい にカスタム ペインティングなどの新しい機能を追加しない限り、そうする必要はありませんJPanel)。

于 2013-08-10T15:07:53.593 に答える
0

答えはスタックトレースにあります:

 thread "main" java.lang.IllegalArgumentException adding a window to a container 

に追加windowしようとしていますがcontainer、これは許可されていません。

于 2013-08-10T15:17:28.533 に答える