echo

Mattepuffo's logo
Creare una ListView multiple choice in Android

Creare una ListView multiple choice in Android

Android ci mette a disposizione già diverse opzioni per le ListView.

Quindi, se non dobbiamo creare qualcosa di custom, possiamo usare una di quelle "già pronte".

Oggi vediamo come creare una ListView con multiple choice in Java.

Mattepuffo's logo
Svuotare un file di testo in Linux

Svuotare un file di testo in Linux

Svuotare o troncare un file di testo vuol dire cancellare il contenuto senza cancellare il file e ricrearlo.

In molti casi può essere molto più veloce.

Vediamo qualche modo per fare questa operazione in Linux.

Mattepuffo's logo
Usare DirectoryChooser in JavaFX

Usare DirectoryChooser in JavaFX

In Java Swing abbiamo il JFileChooser che può essere usato per selezionare sia file che directory usando un flag apposito.

Ho scoperto che in JavaFX ci sono due componenti distinti per queste operazioni.

Oggi vediamo DirectoryChooser, che ci permette di selezionare solo directory.

Mattepuffo's logo
Riempire un JTree con file in maniera ricorsiva

Riempire un JTree con file in maniera ricorsiva

Quello che vogliamo ottenere è un JTree riempito con directory e file in maniera ricorsiva.

Quindi, scelta la directory iniziale attraverso un JFileChooser, riempiamo il JTree.

Cominciamo dal JFileChooser:

import java.io.File;
import javax.swing.JFileChooser;

public class FileChooserOpen extends JFileChooser {

    private File dir = null;

    public FileChooserOpen() {
        super("Scegli directory");
        setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
        setAcceptAllFileFilterUsed(false);
    }

    @Override
    public void approveSelection() {
        dir = getSelectedFile();
        super.approveSelection();
    }

    public File getDir() {
        return dir;
    }
}

A questo punto, impostiamo un evento dove vi pare, che lancia il JFileChooser e prende la directory scelta.

Mattepuffo's logo
Esportare una JList in Java

Esportare una JList in Java

JList è un componente SWING che rappresenta una serie di oggetti sotto forma di lista.

Qui avevo spiegato come caricare una JLlist da una file XML per esempio.

Oggi vediamo come esportarli in formato TXT.

Inoltre integreremo utto con il solit JFileChooser per decidere dove salvare il file.

Prima di tutto nel vostro JFrame preparate l'evento che poi richiamerà il JFC (ad esempio un menu o un bottone).

Poi preparate il JFC; tipo questo:

import java.io.File;
import java.io.IOException;
import javax.swing.JFileChooser;
import javax.swing.filechooser.FileFilter;

public class FileChooserTxt {

    private static File f = null;

    public static String salva() throws IOException {
        JFileChooser fc = new JFileChooser();
        fc.setDialogTitle("Save TXT");
        fc.setApproveButtonText("Save");
        fc.setApproveButtonToolTipText("Approve file");

        FileFilter txtFilter = new GenericFileFilter("File *.txt", "txt");
        fc.setFileFilter(txtFilter);

        int returnVal = fc.showSaveDialog(fc);
        if (returnVal == JFileChooser.APPROVE_OPTION) {
            f = fc.getSelectedFile();
            FileFilter selectedFilter = fc.getFileFilter();
            if (f.getName().indexOf('.') == -1) {
                f = new File(f.getPath() + ".txt");
            }
        }
        return f.toString();
    }
}

Qui ho messo un solo filtro perchè l'esportazione la faccio solo in TXT.

Mattepuffo's logo
Leggere i tag MP3 con Java

Leggere i tag MP3 con Java

In giro si trovano varie librerie per leggere i tag dei file MP3 con java.

Tra le tante ho scelto questa: Jid3lib.

Prima di tutto considerate che esistono varie versioni di tag.

Qui potete una descrizione.

A questo punto partiamo; scaricate la libreria e aggiungetela al vostro progetto.

Quello di cui abbiamo bisogno è uno o più files da scansionare.

Se ad esempio volete scegliere il tutto tramite JFileChooser:

public class Main {

    private static File[] arrayFiles;

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {

            @Override
            public void run() {
                JFileChooser fc = new JFileChooser(System.getProperty("user.home"));
                FileFilter mp3Filter = new FileNameExtensionFilter("MP3", "mp3");
                fc.setFileFilter(mp3Filter);
                fc.setFileSelectionMode(JFileChooser.FILES_ONLY);
                fc.setMultiSelectionEnabled(true);
                int returnVal = fc.showOpenDialog(fc);
                if (returnVal == JFileChooser.APPROVE_OPTION) {
                    arrayFiles = fc.getSelectedFiles();
                }
                FrameList fl = new FrameList(arrayFiles);
                fl.setVisible(true);
            }
        });
    }
}


Dove FrameList è uno JFrame con dentro una JTextArea o un componente affine.