Foro de elhacker.net

Programación => Java => Mensaje iniciado por: erikcb en 8 Junio 2019, 14:55 pm



Título: Actualizar Variable con Botón
Publicado por: erikcb en 8 Junio 2019, 14:55 pm
Buenas, estoy intentando hacer un botón que vaya restando cada vez que haces click en él.

Lo tengo hecho, pero lo que yo quiero es que al cerrar la aplicación me guarde el numero "en el que me he quedado". O que me actualice la variable cada vez que le das al botón (esto no se si es factible, son restas de 1 en 1, únicamente sería reducirla en 1 por cada click).
Mi idea es que el numero que va bajando en el botón se vaya guardando en un documento de texto, y al volver a abrir la aplicación lea por donde se ha quedado y siga por ahí.
He conseguido crear el documento de texto con un texto fijo que yo escribo, pero ni idea de como puedo hacer para hacer lo que yo quiero. (No es un proyecto serio, es más una chorradilla que quiero hacer yo)

He estado mirando por este (y por otros) foros y no he conseguido nada, espero que alguien me pueda ayudar.

Tengo en el botón este código:

Código:
private int count = 713;

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                   

count--;
String numero = String.valueOf(count);
    jButton1.setText(numero);

Y en el main este:

Código:
 VentanaClick ventanaClick = new VentanaClick();
 ventanaClick.setVisible(true);

        String ruta = "C:\\Users\\Usuario\\Documents\\NetBeansProjects\\sumaclick\\src\\main\\texto.txt";
File archivo = new File(ruta);
BufferedWriter bw; {
   
    if(archivo.exists()) {
      bw = new BufferedWriter(new FileWriter(archivo));
      bw.write("El fichero de texto ya estaba creado.");
} else {
      bw = new BufferedWriter(new FileWriter(archivo));
      bw.write("Acabo de crear el fichero de texto.");
}
    bw.close();

Gracias!!


Título: Re: Actualizar Variable con Botón
Publicado por: rub'n en 8 Junio 2019, 15:38 pm
Buenas, estoy intentando hacer un botón que vaya restando cada vez que haces click en él.

Lo tengo hecho, pero lo que yo quiero es que al cerrar la aplicación me guarde el numero "en el que me he quedado". O que me actualice la variable cada vez que le das al botón (esto no se si es factible, son restas de 1 en 1, únicamente sería reducirla en 1 por cada click).
Mi idea es que el numero que va bajando en el botón se vaya guardando en un documento de texto, y al volver a abrir la aplicación lea por donde se ha quedado y siga por ahí.
He conseguido crear el documento de texto con un texto fijo que yo escribo, pero ni idea de como puedo hacer para hacer lo que yo quiero. (No es un proyecto serio, es más una chorradilla que quiero hacer yo)

He estado mirando por este (y por otros) foros y no he conseguido nada, espero que alguien me pueda ayudar.

Tengo en el botón este código:

Código:
private int count = 713;

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                    

count--;
String numero = String.valueOf(count);
    jButton1.setText(numero);

Y en el main este:

Código:
 VentanaClick ventanaClick = new VentanaClick();
 ventanaClick.setVisible(true);

        String ruta = "C:\\Users\\Usuario\\Documents\\NetBeansProjects\\sumaclick\\src\\main\\texto.txt";
File archivo = new File(ruta);
BufferedWriter bw; {
    
    if(archivo.exists()) {
      bw = new BufferedWriter(new FileWriter(archivo));
      bw.write("El fichero de texto ya estaba creado.");
} else {
      bw = new BufferedWriter(new FileWriter(archivo));
      bw.write("Acabo de crear el fichero de texto.");
}
    bw.close();

Gracias!!


Que tal? usa GeSHi

(https://3.bp.blogspot.com/-O6qDroNEzts/W8sWHPnV3MI/AAAAAAAADJw/mypp_PTYxbA_uKr7E-O-x0epDjSUdk3mwCK4BGAYYCw/s1600/geshi.gif)

Primero es lo primero, ensaya como leer y escribir en un archivo de texto primero y bien. para que tengas claro lo que quieres hacer.

El archivo debes de leer primero para obtener el numero guardado, y setearlo al JButton.setText("numero")


Luego en el listener del JButton es cuando restas el valor del numero y escribes ese valor en el archivo de texto.

https://foro.elhacker.net/java/jfilechooser_guardar_un_archivo_con_nombre_preterminado-t489899.0.html;msg2178950#msg2178950

Aquí se lee el fichero con desde la linea 73 hasta 101 con bufferedReader.lines()
https://foro.elhacker.net/java/leer_datos_de_un_fichero_y_crear_una_lista_con_ellos-t495171.0.html

Aqui desde la linea 28 a 56 lee también el archivo, la linea 35 contiene el while que leerá mientras br.line() retorne un valor distinto de null
https://foro.elhacker.net/java/ayuda_con_lectura_y_escritura_en_ficheros_java-t495247.0.html

La url donde contienes el archivo no hace falta que la coloques así, todo el tiempo depende el escenario, si es por eso con un JFileChooser te ahorras escribirla de esa manera, o sea, este te permite obtener la ruta absoluta/relativa del fichero en runtime