为什么会出现“非静态变量和静态上下文”错误?

副议长

这段代码:

package agendaweb;

 import javax.swing.*;
 import java.awt.*;
 import java.awt.event.*;
 import java.io.*;
 import java.sql.*;
 import java.util.*;

public class AgendaWeb {


public class Agenda extends JFrame implements ActionListener{

   //Swing
   private JMenuBar barra;
   private JMenu menu1;
   private JMenuItem mi1, mi2, mi3;
   private JTextField camponuevonombre, camponuevotelefono, campobuscarnombre;
   private JLabel etiquetanuevonombre, etiquetanuevotelefono, imprimenombre, imprimetelefono, nombreprograma, nombreautor, numeroversion, dibusca;
   private JButton boton, botonnuevo, botonbusca;
   //Archivo
   //File archivo = new ("C://pruebas//exportacion.txt");
   Formatter nuevoarchivo;
   Scanner x;

   //Metodo constructor
   public Agenda(){
       setLayout(null);

       nombreprograma = new JLabel ("Agenda Telefónica");
       nombreprograma.setBounds(150,30,180,30);
       add(nombreprograma);

       nombreautor = new JLabel ("Fulanito Mengano Exposito");
       nombreautor.setBounds(150,60,180,30);
       add(nombreautor);

       numeroversion = new JLabel ("Version 0.1");
       numeroversion.setBounds(150,90,180,30);
       add(numeroversion);
   //Menu

       barra = new JMenuBar();
       setJMenuBar(barra);
       menu1 = new JMenu("Archivo");
       barra.add(menu1);
       mi1 = new JMenuItem("Nuevo");
       mi1.addActionListener(this);
       menu1.add(mi1);
       mi2 = new JMenuItem("Nuevo");
       mi2.addActionListener(this);
       menu1.add(mi2);
       mi3 = new JMenuItem("Nuevo");
       mi3.addActionListener(this);
       menu1.add(mi3);


   }

   public void actionPerformed(ActionEvent e){
       Container f=this.getContentPane();
       if(e.getSource()==mi1){
           nombreprograma.setVisible(false);
           nombreautor.setVisible(false);
           numeroversion.setVisible(false);

           //Formulario

           etiquetanuevonombre = new JLabel("Nuevo Nombre");
           etiquetanuevonombre.setBounds(0,0,180,30);
           add(etiquetanuevonombre);
           etiquetanuevonombre.setVisible(true);

           camponuevonombre = new JLabel("Nuevo Nombre");
           camponuevonombre.setBounds(200,0,180,30);
           add(camponuevonombre);
           camponuevonombre.setVisible(true);

           etiquetanuevotelefono = new JLabel("Nuevo Nombre");
           etiquetanuevotelefono.setBounds(0,0,180,30);
           add(etiquetanuevotelefono);
           etiquetanuevotelefono.setVisible(true);

           camponuevotelefono = new JLabel("Nuevo Nombre");
           camponuevotelefono.setBounds(200,50,180,30);
           add(camponuevotelefono);
           camponuevotelefono.setVisible(true);

           botonnuevo = new JButton("Crear");
           botonnuevo.setBounds(200,100,180,30);
           add(botonnuevo);
           botonnuevo.addActionListener(this);
           botonnuevo.setVisible(true);

       } 
       if(e.getSource()==mi2){


       } 
       if(e.getSource()==mi3){
          System.exit(0);

       } 

       if(e.getSource()==botonnuevo){
          try{
              Class.forName("com.mysql.jdbc.Driver");
              Connection con = DriveManager.getConnection("");
              Statement
              estado.executeUpdate("INSERT INTO agenda VALUES ()");
          } catch(SQLException ex){
              System.out.println("Error de MyQSL");

          }

       } 

   }
  }

public static void main(String[] args) {

    Agenda ventana = new Agenda();
    ventana.setBounds(10,20,450,250);
    ventana.setVisible(true);
}

}

显示此错误:

线程“主”中的异常java.lang.RuntimeException:无法编译的源代码-非静态变量,不能从议程Web.AgendaWeb.main(AgendaWeb.java:125)的静态上下文中引用该非静态变量

为什么会发生这种情况以及如何解决?

用户名

问题是Agenda当您的main方法是静态方法时,您的类未声明为静态尝试使您的Agenda类静态。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

创建对象时,“不能从静态上下文引用的非静态变量”

为什么会出现“无法从静态上下文引用的非静态变量”?

“不能从静态上下文中引用的非静态变量”?

java:不能从静态上下文中引用非静态变量错误

出现错误:无法从静态上下文中引用非静态方法'getResources()'

java:非静态变量,不能从静态上下文中引用

Rectangle.java:35:错误:非静态变量,不能从静态上下文中引用

使用.setText在jTextArea上打印将返回错误非静态变量,无法从静态上下文中引用

错误:无法从Java的静态上下文中引用非静态变量扫描

无法从静态上下文Java引用非静态变量

非静态变量s不能从静态上下文中引用

为什么在静态上下文中使用非静态成员不会产生错误?

从静态上下文引用非静态变量

“无法从静态上下文引用非静态方法”错误

非静态变量,不能从静态上下文中引用

Java设计人员为何在静态上下文中限制使用非静态变量?

非静态变量不能从静态上下文Java中引用

无法从静态上下文引用Java JTextField和非静态变量

无法从静态上下文引用非静态变量文件路径

Java语言| 错误:无法从静态上下文引用非静态变量扫描

非静态变量,无法在实例化新对象时从静态上下文问题中引用

从静态上下文引用非静态变量

活动继承上下文中静态变量的问题

不能从静态上下文中引用非静态变量?

不能从静态上下文中引用非静态变量 [JAVA]

为什么我不能在这里创建抽象类的对象并且我得到了非静态变量的错误,这不能从静态上下文中引用

错误:无法从静态上下文中引用非静态变量 super >> 但我使用了 static 关键字

Java Blackjack 程序创建错误:不能从静态上下文中引用非静态变量

非静态变量 this 不能从静态上下文中引用 Dormitory dormitory = new Dormitory();