IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Sources JavaConsultez toutes les sources

Nombre d'auteurs : 29, nombre de sources : 134, création le 13 avril 2013 

 
OuvrirSommaireInterfaces graphiquesGénéralités

Affiche le titre d'un onglet d'une rotation de 90° vers la gauche par rapport au sens de lecture habituel.

Créé le 6 août 2004  par Ioan Calapodescu

Téléchargez le zip

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.

Créé le 16 août 2004  par Ioan Calapodescu

Téléchargez le zip

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.

Créé le 16 août 2004  par Johann Heymes

Téléchargez le zip

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

Créé le 16 septembre 2004 

Téléchargez le zip

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.

Créé le 16 septembre 2004  par Destrumel

Téléchargez le zip

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 ...

 
Sélectionnez

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();
  }
} 
Créé le 15 janvier 2005  par ThePills

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.

Créé le 11 juin 2005  par ThePills

Téléchargez le zip

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.

Créé le 11 juin 2005  par ThePills

Téléchargez le zip

Un petit composant utile pour capturer un combinaison de touches.

Créé le 11 juin 2005  par JHelp

Téléchargez le zip

Drag & Drop avec Style et l'API Swing

Exemple en ligne (JNLP)

Créé le 21 novembre 2005  par Romain Guy

Téléchargez le zip

Attendre avec style et l'API Swing

Exemple en ligne (JNLP)

Attention : Seuls les fichiers AnimatedPanel.java et InfiniteProgressPanel.java sont librement utilisables. Contactez moi pour les autres sources.

Créé le 21 novembre 2005  par Romain Guy

Téléchargez le zip

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-2005 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.