我不明白我做错了什么,我只有一个类然后我创建了一个对象,我正在尝试调用一个方法如下:
我在主
中调用此方法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();
}
}
这真的很蠢,我拼错了,我真的很尴尬
答案 0 :(得分:0)
你的通话中还有一个额外的'r'。 'mostrar'与'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();
}