jframe

Mattepuffo's logo
Impostare l'altezza delle righe in una JTable

Impostare l'altezza delle righe in una JTable

In questi giorni ho ripreso in mano Java, e nello specifico sto lavorando molto con le JTable.

Oggi vi svelo due modi per impostare l'altezza delle righe.

Il primo modo agisce direttamente sulla tabella interessata.

Nel costruttore del JFrame, dopo l'inizializzazione della JTable:

tbl.setRowHeight(20);

Nel caso di una sola tabella, o nel caso in cui ogni tabella ha una proprio impostazione, possiamo procedere in questo modo.

Nel caso in cui si hanno più JTable che devono avere la stessa impostazione, questo è scomodo perchè questo comando andrebbe ripetuto per ogni tabella.

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.

Mattepuffo's logo
Disegnare su JPanel

Disegnare su JPanel

Torniamo a parlare un pò di Java (che purtroppo ho dovuto un pò tralasciare per poco tempo).

Oggi vediamo come poter disegnare un rettangolo con il mouse su un JPanel.

Inoltre dovrà implementare MouseListener e MouseMotionListener e i metodi derivati:

  • mousePressed
  • mouseDragged
  • mouseReleased
  • mouseClicked
  • mouseEntered
  • mouseExited
  • mouseMoved

Gli ultimi 4 metodi però rimarrano vuoti perchè non ci serviranno.

Vediamo come strutturare il tutto:

public class FrameDraw extends JFrame {

    private JScrollPane scroll;
    private int width = (int) Toolkit.getDefaultToolkit().getScreenSize().getWidth(); // DIMENSIONE JPANEL
    private int height = (int) Toolkit.getDefaultToolkit().getScreenSize().getHeight(); // DIMENSIONE JPANEL

    public FrameDraw() {
        super("Draw panel");
        setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        setLayout(new BorderLayout());
        ImagePanel panel = new ImagePanel();
        scroll = new JScrollPane(panel);
        add(scroll, BorderLayout.CENTER);
    }

// CLASSE PRIVATA JPANEL.

}

Questo è il JFrame principale; ImagePanel sarà il JPanel che andremo ad inserire come classe privata.

Mattepuffo's logo
Creare uno splash screen in Java

Creare uno splash screen in Java

Java mette a disposizione la classe SplashScreen per creare degli splash screen per le nostre applicazioni.

A mio modo di vedere però sono poco flessibili e si possono ottenere cose migliori usando un JWindow.

Io per creare il mio splash ho usato una JWindow temporizzato; così facendo posso impostare qualsiasi aspetto della finestra.

Inoltre con la classe Timer possiamo decidere per quanto visualizzare la finestra.

Mattepuffo's logo
Creare grafici in Java con JFreeChart

Creare grafici in Java con JFreeChart

JFreeChart è una libreria per Java per creare grafici.

I dati per riempire i grafici possiamo crearli staticamente o prenderli da altre fonti, tipo da database MySQL.

E questo è proprio l'esempio che vedremo.

Inoltre possiamo sia creare un'immagine sul disco che aggiungerlo a un pannello.

Nello specifico vedremo questo esempio.

Prima di tutto scarichiamo la libreria da qua; tenete conto che JFreeChart richiede anche JCommon che comunque potete scaricare sempre dalla stessa pagina.

Poi aggiungete le librerie al vostro progetto.