Grazie mille,
ho dato un'occhiata, non sono però riuscito a farlo funzionare.
Posto il codice.....
L'actione del JButton....
codice:
private class ActionBtn implements ActionListener {
public void actionPerformed (ActionEvent e) {
Prova p = new Prova(5000);
p.splashWaitAndStop();
// dopo crea il JDialog....
new FrameC(false);
}
}
La Classe Prova() con cui ho provato....
codice:
public class Prova extends JFrame {
/**
*
*/
private static final long serialVersionUID = 1L;
private int duration;
private JLabel banner;
private Color colore;
private JPanel container;
public Prova(int duration) {
this.duration = duration;
// creo lo splash screen usando un JFrame
banner = new JLabel("ATTENDERE");
colore = Coockies.verdeBar;
banner.setForeground(colore);
JLabel icoLoad = new JLabel(new ImageIcon("images\\ico\\loading6.gif"));
container();
container.add(banner);
container.add(icoLoad);
home();
} // FCOS
public void splashWaitAndStop() {
// visualizza lo splash
SwingUtilities.invokeLater(new Runnable() {
public void run() { setVisible(true); }
});
// attendi per tot ms
try { Thread.sleep(duration); }
catch(InterruptedException e) { System.err.println(e);}
// nascondi lo splash
SwingUtilities.invokeLater(new Runnable() {
public void run() { setVisible(false); }
});
} // FM
private void container() {
container = new JPanel();
container.setBorder(BorderFactory.createLineBorder(colore));
container.setOpaque(true);
} //FM
private void home() {
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice gd = ge.getDefaultScreenDevice();
final boolean possibile = gd.isWindowTranslucencySupported(TRANSLUCENT);
setContentPane(container);
setUndecorated(true);
if (possibile) { setOpacity(0.8f); }
new Posiziona(this);
setDefaultCloseOperation(JDialog.DO_NOTHING_ON_CLOSE);
setResizable(false);
pack();
setAlwaysOnTop(true);
} // FM
} // FC
Non so dov'è l'errore,
il JFrame con la JLabel e l'icona .gif di caricamento
non vengono visualizzati!!!