Interface Graphique en Java Combos, sliders, spinners et arbres

La JComboBox

●boîte déroulante qui combine une zone de texte et une liste
●utilise un ComboBoxModel
●on peut sélectionner un élément
●on est prévenu de la sélection par un ActionListener:
combo1.addActionListener(newActionListener() {
@Override
public voidactionPerformed(ActionEvent e) {
String s=(String)combo1.getSelectedItem();
if(s!=null) {
noteLabel.setText(s);
}
}
});

Un ComboBoxModel

● pour ajouter un élément, sans doublon, et à la bonne place, on va écrire notre  propre modèle:
/* We extend AbstractListModel in order to have the fire… methods */
public class MyComboModel extends AbstractListModel implements MutableComboBoxModel {
private String selectedItem;
private ArrayList<String> elements;
boolean ascending=true;
public MyComboModel(String… items) {
elements=new ArrayList<String>();
for (String s:items) {
addElement(s);
}
}

Le JSlider

● curseur à déplacer sur une barre, défini par un minimum, un maximum et une valeur courante, tous entiers
● utilise un BoundedRangeModel
● utilise un ChangeListener pour prévenir qu’une de ces valeurs a changé
● peut afficher ou non des encoches, grandes et petites, ainsi que des labels, personnalisés ou non

Le JSlider

●exemple de labels personnalisés:
private staticJLabel makeLabel(String string) {
JLabel l=newJLabel(string);
l.setOpaque(true);
l.setForeground(Color.RED);
l.setBackground(Color.GREEN);
returnl;
}
finalHashtable<Integer,JComponent> customLabels=newHashtable<Integer,JComponent>();
customLabels.put(0,makeLabel(« none »));
customLabels.put(80,makeLabel(« a bit »));
customLabels.put(190,makeLabel(« quite much »));
customLabels.put(255,makeLabel(« maximum »));
on décide des valeurs qui auront
un label

Le JSpinner

● composant destiné à éditer une valeur,  soit au clavier, soit avec 2 petites flèches
● comportement similaire au JSlider (minimum, maximum, etc)

Saisies filtrées

● les SpinnerModel refusent les valeurs qui ne correspondent pas à ce qu’ils attendent, comme par exemple un mot au lieu d’un nombre
● ce type de filtrage peut également être mis en œuvre grâce au JFormattedTextField
● exemple: filtrage d’adresses IP

Les arbres

● les acteurs:
– JTree:la vue graphique
– TreeModel:lemodèle de données
– TreeNode:lesnoeuds
● 2 façons de gérer les arbres:
– le modèle qui sait tout et fait tout
– les nœuds qui se connaissent entre eux

Si le lien ne fonctionne pas correctement, veuillez nous contacter (mentionner le lien dans votre message)
Interface Graphique en Java 1.6 Combos, sliders, spinners et arbres (635 KO) (Cours PDF)
Interface Graphique en Java

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *