Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it L'avatar di pgm
    Registrato dal
    Apr 2002
    Messaggi
    1,281

    [Java] Array per recuperare valori da TextField

    Ciao a tutti!
    Ho un quesito da proporvi (ormai i miei quesiti pullulano in questo forum).
    Ho alcuni textfield con le ripettive label. Devo ricevere i valori dei textfield per visualizzarli in una window alla selezione del bottone.

    Invece di creare tante stringhe quanti sono i textfield, ho creato un array che raccoglie tutti i valori dei campi e delle label:

    String[] fields = {nomeField.getText(),cognomeField.getText(),
    dataField.getText(),luogoField.getText(),
    residenzaField.getText(),cittaField.getText(),
    telcasaField.getText(),telcellField.getText()};

    String[] names = {nomeLabel.getText(),cognomeLabel.getText(),
    dataLabel.getText(),luogoLabel.getText(),
    residenzaLabel.getText(),cittaLabel.getText(),
    telcasaLabel.getText(),telcellLabel.getText()};

    Vorrei poi ciclare gli array e scrivere o a console o su un file i valori inseriti nei campi corrispondenti alle label.

    Es. scruttura su un file solo del contenuto dei textfield

    for(int i=0; i<fields.length; ++i)
    outStream.write(fields.charAt(i));
    outStream.close();

    Già facendo così mi da errore.

    Comunque avreste qualche idea da suggerirmi?
    E' un pò incasinato lo so, ma dovrebbe essere fattibile.

    pgm

  2. #2
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    for(int i=0; i<fields.length; ++i) {
    outStream.write(fields[i]+" ");
    }
    outStream.close();

  3. #3
    Utente di HTML.it L'avatar di pgm
    Registrato dal
    Apr 2002
    Messaggi
    1,281
    Grazie, ma ho l'errore in compilazione:

    gest.java:256: cannot resolve symbol
    symbol : method write (java.lang.String)
    location: class java.io.FileOutputStream
    outStream.write(field[i]+" ");
    ^
    1 error

    Cos'ha che non va il metodo write?

    pgm

  4. #4
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    for(int i=0; i<fields.length; ++i) {
    outStream.write(fields[i].getBytes());
    outStream.write('\n');
    }
    outStream.close();

    write vuole in input un array di bytes

  5. #5
    Utente di HTML.it L'avatar di pgm
    Registrato dal
    Apr 2002
    Messaggi
    1,281
    Ma quante ne sai!! :gren:

    Bene adesso mi scrivo sul mio file i mie bei campi.

    Ma può essere giusto questo metodo di creare array oppure è meglio qualcosa altro?
    Poi infatti dovrò visualizzare, come scritto nel primo post, le mie label su una window con i valori dei campi corrispondenti.

    Cosa dici o cosa ne dite?

    pgm

  6. #6
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    tutto è giusto se fa al caso tuo ... e non è terribile :gren:
    un array di caratteri di quelle dimensioni non è molto pesante (mem) quindi se ti trovi bene fai in questo modo

  7. #7
    Utente di HTML.it L'avatar di pgm
    Registrato dal
    Apr 2002
    Messaggi
    1,281
    Infatti...

    Passo sucessivo è quello di abbinare due array formandone uno solo bi-dimensionale:

    String[] nameMain = {nomeLabel.getText(),cognomeLabel.getText(),
    dataLabel.getText(),luogoLabel.getText(),
    residenzaLabel.getText(),cittaLabel.getText(),
    telcasaLabel.getText(),telcellLabel.getText()};


    String[] fieldMain = {nomeField.getText(),cognomeField.getText(),
    dataField.getText(),luogoField.getText(),
    residenzaField.getText(),cittaField.getText(),
    telcasaField.getText(),telcellField.getText()};

    String[][] tutto = {nameMain,fieldMain};

    for(int i=0; i<tutto.length; ++i){
    outStream.write(tutto[i][i].getBytes());
    }

    Qui il problema è che scrive solo la prima label con il suo valore e non tutti in sucessivamente.

    Es.

    Nome: pippo

    come mai?

    pgm

  8. #8
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    non che si capisca cosa vuoi ...
    PROVA
    for(int i=0; i<tutto.length; ++i){
    for (int j=0; j<tutto[i].length; j++) {
    outStream.write(tutto[i][j].getBytes());
    }
    }

  9. #9
    Utente di HTML.it L'avatar di pgm
    Registrato dal
    Apr 2002
    Messaggi
    1,281
    non che si capisca cosa vuoi ... PROVA


    ???????? ???????

  10. #10
    Utente di HTML.it L'avatar di pgm
    Registrato dal
    Apr 2002
    Messaggi
    1,281
    Ora, usando l'array sopra visuallizzato e con il ciclo suggeritomi da Floyd, ho provato a visualizzare i valori su un pannello.

    for(int i=0; i<main.length; ++i){
    for (int j=0; j<main[i].length; j++) {
    for (int y=0; j<main[j].length; y++) {
    vuotoLabel.setText(main[i][j]);

    }
    }
    }

    Mi visualizza solo un valore! Why?
    le sto provando tutte, ma proprio tutte.

    pgm

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.