addActionListener pour modifier une variable
	
	
		Bonsoir tous, je débute en java et j'ai une question.
J'ai suivi un tutoriel et j'essaye de le modifier.
J'ai ajouté des boutons, bloqué la barre d'outils, changées les  couleurs.
Le programme lance une requête par défaut, et ce que j'aimerais c'est que lorsque j'appuie sur un des boutons que j'ai ajoutés"load2", ma requête change par une préenregistrée.
Mais je ne sais pas comment faire:(:(
J'ai compris que je dois utiliser un " addactionlistener", mais je ne sais pas comment modifier ma variable requête.
Si jamais quelqu'un peut m'expliquer la démarche à suivre, ça serait gentil.
voici le code :
	Code:
	
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
 100
 101
 102
 103
 104
 105
 106
 107
 108
 109
 110
 111
 112
 113
 114
 115
 116
 117
 118
 119
 120
 121
 122
 123
 124
 125
 126
 127
 128
 129
 130
 131
 132
 133
 134
 135
 136
 137
 138
 139
 140
 141
 142
 143
 144
 145
 146
 147
 148
 149
 150
 151
 152
 153
 154
 155
 156
 157
 158
 159
 160
 161
 162
 163
 164
 165
 166
 167
 168
 169
 170
 171
 172
 173
 174
 175
 176
 177
 178
 179
 180
 181
 182
 183
 184
 185
 186
 187
 188
 189
 190
 191
 192
 193
 194
 195
 196
 197
 198
 199
 
 | package com.sdz.connection;
 
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
 
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JSplitPane;
import javax.swing.JTable;
import javax.swing.JTextArea;
import javax.swing.JToolBar;
 
import com.sdz.connection.SdzConnection;
 
public class Fenetre extends JFrame {
 
 
 
  /**
  * ToolBar pour le lancement des requêtes
  */
  private JToolBar tool = new JToolBar();
 
  /**
  * Le bouton
  */
  private JButton load = new JButton("Exécution");
  private JButton load2 = new JButton("Requete 1");
  private JButton load3 = new JButton("Requete 2");
 
  /**
  * Le délimiteur
  */
  private JSplitPane split;
 
  /**
  * Le conteneur de résultat
  */
  private JPanel result = new JPanel();
 
  /**
  * Requête par défaut pour le démarrage
  */
  private String requete = "SELECT  * FROM client"; 
 
  /**
  * Le composant dans lequel taper la requête
  */
  private JTextArea text = new JTextArea(requete);
 
 
  /**
  * Constructeur
  */
  public Fenetre(){
    setSize(900, 600);
    setTitle("Léonard Christophe");
    setLocationRelativeTo(null);
    setDefaultCloseOperation(EXIT_ON_CLOSE);
    initToolbar();
    initContent();
    initTable(requete);
 
  }
 
  /**
  * Initialise la toolbar
  */
  private void initToolbar()
  {
 
    load.setBackground(Color.LIGHT_GRAY);
    load.addActionListener(new ActionListener()
    {
      public void actionPerformed(ActionEvent event)
      {
        initTable(text.getText());
      }
 
    }
    );
    load2.addActionListener(new ActionListener()
    {
      public void actionPerformed(ActionEvent event)
      {
 
    /// beuu
 
      }
 
    }
    );
 
  tool.setFloatable(false);
  tool.add(load);
  tool.addSeparator();
  tool.addSeparator();
  tool.add(load2);
  tool.addSeparator();
  tool.add(load3);
    getContentPane().add(tool, BorderLayout.NORTH);
  }
 
  /**
  * Initialise le contenu de la fenêtre
  */
  public void initContent(){
    //Vous connaissez ça...
    result.setLayout(new BorderLayout());
    split = new JSplitPane(JSplitPane.VERTICAL_SPLIT, new JScrollPane(text), result);
    split.setDividerLocation(80);
    getContentPane().add(split, BorderLayout.CENTER);
 
 
  }
 
  /**
  * Initialise le visuel avec la requête saisie dans l'éditeur
  * @param query
  */
  public void initTable(String query){
    try {
    //On crée un statement
      long start = System.currentTimeMillis();
      Statement state = SdzConnection.getInstance().createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
 
      //On exécute la requête
      ResultSet res = state.executeQuery(query);
      //Temps d'exécution
 
      //On récupère les meta afin de récupérer le nom des colonnes
      ResultSetMetaData meta = res.getMetaData();
      //On initialise un tableau d'Object pour les en-têtes du tableau
      Object[] column = new Object[meta.getColumnCount()];
 
      for(int i = 1 ; i <= meta.getColumnCount(); i++)
        column[i-1] = meta.getColumnName(i);
 
      //Petite manipulation pour obtenir le nombre de lignes
     res.last();
 
     Object[][] data = new Object[res.getRow()][meta.getColumnCount()];
 
      //On revient au départ
      res.beforeFirst();
      int j = 1;
 
      //On remplit le tableau d'Object[][]
      while(res.next()){
        for(int i = 1 ; i <= meta.getColumnCount(); i++)
          data[j-1][i-1] = res.getObject(i);
 
        j++;
      }
 
      //On ferme le tout                                     
      res.close();
      state.close();
 
 
 
      //On enlève le contenu de notre conteneur
      result.removeAll();
      //On y ajoute un JTable
      result.add(new JScrollPane(new JTable(data, column)), BorderLayout.CENTER);
     result.add(new JLabel("requête ok"), BorderLayout.SOUTH);
      //On force la mise à jour de l'affichage
     result.revalidate();
 
    } catch (SQLException e) {
      //Dans le cas d'une exception, on affiche une pop-up et on efface le contenu		
      result.removeAll();
      result.add(new JScrollPane(new JTable()), BorderLayout.CENTER);
      result.revalidate();
      JOptionPane.showMessageDialog(null, e.getMessage(), "ERREUR ! ", JOptionPane.ERROR_MESSAGE);
    }	
  }
 
  /**
  * Point de départ du programme
  * @param args
  */
  public static void main(String[] args){
    Fenetre fen = new Fenetre();
  fen.setVisible(true);
  }
} |