Software Guru Conference & Expo 2014

Ayuda de como debo llamar una clase!!!!!!!!!!!!!!

Hola a todos y gracias por su soporte:alguien me puede ayudar en lo siguiente:

Tengo el siguiente codigo:

public void validateUser(String name, String password) {
if (name.equals("xxxxxxx") && password.equals("xxxx")) {

---------> Aqui quiero llamar una clase llamada MenuPrin.java.....

} else {
tryAgain();
}
}

Me pueden indicar como lo hago...agradezco su ayuda

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de benek

Instanciamiento

Tienes que instanciar tu clase MenuPrin dentro del if...

MenuPrin menuPrin = new MenuPrin();

Y luego ya podrás ocupar los métodos del objeto 'menuPrin':

menuPrin.metodoX();

Saludos.

Imagen de ezamudio

mas info

Esa clase MenuPrin está en el mismo paquete que la clase que contiene el código que pusiste? Si están en distintos paquetes, necesitas poner un import al principio para indicar al compilador dónde está.

Y luego pues si necesitas invocar un método estático de MenuPrin solamente con MenuPrin.metodo() pero si el método no es estático entonces como dice Benek necesitas instanciar MenuPrin y luego invocar el método sobre tu nueva instancia... a menos que necesites invocar el método de una instancia de MenuPrin que ya exista, en cuyo caso el objeto que tiene tu código necesita tener una referencia a dicha instancia de MenuPrin.

Agradecimiento

Esto va para ezamudio y benek, son ustedes muy amables al haberme ayudado, con personas como ustedes el mundo podria ser mejor, gracias por su ayuda

Instanciamiento

Este es mi codigo: Si la Clave y usuario son Ok...
entonces pase a menu principal, en este caso MenuPrin.java que esta dentro del mismo paquete

public void validateUser(String name, String password) {
if (name.equals("xxxx") && password.equals("xxxxxxx")) {
/**showMsg();*/
MenuPrin menuPrin = new MenuPrin();
} else {
tryAgain();
}
}

Pero no logro que me aparezca MenuPrin.java, agradezco su ayuda

Imagen de jpkernel

Instanciamiento

Hola,

Pues soy nuevo en la comunidad pero ya tengo unos 4 años trabajando con Java, asi que tratare de ayudarte, pero antes de eso quiero tener claras unas cosas, ¿que es lo que pretendes que haga tu programa cuando el usuario y el password sean correctos? ¿tu clase MenuPrin que es lo que hace? asi como muestras tu codigo lo unico que haces es un instancia de clase, es decir cuando haces una instancia lo que haces es generar simplemente un objeto de tu clase, como tal el codigo de tu clase no se va autoejecutar (al menos que tengas el constructor sobrecargado) si lo que deseas es ejecutar un metodo de esa clase es como lo describe benek en su respuesta, creas la instancia como ya lo hiciste y posteriomente llamas al metodo que deseas ejecutar de esa clase.

Imagen de ezamudio

"X".equals(var)

Te recomiendo además que cambies tu código para que tengas "xxxx".equals(name) && ("****").equals(password) para evitar NPE cuando por alguna razón te pasen null en usuario y/o password.

Y sin saber qué hace tu MenuPrin es difícil ayudarte. Lo que haces en este código que muestras es instanciar MenuPrin, nada más. Pero el constructor de MenuPrin podría tener código para mostrar algo (aunque eso no es nada recomendable, es mala práctica). Si quieres mostrar algo entonces en MenuPrin debería haber un método que muestre una ventana o lo que sea; desde tu código después de instanciar MenuPrin debes invocar ese método.

Visual Midlet vs Midlet

Antes de continuar con el asunto solo quiero saber algo: Estoy haciendo una aplicacion para java ME en Netbeans, quiero saber cual (es) son las diferencias entre usar Visual Midlet y Midlet...diferencias en cuanto a funcionalidad, manejo, etc...

Bueno gracias por su ayuda

Imagen de beto.bateria

Visual Midlet vs Midlet

Con el midlet es todo a manita, con el visual midlet, te guia un tipo wizard para crear la aplicacion, sobre todo el interfaz del usuario. A mi me gusta trabajar mas con midlet.

Imagen de beto.bateria

Instanciamiento

Este es mi codigo: Si la Clave y usuario son Ok...
entonces pase a menu principal, en este caso MenuPrin.java que esta dentro del mismo paquete

public void validateUser(String name, String password) {
if (name.equals("xxxx") && password.equals("xxxxxxx")) {
/**showMsg();*/
MenuPrin menuPrin = new MenuPrin();

menuPrin.tuMetodoParaMostrarMenu(par1, par2, parN);
} else {
tryAgain();
}
}

la linea
menuPrin.tuMetodoParaMostrarMenu(par1, par2, parN);
es la que te falta.

Imagen de javadicto

Si tu MenuPrin es un frame

Si tu MenuPrin es un frame lo pudes mostrar asi:
this.setVisible(false);
menuPrin.setVisible(true);

De esta manera el frame donde estas solicitando el usuario y el password desaparecera de la pantalla para dar lugar al frame de tu menu. : )

Puedes checar mis guías de Java

Blog de CARRARO
O en mi Twitter

CARRARO

Imagen de ozzy_898

Asesoria

hola que tal chicos tengo varias dudas primero estoy realizando un software educativo el cual deseo que los estudiantes ingresen un nombre usuario y una contraseña mi duda es. Es necesario crear antes la base de datos sin tener los datos........... al igual deseo que se registren los usuario....estara instalado en un laboratorio de informtica el cual no posee internet.... son muchas preguntas que tengo pero las llevare poco a copo utilizo netbeans 6.9.1 tengo todas mis pantallasya hechas comenzare a realizar las clases y a empezar comprender como realizar los llamados gracias espero sus respuesta si pueden a mis dos preguntas nos hablamos

Imagen de ozzy_898

quien puede hacerme una correcion en esta clase graciaas

package ozzy_898;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.swing.table.DefaultTableModel;
public class SQL {
//conexion a la base de datos access
Access_conection access = new Access_conection();

public SQL(){}

// NUEVOS REGISTROS
/* ------------------------------------------------------------------------------------- */
public boolean NuevoAlumno(String[] datos){
boolean ok=false;
String instruccion_sql = "insert into ALUMNO(A_Cédula, A_nombre, A_Primer Apellido, A_Fecha de nacimiento,A_Sexo,A_dirección,A_Teléfono,A_e-mail)" +
" values(?,?,?,?,?,?);";
ok = Agregar_Registro(datos, instruccion_sql);
return ok;
}

public boolean Nueva_Asignatura(String[] datos){
boolean ok=false;
String instruccion_sql = "insert into asignatura( as_id, as_nombre )" +
" values(?,?);";
ok = Agregar_Registro(datos, instruccion_sql);
return ok;
}

public boolean Nueva_Matricula(String[] datos){
boolean ok=false;
//comprueba que el alumno ya este matriculado
int res = Existen_Filas("total","select count(*) as total from matricula where m_cu='"+datos[0]+"' and m_as='"+datos[1]+datos[2]+"' ;");
if(res==0){
String instruccion_sql = "insert into matricula( m_Cédula, m_as)" +
" values(?,?,?);";
ok = Agregar_Registro(datos, instruccion_sql);
}
return ok;
}

public boolean setNota(String[] datos){
boolean ok=false;
String instruccion_sql = "update matricula set examen1=?, examen2=?,examen3=?, examen4=?, notafinal=? where m_Cédula=? and m_as=? ;";
ok = Agregar_Registro(datos, instruccion_sql);
return ok;
}

// ACTUALAZACION DE REGISTROS
/* ------------------------------------------------------------------------------------- */
public boolean Actualizar_Alumno(String[] datos,String Cédula){
boolean ok=false;
String instruccion_sql = "update alumno set A_Nombre=?, A_Primer Apellido=?, A_Fecha de naciemiento=?, A_sexo=?, A_Dirección=?, A_Teléfono=?, A_e-mail=? " +
" where a_Cédula='"+Cédula+"' ;";
ok = Actualizar_Registro(datos,instruccion_sql);
return ok;
}

public boolean Actualizar_Asignatura(String[] datos,String codigo){
boolean ok=false;
String instruccion_sql = "update asignatura set as_nombre=? " +
" where as_id='"+codigo+"' ;";
ok = Actualizar_Registro(datos,instruccion_sql);
return ok;
}

// ELIMINACION DE REGISTROS
/* ------------------------------------------------------------------------------------- */
public boolean eliminar_alumno(String Cédula){
boolean ok=false;
ok = eliminar_registro("alumno", "A_Cédula='"+Cédula+"'");
return ok;
}

public boolean eliminar_Asignatura(String codigo){
boolean ok=false;
ok = eliminar_registro("asignatura", "as_id='"+codigo+"'");
return ok;
}

// DATOS DE REGISTROS
/* ------------------------------------------------------------------------------------- */
public String[] getDatosAlumno(String cu){
String instruccion_sql = "select A_Cédula, A_nombre, A_Primer Apellido, A_Fecha de nacimiento,A_Sexo,A_dirección,A_Teléfono,A_e-mail" +
" from alumno where a_Cédula = '"+cu+"'; ";
//columnas de la tabla que se
String[] colName = {"A_Cédula, A_nombre, A_Primer Apellido, A_Fecha de nacimiento,A_Sexo,A_dirección,A_Teléfono,A_e-mail"};
//se realiza la consulta
String[] data = GetRegistro(colName, instruccion_sql);
return data;
}

public String[] getDatosAsignatura(String codigo){
String instruccion_sql = "select as_id, as_nombre " +
" from asignatura where as_id = '"+codigo+"'; ";
//columnas de la tabla que se
String[] colName = {"as_id","as_nombre"};
//se realiza la consulta
String[] data = GetRegistro(colName, instruccion_sql);
return data;
}

public String[] getDatosAlumno2(){
String[] data = GetColumna("alumno","A_Cédula","select A_Cédula from alumno");
return data;
}

public String[] getDatosAsignatura2(){
String[] data = GetColumna("asignatura","as_id","select as_id from asignatura");
return data;
}

// PROCEDIMIENTOS SQL
/* ------------------------------------------------------------------------------------- */
public boolean Agregar_Registro(String[] datos, String instruccion_sql){
boolean ok=false;
try {
PreparedStatement pstm = access.getConnection().prepareStatement(instruccion_sql);
for(int i=0;i0) si_existe=true;
return si_existe;
}

public int Existen_Filas(String colName, String sql){
int filas=0;
try{
PreparedStatement pstm = access.getConnection().prepareStatement(sql);
ResultSet res = pstm.executeQuery();
while(res.next()){
filas = res.getInt(colName);
}
res.close();
}catch(SQLException e){
System.out.println(e);
}
return filas;
}

public void Cerrar_Access(){
access.desconectar();
}

}