Migliorare l'usabilità delle applicazioni Java con i BalloonTip


Programmando capita spesso di ricorrere all'uso di finestre di dialogo per notificare all'utente l'esito di certe operazioni. Queste finestre, nelle maggior parte dei casi, comunicano con un messaggio che l'operazione è andata a buon fine ma risultano anche molto fastidiose. Per migliorare a questa situazione si può far uso di diverse soluzioni: in questo articolo vedremo come implementare in Java un sistema di notifiche basato sui Balloon (notifica in stile fumetto, usata anche in Windows XP).

Verrà usata la libreria open source Balloon Tip for Java che risulta essere di semplice utilizzo e permette anche una discreta possibilità di personalizzazione.
Per poterla includere nel vostro progetto dovrete scaricare il file jar che trovate a questo indirizzo. Segue uno stralcio di codice in cui viene associata alla pressione di un tasto la visualizzazione della notifica. Questo sistema permette all'utente di continuare a lavorare nella propria applicazione senza essere interrotto dalla finestra di dialogo.


package javaToolTip;

import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import net.java.balloontip.BalloonTip;
import net.java.balloontip.utils.TimingUtils;

public class JToolTipTest {
JFrame mainW;
public static void main(String args[]) {
JToolTipTest jtt = new JToolTipTest();
jtt.buildUI();
}

private void buildUI() {
mainW = new JFrame("ToolTipTest");
mainW.setLayout(new FlowLayout());
final JButton jb = new JButton("Prova ToolTip");
jb.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
//Alla pressione del tasto viene associata la visualizzazione del Balloon
BalloonTip balloonTip = new BalloonTip(jb, "L'operazione è stata eseguita!");
TimingUtils.showTimedBalloon(balloonTip, 3000);
}});
mainW.add(jb);
mainW.setBounds(0,0,400,400);
mainW.setVisible(true);
}
}


La visualizzazione del Balloon può essere suddivisa in due istruzioni.
La prima BalloonTip balloonTip = new BalloonTip(jb, "L'operazione è stata eseguita!"); permette di creare l'istanza del Balloon passando come parametri il riferimento all'oggetto a cui deve essere associato (in questo caso il nostro JButton) e il testo da mostrare. Con la seconda istruzione TimingUtils.showTimedBalloon(balloonTip, 3000); viene reso visibile il fumetto. In questo caso specifico, il tip verrà mostrato per un tempo massimo di 3 secondi (3000 msec). In alternativa, è possibile mostrare permanentemente il Balloon con l'istruzione balloonTip.setVisible(true);.

Ed ecco il risultato del codice.


uploaded_image




Articolo tratto da: TaiSoN.altervista.org - Informatica e Tecnologia - http://taison.altervista.org/
URL di riferimento: http://taison.altervista.org/index.php?mod=read&id=1290861045