print

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
PrintWhatYouLike ovvero stampa solo quello che vuoi

PrintWhatYouLike ovvero stampa solo quello che vuoi

In giro ho trovato un servizio molto utile, che in pratica ti consente di stampare solo determinate parti di una pagina web.

Il servizio si chiama PrintWhatYouLike, ed è gratuito e non richiede neanche registrazione.

C'è anche una versione a pagamento che ti da qualche opzione in più.

Accedendo alla home c'è una casella dove mettere l'indirizzo della pagina che ci interessa.

Mattepuffo's logo
Stampare con C#

Stampare con C#

Mnetre stampare una JTable in Java è piuttosto semplice, stampare una DataGridView in C# non è così immediato.

Prima di tutto nel Windows Form aggiungete un oggetto PrintDocument.

Ve lo ritroverete in basso; selezionatelo e nelle proprietà impostate il DocumentName e tra gli eventi impostate l'evento PrintPage.

L'evento sarà una cosa del genere:

private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
    Bitmap bm = new Bitmap(this.dataGridViewEntrate.Width, this.dataGridViewEntrate.Height);
    Rectangle rc = new Rectangle(0, 0, this.dataGridViewEntrate.Width, this.dataGridViewEntrate.Height);
    dataGridViewEntrate.DrawToBitmap(bm, rc);
    e.Graphics.DrawImage(bm, 0, 0);
}

In pratica definiamo l'area da stampare e trasformiano la DataGridView in una Bitmap.

Per fare le cose per bene aggiungiamo anche un oggetto PrintDialog e nelle proprietà impostiamo Document impostando printDocument1....(controllate anche le opzioni che sono interessanti).

Mattepuffo's logo
La funzione printf del C++

La funzione printf del C++

Per chi si affaccia alla programmazione, o per chi viene da linguaggi più semplici, a volte il funzionamento della funzione printf() del C++ rimane un pò oscura all'inizio.

Preciso comunque che printf() è presenta anche in altri linguaggi com il C o il PHP.

Ma non conosco il C e in PHP la uso poco, quindi non so se ci sono differenze.

Per quanto il C++ questo è un banale esempio:

int a = 10;

printf("Il numero è: %d", a);

Cos'è quel %d?

Banalmente si può dire che è un segna posto.

In pratica printf è in grado stampare qualsiasi contenuto, che sia numerico, carattere, ecc.

Mattepuffo's logo
I media type nei CSS

I media type nei CSS

In genere siamo abituati a includere i nostri CSS nella pagina senza usare l'attributo media.

In verità è un attributo molto importante perchè ci permette di differenziare i CSS a seconda del dispositivo che accede alla pagina.

Un tipo lo abbimo già visto in questo articolo, ed è quello relativo alla stampa:

<link type="text/css" rel="stylesheet" href="/site/template/css/print.css" media="print" />

Come vedete ho usato il media print.

Mattepuffo's logo
Stampare una JTable

Stampare una JTable

Dopo aver visto come stampare con Javascript, oggi vediamo come farlo con Java.

Nel caso specifico io voglio stampare la mia JTable.

Ho aggiunto un JMenuItem e ho impostato un Action Performed.

Stampare una JTable è molto semplice in quanto, come anche altri componenti, eredita il metodo print().

Possiamo anche passargli uno o più parametri; vedete JTable.PrintMode.

Se vedete la pagina possiamo impostare anche più di un parametro.

Nel mio caso me ne basta uno ed è quello che imposta la larghezza in modo che tutte le colonne rientrino nella larghezza della pagina.

In fase di stampa imposto la stampante in modalità orizzontale.