java - 创建对象并调用方法时出错,: cannot find symbol错误

标签 java methods compiler-errors instance

我不明白自己在做什么错,我只有一个类,然后创建了一个对象,然后尝试按以下方式调用方法:

  • 117 DBgui gui = new DBguie();
  • 118 gui.mostrarMarco();
  • 错误:找不到符号c:\ users ...第118行

  • 我在主叫这个方法
    import java.sql.*;
    import java.awt.*;
    import java.awt.event.*;
    
    public class DBgui /*extends WindowAdapter implements ActionListener*/{
        Frame f_principal, f_vertabla, f_modificar, f_mostrartablas, f_creartabla, f_borrar;//contenedor
        Button b_aceptar, b_cancelar;//componentes
        Label label_nombre, label_atributo;
        TextField tf_nombre, tf_atributo;
        MenuBar mb; //barra para menus
        Menu m_mostrar, m_crear, m_vertabla, m_modificar, m_borrar;
        MenuItem mi_tablas, mi_tabla, mi_mostrardbs, mi_creardbs;
    
    public DBgui() {
        //MARCOS
        f_principal=new Frame("Interfaz gráfica Base de datos");
        f_creartabla=new Frame("Crear Tabla");
        f_vertabla=new Frame("Ver Tabla");
        f_modificar=new Frame("Modificar Registro");
        f_borrar=new Frame("Borrar Registro");
    
        //BOTONES
        b_aceptar=new Button("Aceptar");
        b_cancelar=new Button("Cancelar");
    
        //ETIQUETAS
        label_nombre=new Label("Nombre");
        label_atributo=new Label("Atributos");
    
        //CAMPO DE TEXTO
        tf_nombre=new TextField();
        tf_atributo=new TextField();
    
        //MENU
        mb=new MenuBar();
        m_mostrar=new Menu("Mostrar");
        m_crear=new Menu("Crear");
        m_vertabla=new Menu("Ver Tabla");
        m_modificar=new Menu("Modificar");
        m_borrar=new Menu("Borrar");
    
        mi_tablas=new MenuItem("Mostrar Tablas");
        mi_tabla=new MenuItem("Crear Tabla");
        mi_creardbs=new MenuItem("Crear Base de datos");
        mi_mostrardbs=new MenuItem("Mostrar base de datos");
    }
    
    public void mostarMarco(){
        f_principal.setSize(800,600);
    
        //SE CONSTRUYE EL MENU
        f_principal.setMenuBar(mb);
        mb.add(m_mostrar);
        mb.add(m_crear);
        mb.add(m_vertabla);
        mb.add(m_modificar);
        mb.add(m_borrar);
    
        m_mostrar.add(mi_mostrardbs);
        m_mostrar.add(mi_tablas);
        m_crear.add(mi_creardbs);
        m_crear.add(mi_tabla);
        f_principal.setVisible(true);
    
        //OREJAS
    
    }
    
    public static Connection database(String database, String username, String password) {
    
    Connection conn;
    conn=null;
    String url = "jdbc:mysql://localhost:3306/" + database;
    
    //LOAD DRIVER
    try {
        Class.forName("com.mysql.jdbc.Driver");
    } 
    catch (ClassNotFoundException e){
        System.err.println("Could not load database driver!");
    }
    
    
    //CONNECT TO DATABASE
    try {
        conn = DriverManager.getConnection(url, username, password);
        return conn;
    } catch (SQLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    return null;            
    }
    
    public static void mostrarTablas(Connection db) throws Exception{
        Statement stmt=db.createStatement();
        String sqlshowtables = "SHOW TABLES";
        ResultSet sst_ResultSet = stmt.executeQuery(sqlshowtables);
        while (sst_ResultSet.next()) {
          System.out.println(sst_ResultSet.getString(1));
        }
        db.close();
    }
    
    public static void main(String[] args) throws Exception{
        Connection db;
        db=database("testdb","root","chino130284");
        mostrarTablas(db);
        DBgui gui=new DBgui();
        gui.mostrarMarco();
    
    }
    
    }
    

    这真的很愚蠢,我拼错了,我很尴尬

    最佳答案

    您的通话中有一个额外的“r”。 'mostrar'vs'mostar'。

    获取一个不错的IDE,以便它将为您找到这些问题。

    (编辑:这有点突然,我深表歉意。严重的是,尽管现代IDE比昨天的简单文本编辑器具有更多功能。我将您的代码粘贴到我的IDE中-谢谢您的完整示例-并使用了自动补全功能可以找到正确的方法名称。它快速简便,坦率地说使我的编码效率提高了三到五倍。)

       public static void main( String[] args )
               throws Exception
       {
          Connection db;
          db = database( "testdb", "root", "chino130284" );
          mostrarTablas( db );
          DBgui gui = new DBgui();
          gui.mostrarMarco();  // <-- extra 'r'
          gui.mostarMarco();
    
       }
    

    关于java - 创建对象并调用方法时出错,: cannot find symbol错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33815269/

    相关文章:

    python - 使用实例属性中的关键字的方法

    javascript - 在javascript中的另一个方法中调用方法?

    java - 为什么 'headlines.add(xpp.nextText());' 给我一个错误?

    c++ - 错误 c3867,不确定我需要做什么来修复

    c# - 为什么在C#中创建列表会导致此错误?

    android - 建立Android ionic 项目时发生错误

    java - 无法使用 Spring 向 RabbitMQ 发送消息

    java - 如何使用zk hbox数组?

    java - 声明与。堵塞

    java - 如何在 Java 中检测 EOF?