这段代码:
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) 的静态上下文中引用
为什么会发生这种情况以及如何解决?