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