Hola ,estoy intentando pasar un parametro entre 3 jdialogs y no me sale .
voy explicando :en la primera ventana es la del login donde guardo el useractual
public class Login extends javax.swing.JDialog {
public String [] LoginUsuario() throws SQLException {
String[] registros = new String[1];
String user = fieldUsuario.getText();
String pass = jPasswordField1.getText();
String sql = "select USER,PASS from Usuario where USER='"+user+"' and PASS = '"+pass+"'";
if(user.isEmpty()){
jLabel3.setText("Por favor introduce nombre de usuario");
}
else if(pass.isEmpty()){
jLabel3.setText("Por favor introduce la contraseña");
}
else{
try {
Class.forName("org.sqlite.JDBC");
con = DriverManager.getConnection("jdbc:sqlite:" + this.db);
System.out.println("Conectado a la base de datos SQLite [ " + this.db + "]");
st=con.createStatement();
rs=st.executeQuery(sql);
if (rs.next()){
registros[0]= rs.getString(1);
JOptionPane.showMessageDialog(rootPane, "Bienvenido");
this.setVisible(false);
Principal c = new Principal(null, rootPaneCheckingEnabled);
c.Imprimir(registros);
c.PintarContactos(registros);
c.ObtenerImage(registros);
c.setuseractual(registros);
c.setVisible(true);
}
else{
JOptionPane.showMessageDialog(rootPane, "Usuario o contraseña incorrectas");
}
con.close();
st.close();
rs.close();
} catch (Exception e) {
System.out.println(e);
JOptionPane.showMessageDialog(rootPane, "En estos momentos tenemos algnas dificultades,pot favor intentalo despues");
}
}
return registros;
}
}
En la ventana 2 la principal tengo que llamar ala ventana 3 en el evento del jbutton :
es aquí donde está el problema que no sé que poner .sé que debo llamar al metodo de la ventana 3 pero no sé que parametros debo pasarle .
en la misma ventana (2) utilizo un metodo para recoger el useractual que devuleve el método de la ventana 1 .
public String setuseractual(String []mod) throws SQLException{
String useractual ;
useractual = mod[0];
System.out.print ("El usuario actual en setuser es:" + mod[0]) ;
return useractual;
}
En la ventana 3 tengo el metodo Añadir contact que es adónde quiero pasar el user actual para utilizarlo en el insertar datos a mi base de datos.
public void AñadirContact(String cadena){
String useractual= cadena;
System.out.println("el usuairo actual es " +useractual);
System.out.println("....................");
String nombre;
String telefono;
String facebook;
String twitter;
String email;
String direccion;
nombre = jTextField3.getText();
telefono = jTextField1.getText();
facebook = jTextField5.getText();
twitter=jTextField8.getText();
email = jTextField9.getText();
direccion = jTextField2.getText();
if(nombre.isEmpty()){
jLabel10.setText("Nombre obligatorio");
}
else if(telefono.isEmpty()){
jLabel10.setText("Telefono obligatorio");
}else{
try {
Class.forName("org.sqlite.JDBC");
con= DriverManager.getConnection("jdbc:sqlite:" + this.db);
System.out.println("Conectado a la base de datos SQLite [ " + this.db + "]");
} catch (Exception e) {
System.out.println("No es posible conectar con la base de datos" + this.db + "");
}
String q = "INSERT INTO Contactos(user,NombreCompleto,telefono,facebook,tw itter,email,direccion) VALUES"
+ "('" + useractual + "','" + nombre + "','" + telefono + "','" + facebook+ "'"
+ ",'" + twitter + "','" + email + "','"+direccion+"')";
try {
PreparedStatement pstm = con.prepareStatement(q);
pstm.execute();
pstm.close();
JOptionPane.showMessageDialog(rootPane, "Enhorabuena has introducido un nuevo Contacto");
} catch (Exception e) {
JOptionPane.showMessageDialog(rootPane, "Error en introducir el nuevo Contacto");
}
}
}
Sé que es muy extenso pero espero que alguien me indique como hacerlo .
Muchìsimas gracias.