2016-09-22 57 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