14 Fév2016
Swing : Manipulation des évènements
Objectifs :
- Création des interfaces graphiques avec la bibliothèque Swing.
- Manipulation des événements.
- Découvrir les composants graphiques.
Énoncé :
Créer le formulaire ci-dessous,
Indication 1 :
private void jComboBox1ActionPerformed(java.awt.event.ActionEvent evt) { jTextField1.setText(jComboBox1.getSelectedItem().toString()); }
Indication 2 :
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { List a = new ArrayList(); a = jList2.getSelectedValuesList(); StringBuffer l = new StringBuffer(); for(int i = 0;i < a.size();i++) l = l.append(a.get(i)+","); jTextField2.setText(l.toString()); }
Indication 3
private void jCheckBox1ActionPerformed(java.awt.event.ActionEvent evt) { jTextArea1.setText(jTextArea1.getText().concat(jCheckBox1.getText())); } private void jCheckBox2ActionPerformed(java.awt.event.ActionEvent evt) { jTextArea1.setText(jTextArea1.getText().concat("\n"+jCheckBox2.getText())); }
NB : Penser aux collections.
Pour la question 1, lorsque l'utilisateur sélectionne une ville, cette dernière sera affichée dans le champ texte.
private void jComboBox1ActionPerformed(java.awt.event.ActionEvent evt) { jTextField1.setText(jComboBox1.getSelectedItem().toString()); }
Pour la quetion 2, l'utilisateur sélectionne une liste des villes, au clic sur le bouton, les villes sélectionnées seront affichées dans le champ texte séparées par ",".
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { //Récupération des éléments sélectionnés List l = jList1.getSelectedValuesList(); //Décalration d'une chaine modifiable StringBuffer sb = new StringBuffer(); //Parcours de la liste for (int i = 0; i < l.size(); i++) //Ajouter à la fin de la chaine chaque élément de la list { sb.append(l.get(i) + ","); } //On affiche la chaine finale dans le JText jTextField2.setText(sb.toString()); }
Pour la question 3, dès que l'utilisateur sélectionne un langage de programmation, ce dernier sera affiche dans le champ textearea, une fois dé-sélectionne il ne sera plus affiché dans le champ textearea.
private List<String> l = new ArrayList<String>(); public void affiche() { jTextArea1.setText(""); for (String s : l) { jTextArea1.append(s+"\n"); } } private void jCheckBox1ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: if (l.contains("Java")) { l.remove("Java"); } else { l.add("Java"); } affiche(); } private void jCheckBox2ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: if (l.contains("C++")) { l.remove("C++"); } else { l.add("C++"); } affiche(); } private void jCheckBox3ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: if (l.contains("PHP")) { l.remove("PHP"); } else { l.add("PHP"); } affiche(); }