Pagina 4 di 5 primaprima ... 2 3 4 5 ultimoultimo
Visualizzazione dei risultati da 31 a 40 su 42
  1. #31
    Perciò che parola chiave posso cercare per salvare su file in modo che alla riapertura del programma rimangano le stringhe scritte antecedentemente?

  2. #32
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da desiderio Visualizza il messaggio
    Perciò che parola chiave posso cercare per salvare su file in modo che alla riapertura del programma rimangano le stringhe scritte antecedentemente?
    Ti basta salvare questa "configurazione" su un normale file. Potrebbe anche essere utile in questo caso un file di "properties".
    Vedi java.util.Properties
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #33
    Cosi sono riuscito a risolvere col tuo consiglio.

    codice:
    ButtonSearch = new JButton("Search");
            ButtonSearch.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent arg0) {
                    JFileChooser chooser = new JFileChooser(); 
                    chooser.showOpenDialog(null);
                    File f = chooser.getSelectedFile();
                    String filename=f.getName();
                    textCLIENTE.setText(filename);
                }
            });
    Con questo codice: "String filename=f.getName();" mi stampa il nime del file che cerco aggiungendomi l'estensione è possibile che mi stampi sul JTextField senza l'estensione?

    Ho pensato di allineare e cambiare colore dei file salvati nel .doc
    Come posso allineare e cambiare colore di una variabile di tipo string dentro a un ActionListener tipo questo:



    codice:
            ActionListener azioneListener = new ActionListener() {
                public void actionPerformed(ActionEvent e) {
    
    
                    
                    String CLIENTE = textCLIENTE.getText();
                    
                    
                    String DATAora = DateTimeFormatter.ofPattern("dd/MM/yyyy").format(localDate) + sdf.format(date);
                   
    
    
                    
                    textSTAMPA.setText( CLIENTE.toUpperCase() + "    " + DATAora );  
                    
                    
                }
            };
    "DATAora" vorrei cambiare colore e allinearla a sinistra mentre "CLIENTE" a destra.
    Grazie
    Ultima modifica di desiderio; 29-12-2016 a 20:57

  4. #34
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da desiderio Visualizza il messaggio
    codice:
                    JFileChooser chooser = new JFileChooser(); 
                    chooser.showOpenDialog(null);
                    File f = chooser.getSelectedFile();
    Dovresti testare il valore di ritorno di showOpenDialog, questo ti dice se l'utente ha "approvato" la selezione oppure se ha annullato o se c'è stato un errore.

    Quote Originariamente inviata da desiderio Visualizza il messaggio
    è possibile che mi stampi sul JTextField senza l'estensione?
    Il pathname del file viene sempre fornito completo. Se vuoi togliere l'estensione, devi farlo tu esplicitamente. Nel framework standard non ci sono metodi per operare sulle "estensioni" dei file, perché il concetto di estensione di file dipende e varia dal sistema.

    Te la cavi con poche operazioni sulle stringhe o puoi trovare metodi già fatti in librerie esterne.

    Quote Originariamente inviata da desiderio Visualizza il messaggio
    "DATAora" vorrei cambiare colore e allinearla a sinistra mentre "CLIENTE" a destra.
    JTextField/JTextArea NON supportano testo "stilizzato". Esiste solo il font/foreground/background globale del componente, come per gli altri componenti. Non puoi dare colore, formattazione, ecc.. a parti specifiche del testo in questi due componenti.

    JEditorPane supporta HTML (oltre che RTF e plain-text). JTextPane estende JEditorPane, supporta testo "stilizzato" come JEditorPane ma impone alcune limitazioni (insiste sul fatto che il document implementi la interfaccia StyledDocument).
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #35
    Grazie ancora ci sono riuscito cosi a sottrarre il .doc:

    codice:
        ButtonSearch = new JButton("Search Customer");
            ButtonSearch.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent arg0) {
                    JFileChooser chooser = new JFileChooser();   //trova file--------------------------------------------
                    chooser.showOpenDialog(null);
                    File f = chooser.getSelectedFile();
                    String filename=f.getName();
                    
                
                    String file = ".doc";                                        //SOTTRAE IL .DOC------------------------------------
                    String Testo = null;                                     //SOTTRAE IL .DOC------------------------------------
            if (filename.endsWith (file))                                        //SOTTRAE IL .DOC------------------------------------
            Testo = filename.substring (0, filename.length()-file.length()); //SOTTRAE IL .DOC------------------------------------
            
            textCLIENTE.setText(Testo);                                 
            
                }
            });
    Perdonami ma cosa intendevi sul "showOpenDialog" perchè non mi è molto chiaro quello che volevi spiegarmi?
    Anche questa parte non ho capito. "(insiste sul fatto che il document implementi la interfaccia StyledDocument)"




  6. #36
    Ho provato a salvare le proprietà e restituirle ma dove ho sbagliato? thanks

    codice:
    class App {
    			  public void main(String[] args) {
    
    
    				Properties prop = new Properties();
    				Properties prop1 = new Properties();
    				Properties prop2 = new Properties();
    				Properties prop3 = new Properties();
    				OutputStream output = null;
    
    
    				try {
    
    
    					output = new FileOutputStream("config.properties");
    
    
    					// Imposta il valore di proprietà
    					prop.getProperty(textCLIENTE.getText());
    					prop1.getProperty(textNUM.getText());
    					prop2.getProperty(textMAIL.getText());
    					prop3.getProperty(textVIA.getText());
    
    
    					// Salvare le proprietà di proiettare cartella principale
    					prop.store(output, null);
    					prop1.store(output, null);
    					prop2.store(output, null);
    					prop3.store(output, null);
    
    
    				} catch (IOException io) {
    					io.printStackTrace();
    				} finally {
    					if (output != null) {
    						try {
    							output.close();
    						} catch (IOException e) {
    							e.printStackTrace();
    						}
    					}
    
    
    				}
    			  }
    			}	
    		
    		
    		class App1 {
    
    
    			  public void main(String[] args) {
    				App1 app = new App1();
    				app.printThemAll();
    			  }
    
    
    			  private void printThemAll() {
    
    
    				Properties prop = new Properties();
    				InputStream input = null;
    
    
    				try {
    
    
    					String filename = "config.properties";
    					input = getClass().getClassLoader().getResourceAsStream(filename);
    					if (input == null) {
    						System.out.println("Sorry, unable to find " + filename);
    						return;
    					}
    
    
    					prop.load(input);
    
    
    					Enumeration<?> e = prop.propertyNames();
    					while (e.hasMoreElements()) {
    						String key = (String) e.nextElement();
    						String value = prop.getProperty(key);
    						System.out.println("Key : " + key + ", Value : " + value);
    					}
    
    
    				} catch (IOException ex) {
    					ex.printStackTrace();
    				} finally {
    					if (input != null) {
    						try {
    							input.close();
    						} catch (IOException e) {
    							e.printStackTrace();
    						}
    					}
    				}
    
    
    			  }
    
    
    			}

  7. #37
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da desiderio Visualizza il messaggio
    codice:
                    JFileChooser chooser = new JFileChooser();
                    chooser.showOpenDialog(null);
                    File f = chooser.getSelectedFile();
                    String filename=f.getName();
                    
                
                    String file = ".doc";
                    String Testo = null;
            if (filename.endsWith (file))
            Testo = filename.substring (0, filename.length()-file.length());
            
            textCLIENTE.setText(Testo);
    Uhm ... non è buonissimo. Innanzitutto il concetto è che l'utente non è obbligato a scegliere un .doc, cioè tecnicamente tramite JFileChooser potrebbe scegliere qualunque altro tipo di file. Se fosse es. un .txt, il tuo endsWith dà false, quindi Testo resta a null tu setti nel textCLIENTE un null che equivale a settare vuoto ("").
    Magari è proprio quello che volevi ... ma si può fare di meglio.


    Quote Originariamente inviata da desiderio Visualizza il messaggio
    Perdonami ma cosa intendevi sul "showOpenDialog" perchè non mi è molto chiaro quello che volevi spiegarmi?
    showOpenDialog restituisce uno di 3 valori speciali ben precisi che indicano se l'utente ha approvato, annullato o se c'è stato un errore. Andrebbe testato. Altrimenti magari l'utente annulla e tu invece prosegui con il resto che magari fallisce o schianta con una eccezione.

    Domanda (che non ti ho ancora fatto finora). Riesci a leggerla (nel senso di comprenderla) la documentazione "javadoc" del framework?
    Si intende questa: https://docs.oracle.com/javase/8/docs/api/

    E in questo caso specifico la documentazione di JFileChooser:
    https://docs.oracle.com/javase/8/doc...leChooser.html

    Guarda cosa dice per il showOpenDialog. C'è anche l'esempio d'uso base all'inizio della pagina!


    Quote Originariamente inviata da desiderio Visualizza il messaggio
    Anche questa parte non ho capito. "(insiste sul fatto che il document implementi la interfaccia StyledDocument)"
    Lascia stare per il momento (non dovevo neanche accennarlo) .... argomento abbastanza "avanzato".

    Per quello che vedo, hai conoscenze limitatissime di Swing e di Java, quindi il consiglio è semplice: procedi "per gradi" in modo molto progressivo.

    Quote Originariamente inviata da desiderio Visualizza il messaggio
    Ho provato a salvare le proprietà e restituirle ma dove ho sbagliato?
    Mi spiace, non hai assolutamente compreso come si usa Properties.

    Una istanza ovvero 1 oggetto Properties è in grado di gestire e mantenere N associazioni chiave (String) --> valore (String).
    Quindi va usata una sola istanza di Properties.

    Poi le chiavi generalmente sono fisse, le stabilisce il programmatore dando dei nomi secondo certe convenzioni es. "recent.files.count", "last.inserted.name" o cose del genere.

    Quello che hai scritto purtroppo è completamente insensato. Ripeto: hai conoscenze limitatissime, abituati a documentarti, leggere, leggere, leggere, leggere, studiare.

    P.S. senza alcuna offesa o critica.... è quello che mi pare di vedere.
    Ultima modifica di andbin; 30-12-2016 a 11:11
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  8. #38
    No hai perfettamente ragione, anche perchè e da circa 20 giorni in circa 3 mesi di tempo che uso Java e non conosco molte terminologie o molte logiche dietro al codice. Calcola che sono auto-didatta e a parte un pò di programmazione lineare in Pyton ne so poco, in più la programmazione a classi la stò capendo passo passo. Credevo che la programmazione fosse uguale alla teoria degli insiemi ma mi accorgo che non è proprio cosi. Però un passetto alla volta ci riuscirò dai. Per la tua domanda: alcune cose le capisco altre no dipende.
    Più che altro i termini che sono scontati all'interno del vostro campo e che esprimono un intero concetto un solo singolo termine, io dovrei leggerli "srotolati" e descritti per arrivare a chiarire il tutto.
    Comunque fai bene a dirmi le cose e ti ringrazio, lo vedo come un metro di giudizio per migliorare.
    Una domanda ma come posso sul Properties creare allora una chiave dicendo di copiare\salvare il contenuto di un Jtextfield di nome textCLIENTE? e cosi via gli altri. Grazie.

  9. #39
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da desiderio Visualizza il messaggio
    No hai perfettamente ragione, anche perchè e da circa 20 giorni in circa 3 mesi di tempo che uso Java e non conosco molte terminologie o molte logiche dietro al codice. Calcola che sono auto-didatta e a parte un pò di programmazione lineare in Pyton ne so poco, in più la programmazione a classi la stò capendo passo passo. Credevo che la programmazione fosse uguale alla teoria degli insiemi ma mi accorgo che non è proprio cosi. Però un passetto alla volta ci riuscirò dai. Per la tua domanda: alcune cose le capisco altre no dipende.
    Più che altro i termini che sono scontati all'interno del vostro campo e che esprimono un intero concetto un solo singolo termine, io dovrei leggerli "srotolati" e descritti per arrivare a chiarire il tutto.
    Comunque fai bene a dirmi le cose e ti ringrazio, lo vedo come un metro di giudizio per migliorare.
    Capisco quello che dici. Non c'è problema. Come ho già detto più volte, se hai dubbi su termini, regole, concetti, ecc... chiedi pure sul forum tranquillamente.

    Quote Originariamente inviata da desiderio Visualizza il messaggio
    Una domanda ma come posso sul Properties creare allora una chiave dicendo di copiare\salvare il contenuto di un Jtextfield di nome textCLIENTE? e cosi via gli altri. Grazie.
    codice:
    Properties props = new Properties();
    props.setProperty("testo.cliente", textCLIENTE.getText());
     ....
    
    props.store( .... );

    In lettura una cosa similare ma opposta: crei sempre un nuovo Properties(), fai il load() e poi usi getProperty con quelle stesse chiavi che hai stabilito per riottenere i valori dal file.

    Riguardo dove posizionare il file, non va bene come avevi fatto prima che hai mescolato scrittura su file con FileOutputStream e poi lettura da una "risorsa" con getResourceAsStream.
    Il principio delle risorse non va usato in questo caso perché il file deve essere aggiornato (le risorse come intese da getResourceAsStream sono da trattare come "a sola lettura").

    Puoi leggere/scrivere un file nella directory "corrente" (o comunque in un percorso "relativo"). Oppure puoi rintracciare una directory "nota" come ad esempio la home directory dell'utente (su Windows qualcosa tipo C:\Users\nomeutente ) che si ottiene tramite System.getProperty("user.home"). Una applicazione può avere tipicamente una directory chiamata .xyz (punto qualcosa) lì sotto la home e dentro ci mette i suoi file di dati, configurazioni, ecc...
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  10. #40
    Ho provato a scrivere cosi con i tuoi consigli, ma ho ancora dubbi perchè non è corretto.

    Le proprietà "prop" quando avvio il programma, digito sul Jtextfield "textCLIENTE" un testo a caso tipo: "ciao" e il setProperty lo salva, giusto? Poi se si quando? alla chiusura del programma?
    Stessa cosa quando riapro il programma mi ritrovo sul Jtextfield "textCLIENTE" il testo "ciao"?

    OutputStream output = null; Chi è? e cosa fa? perchè ha logica non dovrebbe essere Input?
    ho creato "file" come variabile che detiene il file "Properties.txt" nella directory del programma e tramite getProperty mi salva i contenuti del prop. Due domande la variabile "file" dove deve andare?
    La System.getProperty("user.home") ho letto che se cambi nome alla cartella del programma può creare un bug Java, allora ho pensato (nn so se erroneamente) di salvarla nel file di nome "Properties.txt". Questo è corretto? o devo scrivere "xyz.Properties.txt"?

    Poi output posso toglierlo perchè cosi mi sembra inutile?
    Ma perchè è nello .store, nel finally, e close();?


    Nel .load ho scritto "File" immaginando che caricasse il file ma penso che dovrebbe caricarmi le proprietà per stamparle nel, in questo caso, text.CLIENTE perciò che funzione ha?
    E come in alto l'input? grazie

    Ti scrivo queste domande perchè non ho trovato risposte nella ricerca che ho fatto.

    codice:
    class App {
                  public void main(String[] args) {
    
    
                    Properties prop = new Properties();
                    OutputStream output = null;
    
    
                    try {
    
    
                        String File = System.getProperty("Properties.txt");
    
    
                        prop.setProperty("testo.cliente", textCLIENTE.getText());
    
    
                        prop.store(output, null);
    
    
                    } catch (IOException io) {
                        io.printStackTrace();
                    } finally {
                        if (output != null) {
                            try {
                                output.close();
                            } catch (IOException e) {
                                e.printStackTrace();
                            }
                        }
    
    
                    }
                  }
                }    
            
            
            class App1 {
    
    
                  public void main(String[] args) {
                    App1 app = new App1();
                    app.printThemAll();
                  }
    
    
                  private void printThemAll() {
    
    
                    Properties prop = new Properties();
                    InputStream input = null;
    
    
                    try {
    
    
    
    
                        prop.load(new FileInputStream("File"));
    
    
    
    
    
    
                    } catch (IOException ex) {
                        ex.printStackTrace();
                    } finally {
                        if (input != null) {
                            try {
                                input.close();
                            } catch (IOException e) {
                                e.printStackTrace();
                            }
                        }
                    }
    
    
                  }
    
    
                }
    Ultima modifica di desiderio; 31-12-2016 a 05:03

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 © 2026 vBulletin Solutions, Inc. All rights reserved.