2016-09-22 19 views
-1

line this.add(p)に何か問題があります。私は「静的コンテキストでこれを使うことはできません」と言っているエラーを受け取ります - はい、これは非常に単純な質問ですが、誰かがその行がなぜ動作しないのか、静的モードであるのか説明できますか?新しいコーダは理解できることJavaの静的モード

import java.awt.Color; 
    import java.awt.event.ActionEvent; 
    import java.awt.event.ActionListener; 
    import javax.swing.JButton; 
    import javax.swing.JFrame; 
    import javax.swing.JPanel; 
    import javax.swing.JTextField; 
    import javax.swing.JLabel; 
    import javax.swing.JButton; 
    import javax.swing.JOptionPane; 
    import javax.swing.JPanel; 
    public class LeapYear { 

    public static void main(String[] args) { 
     int nmbr; 
     nmbr = Integer.valueOf(JOptionPane.showInputDialog("enter any year")); 

     { 

      } 
      if (nmbr>0 && 4%nmbr==0) { 

       JPanel panel = new JPanel(); 
       panel.add(new JLabel("Name")); 
       panel.add(new JTextField(20)); 

       JButton start = new JButton(); 
       start.add(new JButton("Start")); 
       panel.setBackground(Color.YELLOW); 


       this.add(panel); 
       panel.setOpaque(false); 
     } 

     if ((nmbr % 5) == 0) { 
      System.out.print(nmbr + " is not multiple of 5."); 
     } 


    } 
    } 

(そして、はい、私は私はちょうど私がインポートできるか見てぶらぶらして、多くのスイングに輸入している知っています。) 答えをいただければ幸いです!ありがとう

+0

は、完全に別のものにあなたの質問を変更しないでください。新しい質問/問題がある場合は、***新しい***投稿を作成してください。 – Tom

答えて

2

キーワードは、クラスのインスタンスを指します。静的コンテキストではインスタンスがないため、参照できません。

チェックこのリンクは「この」キーワードについて詳しく知ることができます。それは、すでに最初の問題に対処する答えを持っている場合What is the meaning of "this" in Java?

+0

これを行うにはmainPanelが必要です。 mainPanel.add(newPanel1)のようなもの。 – Rishi