Recent Posts

Pages: [1] 2 3 ... 10
1
Hola gracias por la respuesta, si es lo segundo, estoy guardando los componentes creados en un HashMap y luego lo serializo, al abrir la aplicación deserializo y cargo el archivo y recorro el HashMap y añado los componentes que están en el HashMap al panel.
2
Hola:

¿Los componentes, es decir, las ventanas? ¿O los datos que has metido en las ventanas, que vuelvan a salir la próxima vez que abras la aplicación?

Si es lo primero, no entiendo la pregunta.

Si es lo segundo, tendrás que guardar los datos en un fichero o base de datos y cargarlos la próxima vez que abras la aplicación.

Saludos.
3
Buenas amigos y colegas desarrolladores, estoy realizando una aplicación en la que se deben crear componentes con ciertas características, que me permita recolectar cierta información para luego procesarla, todo esto en tiempo de ejecución, en fin, esa parte ya la estoy trabajando de la siguiente forma:

Code: [Select]
        JpnlPunto jpnlComp = new JpnlPunto(index);//instancia nueva a componente
        JpnlContPuntos.add(jpnlComp);//se añade al jpanel
        JpnlContPuntos.validate();
        JpnlContPuntos.updateUI();
        jpnlComp.setLocation(0, jlblBlock.getY()-45);//se establece la posición del componente
        JpnlContPuntos.repaint();
        ubiComp.put(String.valueOf(jlblBlock.getY()-45), String.valueOf(i));//se guarda las posiciones de los componentes creados en un mapa
        componentes.put(""+index, jpnlComp);//se guarda el componente creado en un mapa
        index++;
        i++;

los componentes se crean perfectamente, AHORA BIEN, mi duda es como hacer para que estos componentes se mantengan una vez creados, es decir, que una vez cerrada la aplicación y la vuelva abrir estos estén visibles donde los cree!


Saludos, espero puedan ayudarme
4
Java JSE / Re: Crear componentes en tiempo de ejecucion (SOLUCIONADO)
« Last post by roer on Julio 25, 2019, 08:57:41 pm »
Buenas me podrian indicar como haria para que mis componentes creados en tiempo de ejecución se mantengan una vez cerrada la app!? porque ya los creo y manipulo sus datos pero al cerrar y volver abrir la app ya no están! si alguien sabe como me ayudaria porfa!
5
Java JSE / Re: Juego rodillos java
« Last post by Jhonsom on Julio 06, 2019, 10:58:26 pm »
Hola te agradezco por tu respuesta voy a revisar entonces el material de los link que enviaste
Gracias
6
Java JSE / Re: Juego rodillos java
« Last post by chuidiang on Julio 06, 2019, 07:44:43 pm »
Hola:

Si, se puede :)

Saludos.
7
Java JSE / Juego rodillos java
« Last post by Jhonsom on Julio 06, 2019, 06:25:53 am »
Un cordial saludo :
Mi pregunta es concreta, me gustaría saber si
Bajo java se puede realizar un juego estilo
Rodillos de las máquinas de casino
Gracias
8
Java JSE / Re: Logearse en java por medio de ficheros
« Last post by chuidiang on Junio 29, 2019, 06:46:13 pm »
Hola:
¿Cual es el problema exactamente?
Saludos.
9
Java JSE / Logearse en java por medio de ficheros
« Last post by ibai on Junio 22, 2019, 10:33:35 pm »
Buenas necesito hacer un login en java por medio de ficheros porque la base de datos de derby anda mal y me ha mandado a hacerlo asi.
El caso es que ya he escrito la funcion que registra a un usuario. Simplemente escribe lo que ha metido por consola en un fichero.
Ahora estoy estancado en como al leer el fichero el programa compara esos datos con los que se piden al iniciar la funcion de login

Dejo el codigo con lo que se necesita por si le quieren hechar un vistazo, y lo primero que sale es la funcion registrarse por si solo quieren ver esa funcion.
Antes de todo gracias por leer este post y por su valioso tiempo. Un saludo
Code: [Select]
static void login() throws SQLException, FileNotFoundException, IOException{

        System.out.println("Introduce tu usuario");
        String user = sc.next();
        System.out.println("Introduce tu pass");
        String pass = sc.next();
       
        String nombreFichero = "C://Users//ibai//Desktop/Usuarios.txt";   
        File fichero = new File(nombreFichero);
       
            if(fichero.exists()){               
           
                FileReader fr = new FileReader(nombreFichero);
                BufferedReader bf = new BufferedReader(fr);       

                while ((nombreFichero = bf.readLine())!=null) {
                   
                   if(user.equals(User) && pass.equals(Pass)){     //<------parte importante
                       System.out.println("Bienvenido: " + user);
                       
                       if (tipo==1) {
                           MenuAdmin();
                       }else if(tipo==2){
                           MenuUsuario();
                       }
                   }else{
                       System.out.println("Usuario o contraseña incorrectos.");
                   }
                }bf.close();

            }else{
                System.out.println("Aún no existe ningún usuario. "
                        + "Vuelva a la opción 2 y cree un usuario para ejecutar esta función."); 
            }





---------------------------------------------------------resto de parte que interesa del proyecto
public class FinalDam {

    /**
     * @param args the command line arguments
     */
         
    static Scanner sc = new Scanner(System.in);
   
    static Productos[] listProd= new Productos[100];
    static Usuarios[] listUser= new Usuarios[100];
    static int nUser;
    static int nProd;
   
    //var producto
    static int idProd = 0;                   static int peso = 0;   
    static String nombre = "Desconocido";    static int precio=0;
    //var usuario   
    static String User="Desconocido";
    static String Pass="Desconocido";           
    static int tipo=0;

    public static void main(String[] args) throws SQLException, IOException {
        // TODO code application logic here
        MenuPrincipal();
       
    }
    static void MenuPrincipal() throws SQLException, IOException{
        int opcion;
        Scanner teclado = new Scanner(System.in);
        do{
            do{
                System.out.println("Que quieres hacer \n");
                System.out.println("1. Login \n");
                System.out.println("2. Registrarse \n");
                System.out.println("3. Salir \n");
                opcion=teclado.nextInt();           
            }while(opcion<1 || opcion>=4);
            switch (opcion){
                case 1:
                    System.out.println("Login");
                    login();
                    break;
                case 2:
                    System.out.println("Registrarse");
                    registrarse();
                    break;
                case 3:
                    System.out.println("Gracias por venir");
            }
        }
        while(opcion == 2);
    }
    static void registrarse() throws SQLException{
       
        int cierraWhile = 0;
       
        while(nUser<listUser.length && cierraWhile != 1){
        Usuarios U = new Usuarios();       
System.out.println("Introduzca sus datos. ");
                       
                        System.out.println("Nombre de usuario: ");
User = sc.next();
                        System.out.println("Contraseña (solo letras): ");
Pass = sc.next();
                        System.out.println("Si se quiere registrar como administrador pulse 1, de lo contrario pulse 2. ");
                                tipo = sc.nextInt();

                     
                        U.setUser(User);
                        U.setPass(Pass);
                        U.setTipo(tipo);
listUser[nUser]= U ;
nUser++;

if(nUser==listUser.length){
System.out.println("Almacenamiento lleno.");
                        }

            System.out.println("¿Quiere dejar de introducir usuarios? teclée: 1 = sí ,0 = no.");
            cierraWhile = sc.nextInt();             
        }
        //Guardar usuario
        System.out.println("Guardando el usuario en: Usuarios.txt");
        try{       
            File nombreFichero = new File("C://Users//ibai//Desktop/Usuarios.txt");
            FileWriter fw = new FileWriter(nombreFichero,true);       
            BufferedWriter bw = new BufferedWriter(fw);       
            PrintWriter pw = new PrintWriter(bw);

                for (int i = 0; i < nUser; i++) {               
                   
                    pw.println(listUser[i].getUser());
                    pw.println(listUser[i].getPass());
                    pw.print(listUser[i].getTipo());

                }pw.close();

        }catch(IOException ioe){
            System.out.println("No se ha podido guardar. Error: "+ ioe);
        }
    }
    static void login() throws SQLException, FileNotFoundException, IOException{

        System.out.println("Introduce tu usuario");
        String user = sc.next();
        System.out.println("Introduce tu pass");
        String pass = sc.next();
       
        String nombreFichero = "C://Users//ibai//Desktop/Usuarios.txt";    //Cambiar ruta entre comillas
        File fichero = new File(nombreFichero);
       
            if(fichero.exists()){               
           
                FileReader fr = new FileReader(nombreFichero);
                BufferedReader bf = new BufferedReader(fr);       

                while ((nombreFichero = bf.readLine())!=null) {
                   //System.out.println(nombreFichero);
                   if(user.equals(User) && pass.equals(Pass)){
                       System.out.println("Bienvenido: " + user);
                       
                       if (tipo==1) {
                           MenuAdmin();
                       }else if(tipo==2){
                           MenuUsuario();
                       }
                   }else{
                       System.out.println("Usuario o contraseña incorrectos.");
                   }
                }bf.close();

            }else{
                System.out.println("Aún no existe ningún usuario. "
                        + "Vuelva a la opción 1 y cree un usuario para ejecutar esta función."); 
            }
           
    }
Se que lo que esta dentro del while que lee el fichero es una burrada (que no va ahi basicamente) pero asi lo he dejado al no saber como ponerlo...xd
10
Java JSE / Cual seria la buena practica de un PreparedStatement
« Last post by gacs on Junio 20, 2019, 12:16:47 am »
Buenos Dias

Tengo una consulta con PreparedStatement, para PreparedStatement se debe crear una conexion a la base de datos?

Por ejemplo tengo un formulario de administración de registro el cual visualiza, elimina, modifica y agrega registros. entonces hago una solo conexión y con ella realizo los   PreparedStatement.

pongo un ejemplo no muy detallado pero creo que describe mi inquietud.
Code: [Select]
private Connection              connection=gestordeconexiones();   
private PreparedStatement pstver;
private PreparedStatement psteliminar;
private PreparedStatement pstmodificar;
private PreparedStatement pstagrega;

public class myformulario
{
public myformulario(){
.......
pstver=connection.prepareStatement(sql);
psteliminar=connection.prepareStatement(sql);
pstmodificar=connection.prepareStatement(sql);
pstagrega=connection.prepareStatement(sql);
.........
}

.....
public void eliminar(){
.....
psteliminar..execute();
......
}
.....
public void salirformulario()
.....
pstver.close()
......
psagregar.close()
.....
}     
}


Entiendo que el caso de sqlite se utiliza la misma conexión ya que unque hagas muchas conexiones la función de el es trabajar solo con una conexion a la vez bloqueando el acceso mientras una conexion este utilizando la base de datos. bueno eso entendi yo pero quisiera saber cual seria lo correcto para utilizar prepareStatement.

no se si no le echo bien la pregunta a google pero no encontrado una respuesta que saque de la duda

de antemano muchas gracias por la ayuda

saludos

GACS

Pages: [1] 2 3 ... 10
ey