IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Sommaire > Interfaces graphiques > Généralités
        Affichage vertical des titres des onglets d'un JTabbedPane
        JPanel supportant le copier-coller d'images
        Chronomètre simple utilisant un javax.swing.Timer
        Affichage d'informations dans une StatusBar
        Petit utilitaire qui permettant de redimensionner et de déplacer des objets à l'aide de la souris :
        Boîte de dialogue permettant de choisir/appliquer un Look and Feel de manière dynamique
        JCountrySpinner
        JCountryBox
        JKeyboard

        


Auteur : Vedaer
Version : 06/08/2004
Téléchargez le zip
Affichage vertical des titres des onglets d'un JTabbedPane
Affiche le titre d'un onglet d'une rotation de 90° vers la gauche par rapport au sens de lecture habituel.


Auteur : Vedaer
Version : 16/08/2004
Téléchargez le zip
JPanel supportant le copier-coller d'images
La classe TransferableImage est une enveloppe autour d'une instance d'Image.
La classe de test utilise le presse-papiers du système pour copier/coller ce type d'image dans un JPanel.


Auteur : Johann Heymes
Version : 16/08/2004
Téléchargez le zip
Chronomètre simple utilisant un javax.swing.Timer
Cet exemple utilise un javax.swing.Timer pour représenter un chronomètre simple.
Le lancement et l'arrêt de celui-ci se fait grâce à un JButton.
La classe javax.swing.Timer remplace avantageusement l'utilisation directe de thread. Elle génère un évènement à intervalles réguliers (à la milli-seconde). C'est le "event-dispatching thread" qui exécute l'évènement, donc on peut directement modifier des objets graphiques.


Version : 16/09/2004
Téléchargez le zip
Affichage d'informations dans une StatusBar
Ce programme affiche des informations comme CAPS lock, NUM lock, Scroll lock, la date d'aujourd'hui ainsi que l'heure dans la StatusBar d'une JFrame


Auteur : Destrumel
Version : 16/09/2004
Téléchargez le zip
Petit utilitaire qui permettant de redimensionner et de déplacer des objets à l'aide de la souris :
Ces classes permettent d'afficher des objets sur un fond. Ces objets peuvent être redimentionnés et déplacés à l'aide de la souris.


IMPORTANT : L'utilisation de ces fichiers se réduit à "exemple_fen.java" et "exemple_obj.java" Il n'est pas indispensable d'étudier les autres classes.


A - Comment tester cet exemple

1 - compilez les fichiers 2 - executez "exemplefen.class" 3 - cliquez sur les objets affichés, puis déplacez-les et modifez l'élastique.


B - Comment créer vos propres objet regardez les 2 fichiers exemples

1 - comme décrit dans "exemple_fen.java", construisez le fond et les objets. 2 - comme décrit dans "exemple_obj.java", créer votre propre objet.


C - description succinte des fichiers

1 - elastique.java Ce sont les 8 points qui entourent l'objet sélectionné et qui permettent de le redimenssioner. Cette classe est transparente pour le programmeur

2 - elastiquepoint.java C'est 1 point de l'élastique. Cette classe est transparente pour le programmeur

3 - elastiqueListener.java Interface reconnue par l'élastique. Les objets redimensionnables doivent contenir cette interface : - "implements elastiqueListener" Cette classe est transparente pour le programmeur

4 - elastiqueobjet.java C'est un objet - de type JComponent - qui peut-être déplacé ou redimenssionné à l'aide de la souris. Vos objets doivent hériter de cette classe "elsatiqueobjet"


Attention "elastiqueobjet" utilise 2 methodes des événement souris : - "MousePressed()" - "MouseDragged()" Ces 2 méthodes vous sont interdites. "elastiqueobjet" transmet ces événements aux classes filles dans de nouvelles méthodes : - "MousePressedObjet()" - "MouseDraggedObjet()" (voir : exemple_obj.java")


5 - elastiquefond.java C'est le fond sur lequel seront posés les objets.

Attention "elastiquefond" utilise une methodes événement souris : - "MousePressed()" Cette méthodes vous est interdites. "elastiquefond" transmet cet événement dans une nouvelle méthode : - "MousePressedFond()"


------------------------------ IMPORTANT :

6 - exemple_fen.java Fichier d'exemple, Il montre comment créer un une application qui utilisera l'élastique.


7 - exemple_objet.java Fichier d'exemple. Il présente la façon de construire vos propres objets qui seront redimensionnable.


Auteur : ThePills
Version : 15/01/2005
Boîte de dialogue permettant de choisir/appliquer un Look and Feel de manière dynamique
Utilisation : new JLookAndFeelChooser(aFrame).setVisible(true);
Avantage : Prend en compte tous les look and feels du système -> réagit à l'installation de nouveaux L&F
Inconvénient : certains L&F non officiels sont relativement instables ...

import java.awt.*; import java.awt.event.*; import javax.swing.*; public final class JLookAndFeelChooser extends JDialog implements ActionListener { private static final LookAndFeelInfo[] LIST_L_AND_F = UIManager.getInstalledLookAndFeels(); private Frame frame; private JButton boutonAnnuler = null; private JButton boutonOK = null; private JComboBox comboLandF = null; private JPanel jContentPane = null; private JPanel panelB = null; private JPanel panelH = null; public JLookAndFeelChooser(Frame frame) { super(frame, true); this.frame = frame; this.setTitle("Choisissez le Look & Feel..."); this.setSize(200, 110); this.setLocationRelativeTo(getParent()); this.setDefaultCloseOperation(DO_NOTHING_ON_CLOSE); this.setContentPane(getJContentPane()); } public void actionPerformed(ActionEvent ae) { Object source = ae.getSource(); if (source == boutonOK) { closeAndApply(); } else if (source == boutonAnnuler) { close(); } } private JButton getBoutonAnnuler() { if (boutonAnnuler == null) { boutonAnnuler = new JButton("Annuler"); boutonAnnuler.addActionListener(this); } return boutonAnnuler; } private JButton getBoutonOK() { if (boutonOK == null) { boutonOK = new JButton("OK"); boutonOK.addActionListener(this); } return boutonOK; } private JComboBox getComboLandF() { if (comboLandF == null) { String[] names = new String[LIST_L_AND_F.length]; for (byte b = 0; b < LIST_L_AND_F.length; b++) { names[b] = LIST_L_AND_F[b].getName(); } comboLandF = new JComboBox(names); comboLandF.setSelectedItem(UIManager.getLookAndFeel().getName()); } return comboLandF; } private JPanel getJContentPane() { if (jContentPane == null) { jContentPane = new JPanel(); jContentPane.setLayout(new GridLayout(2, 1)); jContentPane.add(getPanelH()); jContentPane.add(getPanelB()); } return jContentPane; } private JPanel getPanelB() { if (panelB == null) { panelB = new JPanel(); panelB.setLayout(new FlowLayout()); panelB.add(getBoutonOK()); panelB.add(getBoutonAnnuler()); } return panelB; } private JPanel getPanelH() { if (panelH == null) { panelH = new JPanel(); panelH.setLayout(new FlowLayout()); panelH.add(getComboLandF()); } return panelH; } private void close() { this.setVisible(false); this.dispose(); } private void closeAndApply() { if (frame != null) { byte b = (byte) comboLandF.getSelectedIndex(); String lookAndFeel = LIST_L_AND_F[b].getClassName(); try { UIManager.setLookAndFeel(lookAndFeel); SwingUtilities.invokeLater(new Runnable() { public void run() { SwingUtilities.updateComponentTreeUI(frame); } }); } catch (Exception e) { e.printStackTrace(); } } close(); } }

Auteur : ThePills
Version : 11/06/2005
Téléchargez le zip
JCountrySpinner
Petite classe de type JSpinner permettant à l'utilisateur de sélectionner un pays. Tous les pays reconnus par Java sont listés. Ils sont écrits dans la langue par défaut du système et classés par ordre alphabetique. Utile lors de la programmation de formulaires d'inscription, de gestion d'adresse et autres choses du même genre.


Auteur : ThePills
Version : 11/06/2005
Téléchargez le zip
JCountryBox
Boîte de choix de type JComboBox permettant à l'utilisateur de sélectionner un pays. Tous les pays reconnus par Java sont listés. Ils sont écrits dans la langue par défaut du système et classés par ordre alphabétique. Utile lors de la programmation de formulaires d'inscription, de gestion d'adresse et autres choses du même genre.


Auteur : JHelp
Version : 11/06/2005
Téléchargez le zip
JKeyboard
Un petit composant utile pour capturer un combinaison de touches.


        

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.