2017-03-17 103 views
-1

感谢您抽出时间帮助我。“无法从静态上下文中引用非静态变量”错误

我有一个“非静态...”错误的问题,我不知道为什么。下面的代码

public class Klient { 
    public static String output = "test"; 
    public static void main(String[] args) throws Exception { 
     Socket socket = new Socket("localhost", 9898); 
     PrintStream PS = new PrintStream(socket.getOutputStream()); 

     InputStreamReader IR = new InputStreamReader(socket.getInputStream()); 
     BufferedReader BR = new BufferedReader(IR); 

     int i; 
     for (i = 0; i < 3; i++) { 
      output = BR.readLine(); 
      Server2.setTekst(output); 
     } 

(这仅仅是一个部分的代码我知道这结束而意译)

而其他类:

public class Server2 extends JFrame implements Runnable { 
    konsol = new JTextPane(); 
    konsol.setEditable(false); 

    public void setTekst(String tekst) { 
     konsol.setText(tekst); 
    } 

    public void run() { 
     instance = new Server2(); 
     instance.setVisible(true); 
    } 
} 

同样,这也只是一个部分代码。我会很感激你的帮助:)

回答

1

使这种方法为静态

public static void setTekst(String tekst){ 
    konsol.setText(tekst); 
} 
+0

这是正确的@SpringLearner我觉得OP应该做一个很大的变化,我希望你可以让你的帖子一**社区维基**所以我们可以解释更多 –

+0

@SpringLearner我已经试过了,并且遇到了完全相同的错误。这一次是下面的代码给出了错误。 konsol.setText(tekst); – Bassusour

+0

@Bassusour显示您正在输入错误的行号 – SpringLearner

相关问题