Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    [Java] Salvare con struttura HTML di default

    nn so se sia possibile o troppo difficile ma vi spiego.
    ho aggiunto il filtro HTML al filechooser.
    solo che ovviamente la visualizzazione nel browser nn è granche (tutto attaccato sulla stessa riga).
    ovviamente in quanto nn ha una formattazione.
    quindi vi chiedo: è possibile salvare in html usando una struttura di defalut in modo da rendere i file più leggibili??

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: [Java] Salvare con struttura HTML di default

    Originariamente inviato da fermat
    ho aggiunto il filtro HTML al filechooser.
    solo che ovviamente la visualizzazione nel browser nn è granche (tutto attaccato sulla stessa riga).
    ovviamente in quanto nn ha una formattazione.
    quindi vi chiedo: è possibile salvare in html usando una struttura di defalut in modo da rendere i file più leggibili??
    Intanto:
    a) Di quale "browser" o componente stai parlando??
    b) Salvare in HTML partendo da che cosa?
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3

    Re: Re: [Java] Salvare con struttura HTML di default

    Originariamente inviato da andbin
    Intanto:
    a) Di quale "browser" o componente stai parlando??
    b) Salvare in HTML partendo da che cosa?
    per browser intendo un qualsiasi browser web (firefox, ie, safari, ecc).

    parto da qua:
    codice:
    import javax.swing.*;
    import java.io.*;
    import javax.swing.filechooser.FileFilter;
    import javax.swing.filechooser.FileNameExtensionFilter;
    
    public class TabellaFileChooser {
    
        public static void salva() {
            JFileChooser fc = new JFileChooser();
            FileFilter csvFilter = new FileNameExtensionFilter("File CSV", "csv");
            FileFilter htmlFilter = new FileNameExtensionFilter("File HTML", "html");
            FileFilter txtFilter = new FileNameExtensionFilter("File TXT", "txt");
            fc.addChoosableFileFilter(csvFilter);
            fc.addChoosableFileFilter(htmlFilter);
            fc.addChoosableFileFilter(txtFilter);
            int returnVal = fc.showSaveDialog(fc);
            if (returnVal == JFileChooser.APPROVE_OPTION) {
                File f = fc.getSelectedFile();
                FileFilter selectedFilter = fc.getFileFilter();
                if (f.getName().indexOf('.') == -1) {
                    if (selectedFilter == csvFilter) {
                        f = new File(f.getPath() + ".csv");
                    } else if (selectedFilter == txtFilter) {
                        f = new File(f.getPath() + ".txt");
                    } else if (selectedFilter == htmlFilter) {
                        f = new File(f.getPath() + ".html");
                    }
                }
                try {
                    FileWriter file = new FileWriter(f, true);
                    PrintWriter out = new PrintWriter(file);
                    String temp;
                    for (int row = 0; row < Tabella.getJtabella().getRowCount(); row++) {
                        temp = "";
                        for (int column = 0; column < Tabella.getJtabella().getColumnCount(); column++) {
                            String sep = ", "; // separatore di colonna
                            temp = temp.concat((String) (Tabella.getJtabella().getValueAt(row, column))) + sep;
                        }
                        out.println(temp);
                    }
                    out.println("\nTot entrate: " + Tabella.getfield9().getText() + "\nTot uscite: " + Tabella.getfield10().getText() + "\nTOT: " + Tabella.getfield15().getText() + "\nTot operazioni: " + Tabella.getfield16().getText());
                    out.close();
                } catch (IOException e) {
                    JOptionPane.showMessageDialog(fc, e, "ERRORE", JOptionPane.ERROR_MESSAGE);
                }
            }
        }
    }
    il file chooser prende il contenuto della jtable e di vari textfield.

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Re: Re: [Java] Salvare con struttura HTML di default

    Originariamente inviato da fermat
    per browser intendo un qualsiasi browser web (firefox, ie, safari, ecc).
    Ok. Quindi non è visualizzato nella tua applicazione ma in un browser "vero" esterno.

    Originariamente inviato da fermat
    parto da qua:
    codice:
                try {
                    FileWriter file = new FileWriter(f, true);
                    PrintWriter out = new PrintWriter(file);
                    String temp;
                    for (int row = 0; row < Tabella.getJtabella().getRowCount(); row++) {
                        temp = "";
                        for (int column = 0; column < Tabella.getJtabella().getColumnCount(); column++) {
                            String sep = ", "; // separatore di colonna
                            temp = temp.concat((String) (Tabella.getJtabella().getValueAt(row, column))) + sep;
                        }
                        out.println(temp);
                    }
                    out.println("\nTot entrate: " + Tabella.getfield9().getText() + "\nTot uscite: " + Tabella.getfield10().getText() + "\nTOT: " + Tabella.getfield15().getText() + "\nTot operazioni: " + Tabella.getfield16().getText());
                    out.close();
                } catch (IOException e) {
                    JOptionPane.showMessageDialog(fc, e, "ERRORE", JOptionPane.ERROR_MESSAGE);
                }
    Qui sei tu che stai scrivendo e componendo un file di testo.

    Un file HTML ... è un file di testo. Solo che devi sapere quali sono i tag HTML e comporre la struttura giusta.

    out.println("<html>");
    ....
    out.println("<body>");
    .....
    ecc.....

    E visto che parliamo di HTML, devi anche considerare e farti carico te di convertire i caratteri speciali nelle apposite "entità". Se una tua stringa di un valore contiene "A&C", nel HTML lo devi far diventare "A&amp;C".


    P.S.: e non puoi usare l'append come vedo che fai con new FileWriter(f, true) perché il HTML ha una sua struttura e non puoi banalmente accodare "qualcosa" al fondo fisico del file!!
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    uhm quindi in pratica da una parte è teoricamente semplice, dall'altra è un casino perchè devo un pò stravolgere il resto del codice giusto??
    sennò potrei creare un codice in un altro metodo apposito e richiamare quello quando si clicca sul filtro html.

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da fermat
    uhm quindi in pratica da una parte è teoricamente semplice, dall'altra è un casino perchè devo un pò stravolgere il resto del codice giusto??
    Non più di tanto. Adesso separi le colonne con "," e ad ogni riga vai a capo. In HTML puoi sfruttare i tag dedicati alle tabelle: <table>, <tr>, <td>.

    codice:
    ....
    <table>
    <tr><td>aaa</td><td>bbb</td> .... </tr>
    <tr>.......
    ....
    </table>
    ....
    Ma è chiaro che devi conoscere HTML, almeno un pochino. E tenere presente la questione dei caratteri speciali che ho già detto.

    Originariamente inviato da fermat
    sennò potrei creare un codice in un altro metodo apposito
    Questo comunque sarebbe una buona, ottima cosa in generale.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  7. #7
    sull'HTML nn ho problemi.
    penso che proverò a fare qualcosa.
    intanto grazie!!!

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.