IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Sommaire > Interfaces graphiques > Fenêtres et dialogues
        JFrame mémorisant d'une exécution à l'autre sa position, sa taille et son état.
        JMenu permettant de changer de Look & Feel
        JFrame ayant pour fond une Image (centrée ou en mosaïque)
        JWindow : SplashScreen
        SplashScreen

        


Auteur : Vedaer
Version : 16/08/2004
Téléchargez le zip
JFrame mémorisant d'une exécution à l'autre sa position, sa taille et son état.
La classe TestPreferences étend JFrame. Grâce à la classe Preferences, du package java.util.prefs, elle est capable de mémoriser (pour chaque utilisateur) sa position, sa taille et son état (iconifiée, maximisée, etc.).


Auteur : Vedaer
Version : 16/08/2004
Téléchargez le zip
JMenu permettant de changer de Look & Feel
La classe TestLF étend JFrame. Elle a un JMenu l&f qui liste tous les L&F enregistrés et qui permet à l'utilisateur d'en changer par simple click.


Auteur : Clément Cunin
Version : 16/08/2004
Téléchargez le zip
JFrame ayant pour fond une Image (centrée ou en mosaïque)
La classe JPanelImageBg est une extension de JPanel. Elle redéfinit la méthode paintComponent afin de dessiner une Image. On peut choisir dans le constructeur si cette image va être centrée ou dessinée en mosaïque.


Auteur : Vedaer
Version : 16/09/2004
Téléchargez le zip
JWindow : SplashScreen
Exemple de SplashScreen construit à partir d'une JWindow.
Deux types d'utilisation possibles :

  • de manière "absolue" : affichage pendant un temps donné puis traitement du reste du code

new SplashScreen("image.gif", 5000); JOptionPane.showMessageDialog(null, "Hello world !!!", "Titre", JOptionPane.INFORMATION_MESSAGE);
  • de manière "relative" : on ne l'affiche que durant l'exécution d'une partie de code

SplashScreen splash = new SplashScreen("image.gif"); for(int i=0; i<12356; i++){ System.out.println(i); } splash.dispose();

Auteur : Michel Deriaz
Version : 15/02/2005
SplashScreen
Un splashscreen qui fonctionne également lorsque l'image à afficher se trouve dans un fichier jar.

// Upadates: 2004.04.02, 2004.01.09 import java.awt.*; import javax.swing.*; /** * A splash screen to show while the main program is loading. A typical use * is: * <pre> * * public static void main(String[] args) { * Splash s = new Splash(delay1); * new MainProgram(); * s.dispose(delay2); * } * * </pre> * The first line creates a Splash that will appear until another frame * hides it (MainProgram), but at least during "delay1" milliseconds.<br> * To distroy the Splash you can either call "s.dispose()" or * "s.dispose(delay2)", that will actually show the Splash for "delay2" * milliseconds and only then hide it.<br> * The picture to show must be in a file called "splash.png". */ public class Splash extends JWindow { /** * Creates a Splash that will appear until another frame hides it, but at * least during "delay" milliseconds. * @param delay the delay in milliseconds */ public Splash(int delay) { JPanel p = new JPanel(); p.setLayout(new BorderLayout()); p.add(new SplashPicture("splash.png")); p.setBorder(BorderFactory.createLineBorder(Color.BLUE, 10)); getContentPane().add(p); setSize(250, 250); setLocationRelativeTo(null); setVisible(true); try { Thread.sleep(delay); } catch (Exception e) {} } /** * Shows the Splash during the specified time (in milliseconds) and then * hides it. * @param delay the delay in milliseconds */ public void dispose(int delay) { dispose(); Splash s = new Splash(delay); s.dispose(); } /** * This class loads and shows a picture, that can be either in the same * jar file than the program or not. If the picture is smaller than the * available space, it will be centered. If the picture is bigger than * the available space, a zoom will be applied in order to fit exactly * the space. */ class SplashPicture extends JPanel { Image img; public SplashPicture(String file) { img = new ImageIcon(getClass().getResource(file)).getImage(); repaint(); } public void paintComponent(Graphics g) { super.paintComponent(g); if (img == null) return; int w = img.getWidth(this); int h = img.getHeight(this); boolean zoom = (w > getWidth() || h > getHeight()); if (zoom) g.drawImage(img, 0, 0, getWidth(), getHeight(), this); else g.drawImage(img, (getWidth()-w)/2, (getHeight()-h)/2, this); } } }

        

Tous les codes sources fournis gratuitement ici sont soumis à la licence GNU LGPL traduite en français ici. Par contre, la page de présentation constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright © 2004 Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. Cette page est déposée à la SACD.