Implementer des requetes dans des boutons

cs_rabada Messages postés 4 Date d'inscription mercredi 12 janvier 2011 Statut Membre Dernière intervention 27 mai 2011 - 24 mai 2011 à 01:18
cs_rabada Messages postés 4 Date d'inscription mercredi 12 janvier 2011 Statut Membre Dernière intervention 27 mai 2011 - 27 mai 2011 à 00:35
Bonjour à tout le monde en fait j'ai un grand probléme avec mon interface grphique java j'ai déja crée des requetes en java pour ajouter, consulter , supprimer, et modifier dans ma base MySQL et j'ai crée une fenêtre qui contient les onglets des différentes tables qui se trouvent dans ma base avec les boutons consulter,modifier ajouter ,supprimer .
Le gros problème en est que j'arrive pas à les intégrer avec les actionLIstener et je suis sur et certain que je les ai bien utilisé mais quand j'appui sur ces boutons rien ne se passe .si quelqu'un a une solution sur ce probléme ça me serait d'une très grande uilité

8 réponses

cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
24 mai 2011 à 08:55
Ca peut être un problême de repaint essaye de mettre un system.out.println dans tes actions listeners pour voir s'ils sont bien appelés. Si c'est le cas, c'est soit que tu n'as pas de repaint soit que tes fonctions dans les listeners ne marchent pas.
0
Utilisateur anonyme
24 mai 2011 à 18:28
Soit tes requêtes ne tournent pas bien, ou alors tu as comme l'as proposé Julien39 un problème de rafraichissement graphique ou alors le code de tes listeners n'est pas appelé.

Poste le code qui est concerné en utilisant les balises appropriées stp qu'on voit tout ça.

--
Pylouq (actuellement jongleur de clavier AZERTY et de clavier QWERTZ)
0
cs_rabada Messages postés 4 Date d'inscription mercredi 12 janvier 2011 Statut Membre Dernière intervention 27 mai 2011
24 mai 2011 à 23:59
Slt merçi de bien vouloir répondre à ma question mais je n'ai pas de probléme avec mes requetes je les execute et ça marche bien et aussi j'ai essaiyé d'impleter d'autres actions a mes boutons et ça marche bien
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
25 mai 2011 à 08:49
Peux tu nous donner le code de tes actionlisteners ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_rabada Messages postés 4 Date d'inscription mercredi 12 janvier 2011 Statut Membre Dernière intervention 27 mai 2011
26 mai 2011 à 00:47
dakor les voila
package Fichiers;



import java.awt.BorderLayout;

import java.awt.Dimension;

import java.awt.Point;

import java.awt.Toolkit;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;



import javax.swing.Action;

import javax.swing.ImageIcon;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JOptionPane;

import javax.swing.JPanel;

import javax.swing.JTabbedPane;

import javax.swing.UIManager;

import javax.swing.border.TitledBorder;



import org.omg.CORBA.PRIVATE_MEMBER;

import org.omg.CORBA.PUBLIC_MEMBER;

import Update.AjouterAcheteur;

import Update.ConnectionFacture;



import com.birosoft.liquid.LiquidLookAndFeel;





public class InterfaceAcheteur {



static Dimension Ecran;

static JFrame Fenetre1;

static JTabbedPane Onglets;

static JPanel Onglet6, Onglet7, Onglet8, Onglet9;

static JPanel Panneau10, Panneau11, Panneau12, Panneau13, Panneau14,

Panneau15, Panneau16;

static JButton B21, B22, B23, B24;

static JButton B25, B26, B27, B28;

static JButton B29, B30, B31, B32;

static JButton B40, B41, B42, B43, B44, B45, B46, B47;

static int Largeur_Ecran = 0;

static int Hauteur_Ecran = 0;



public InterfaceAcheteur() {

super();



Ecran = Toolkit.getDefaultToolkit().getScreenSize();

Largeur_Ecran = (int) Ecran.getWidth();

Hauteur_Ecran = (int) Ecran.getHeight();



Fenetre1 = new JFrame("Interface Acheteur");

Fenetre1.setResizable(false);

Fenetre1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

Fenetre1.getContentPane().setLayout(new BorderLayout());

Fenetre1.setSize(new Dimension(700, 500));

Fenetre1.setLocation(new Point((Largeur_Ecran - 700) / 2,

(Hauteur_Ecran - 500) / 2));

Onglet6 = new JPanel();

Onglet6.setLayout(new BorderLayout());



Panneau11 = new JPanel();

Panneau11.setLayout(null);

Panneau11.setPreferredSize(new Dimension(250, 0));

Panneau11.setBorder(new TitledBorder(""));



B21 = new JButton("Consulter", new ImageIcon("Icones/4.PNG"));

B21.setEnabled(true);

B21.setBounds(10, 10, 230, 50);

Panneau11.add(B21);



B22 = new JButton("Ajouter", new ImageIcon("Icones/5.PNG"));

B22.setBounds(10, 70, 230, 50);

ActionAdapter A1= new ActionAdapter();

B22.addActionListener(A1);



Panneau11.add(B22);



B23 = new JButton("Modifier", new ImageIcon("Icones/6.PNG"));



B23.setBounds(10, 130, 230, 50);

Panneau11.add(B23);



B24 = new JButton("Supprimer", new ImageIcon("Icones/7.PNG"));



B24.setBounds(10, 200, 230, 50);

Panneau11.add(B24);



Onglet6.add(Panneau11, BorderLayout.WEST);



Panneau12 = new JPanel();

Panneau12.setBorder(new TitledBorder(""));

Onglet6.add(Panneau12, BorderLayout.CENTER);



Onglet7 = new JPanel();

Onglet7.setLayout(new BorderLayout());



Panneau13 = new JPanel();

Panneau13.setLayout(null);

Panneau13.setPreferredSize(new Dimension(250, 0));

Panneau13.setBorder(new TitledBorder(""));



B25 = new JButton("Consulter", new ImageIcon("Icones/4.PNG"));



B25.setBounds(10, 10, 230, 50);

Panneau13.add(B25);



B26 = new JButton("Ajouter", new ImageIcon("Icones/5.PNG"));



B26.setBounds(10, 70, 230, 50);

Panneau13.add(B26);



B27 = new JButton("Modifier", new ImageIcon("Icones/6.PNG"));



B27.setBounds(10, 130, 230, 50);

Panneau13.add(B27);



B28 = new JButton("Supprimer", new ImageIcon("Icones/7.PNG"));

B28.setBounds(10, 200, 230, 50);

Panneau13.add(B28);



Onglet7.add(Panneau13, BorderLayout.WEST);



Panneau14 = new JPanel();

Panneau14.setBorder(new TitledBorder(""));

Onglet7.add(Panneau14, BorderLayout.CENTER);



Onglet8 = new JPanel();

Onglet8.setLayout(new BorderLayout());



Panneau15 = new JPanel();

Panneau15.setLayout(null);

Panneau15.setPreferredSize(new Dimension(250, 0));

Panneau15.setBorder(new TitledBorder(""));



B29 = new JButton("Consulter", new ImageIcon("Icones/4.PNG"));



B29.setBounds(10, 10, 230, 50);

Panneau15.add(B29);



B30 = new JButton("Ajouter", new ImageIcon("Icones/5.PNG"));



B30.setBounds(10, 70, 230, 50);

Panneau15.add(B30);



B31 = new JButton("Modifier", new ImageIcon("Icones/6.PNG"));



B31.setBounds(10, 130, 230, 50);

Panneau15.add(B31);



B32 = new JButton("Supprimer", new ImageIcon("Icones/7.PNG"));



B32.setBounds(10, 200, 230, 50);

Panneau15.add(B32);



Onglet8.add(Panneau15, BorderLayout.WEST);



Panneau16 = new JPanel();

Panneau16.setBorder(new TitledBorder(""));

Onglet8.add(Panneau16, BorderLayout.CENTER);



Onglet9 = new JPanel();

Onglet9.setLayout(new BorderLayout());



Panneau10 = new JPanel();

Panneau10.setLayout(null);

Panneau10.setPreferredSize(new Dimension(250, 0));

Panneau10.setBorder(new TitledBorder(""));



B40 = new JButton("Consulter les voitures", new ImageIcon(

"Icones/4.PNG"));

B40.setEnabled(true);







B40.setBounds(10, 10, 230, 50);

Panneau10.add(B40);



B41 = new JButton("Consulter les marques",

new ImageIcon("Icones/4.PNG"));

B41.setBounds(10, 70, 230, 50);

Panneau10.add(B41);



B42 = new JButton("Consulter les Vendeurs", new ImageIcon(

"Icones/4.PNG"));



B42.setBounds(10, 130, 230, 50);

Panneau10.add(B42);



B43 = new JButton("Affiche une Voiture", new ImageIcon("Icones/4.PNG"));



B43.setBounds(10, 190, 230, 50);

Panneau10.add(B43);



B44 = new JButton("Affiche un Vendeur", new ImageIcon("Icones/4.PNG"));



B44.setBounds(10, 250, 230, 50);

Panneau10.add(B44);



B45 = new JButton("Supprimer", new ImageIcon("Icones/4.PNG"));



B45.setBounds(10, 310, 230, 50);

Panneau10.add(B45);



B46 = new JButton("Supprimer", new ImageIcon("Icones/4.PNG"));



B46.setBounds(10, 370, 230, 50);

Panneau10.add(B46);



Onglet9.add(Panneau10, BorderLayout.WEST);



Onglets = new JTabbedPane();



Onglets

.addTab("Table Acheteur", new ImageIcon("Icones/3.PNG"),

Onglet6);

Onglets

.addTab("Table Commande", new ImageIcon("Icones/3.PNG"),

Onglet7);

Onglets.addTab("Table Facture", new ImageIcon("Icones/3.PNG"), Onglet8);

Onglets.addTab("Table Informations", new ImageIcon("Icones/3.PNG"),

Onglet9);

Fenetre1.getContentPane().add(Onglets, BorderLayout.CENTER);



Fenetre1.setVisible(true);

}



public static void main(String[] args) throws Exception {



try {

LiquidLookAndFeel.setLiquidDecorations(true);

UIManager.setLookAndFeel("com.birosoft.liquid.LiquidLookAndFeel");

} catch (Exception e) {

}

InterfaceAcheteur I1 = new InterfaceAcheteur();



}

}



class ActionAdapter implements ActionListener {

@Override

public void actionPerformed(ActionEvent e) {

// TODO Auto-generated method stub

AjouterAcheteur AA =new AjouterAcheteur();

}

}



Voiçi l'interface acheteur qui contient beaucoup de boutons ,maintenat si je considere le bouton 21 qui s'apelle B21 "consulter" tous les voitures disponibles dans la base et dont voila la requete





package Table;

import javax.swing.*;

import javax.swing.table.*;



import java.awt.*;

import java.util.Vector;

import java.sql.*;

import com.birosoft.liquid.LiquidLookAndFeel;

public class ListeDesVoitures extends JFrame {

public static void main( String [] args ) throws Exception

{

ListeDesAcheteurs frame = new ListeDesAcheteurs();

frame.setSize(1000,700);

frame.setLocation(200,100);

frame.setTitle("Voitures Report");



frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE);

JPanel jPanel = new JPanel( new BorderLayout() );



//Connection establishment to the database

String username = "root";

String password = "root";

String Database = "jdbc:odbc:mysql";

Connection Conn;



Conn = DriverManager.getConnection( "jdbc:mysql://localhost:3306/gestion des voitures","root", "root" );

System.out.println("*** Connect to the database ***");



//Access Rows and Columns from database

Vector<String> Columns = new Vector<String>();

Vector<Vector<Object>> Rows = new Vector<Vector<Object>>();

String Query = "Select * from voiture";



Statement smnt = Conn.createStatement();

ResultSet results = smnt.executeQuery( Query );

ResultSetMetaData metaDt = results.getMetaData();



int cols = metaDt.getColumnCount();

Columns.clear(); // clear unwanted value if exist any in Columns variable.



//Get Columns From database

for (int i = 1; i <= cols; i++)

{

Columns.addElement(metaDt.getColumnName(i));

}



Rows.clear(); // clear unwanted value if exist any in Rows variable.

//Get RowsNames From database

while( results.next())

{

Vector<Object> row = new Vector<Object>(cols);

for (int i = 1; i <= cols; i++)

{

row.addElement(results.getObject(i));

}

Rows.addElement(row);

}



results.close(); //close Resultset.

smnt.close(); //close Statement.



//Define TableModel

TableModel tmodel = new DefaultTableModel(Rows, Columns){ };



// JTable Creation

JTable Table = new JTable(tmodel);

JScrollPane scroll = new JScrollPane(Table);

jPanel.add(scroll);

frame.add(jPanel, BorderLayout.CENTER);

frame.setVisible(true);

Conn.commit();

Conn.close(); //Close Connection to the database



}

}











voila cette requete marche bien quand je l'execute maintenant il me reste juste à l'implémenter dans mon bouton consulter
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
26 mai 2011 à 08:46
Le troisième bouton en partant de la droite te permet d'insérer du code proprement parce que là, c'est vraiment illisible.
0
Utilisateur anonyme
26 mai 2011 à 18:20
Ouaaahhh bah heureusement que j'avais dis d'utiliser les balises pour le code, qu'est-ce que ce serait si tu ne les avais pas utilisées Si ces balises existent, c'est qu'il y a une bonne raison -_-''

J'ai vu rapidement ton code.
Pour faire (très) simple (j'attends de voir ton nouveau post avec le code dans les balises), tout le code d'exécution de ta requête qui est présent je crois dans ton main sera dans une fonction au moins.
L'idéal serait que tu fasses une fonction pour la connexion, une pour la déconnexion, une pour l'exécution de requêtes...

Ensuite, tu peux t'inspirer de ce qui suis. C'est tellement peu clair avec le nom de tes variables que j'en ai mis des "bateaux".

private JButton btConsulter = new JButton("Consulter");
btConsulter.setActionCommand("btConsulter"); // tu lui définies une commande
btConsulter.addActionListener( new ActionListener(this) ); // tu lui ajoutes un écouteur pour gérer le clic

/**
* Méthode de l'interface ActionListener que devra implémenter ta classe
*/
public void actionPerformed( ActionEvent ae ){
   if ( ae.getActionCommand.equals("btConsulter") ){ // si l&#8217;événement contient la bonne commande
      // appel des fonctions qui exécutent tes requêtes
   }
}



--
Pylouq (actuellement jongleur de clavier AZERTY et de clavier QWERTZ)
0
cs_rabada Messages postés 4 Date d'inscription mercredi 12 janvier 2011 Statut Membre Dernière intervention 27 mai 2011
27 mai 2011 à 00:35
merçi bcp je vais essiayer avec ce code
0
Rejoignez-nous