Je veux montrer dans une table le résultat d'une requête SQL.
La requête rend son résultat mais je ne sais pas le mettre dans la table et la montrer.
Le problème est au final du code.
Merci beaucoup
Code :
package Entreprise;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;
import javax.swing.JTable;
import java.awt.Dimension;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.GridLayout;
import java.awt.Rectangle;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import javax.swing.JTextField;
import javax.swing.table.DefaultTableModel;
public class ChercherCommandeFacture implements ActionListener{
DefaultTableModel modelo;
private JPanel jPanelSuperieur = null;
private JLabel jLabeladresse = null;
private JLabel jLabelVille = null;
private JLabel jLabelCP = null;
private JLabel jLabelNom = null;
private JLabel jLabelCodeClient = null;
private JLabel jLabelCl = null;
private JLabel jLabelN = null;
private JLabel jLabelA = null;
private JLabel jLabelV = null;
private JLabel jLabelP = null;
private JLabel jLabelTel = null;
private JLabel jLabelT = null;
private JLabel jLabelTy = null;
private JLabel jLabelType = null;
private JButton jButtonNouvelleCommande = null;
private JPanel jPanelCentral = null;
private JTable jTableCenTab = null;
private JFrame jFramePrincipal = null; // @jve:decl-index=0:visual-constraint="10,6"
private JPanel jContentPaneConteneur = null;
private JTabbedPane jTabbedPaneInferieur = null;
private JTable jTableCommande = null;
private JTable jTableFacture = null;
private JLabel jLabelTitreRecherche = null;
private JTextField jTextFieldCodeClient = null;
private JTextField jTextFieldNom = null;
private JTextField jTextFieldAdresse = null;
private JTextField jTextFieldVille = null;
private JTextField jTextFieldCodePostal = null;
private JTextField jTextFieldTelephone = null;
private JTextField jTextFieldTypeClient = null;
private JButton jButtonChercherClient = null;
/**
* This method initializes jPanelSuperieur
*
* @return javax.swing.JPanel
*/
private JPanel getJPanelSuperieur() {
if (jPanelSuperieur == null) {
jLabelTitreRecherche = new JLabel("Recherche Client");
jLabelTitreRecherche.setBounds(new Rectangle(12, 208, 145, 16));
jLabelType = new JLabel("Type Client");
jLabelType.setBounds(new Rectangle(15, 160, 69, 22));
jLabelTy = new JLabel("");
jLabelTy.setBounds(new Rectangle(92, 159, 137, 22));
jLabelT = new JLabel("");
jLabelT.setBounds(new Rectangle(92, 135, 137, 22));
jLabelP = new JLabel("");
jLabelP.setBounds(new Rectangle(92, 112, 137, 22));
jLabelV = new JLabel("");
jLabelV.setBounds(new Rectangle(93, 87, 137, 22));
jLabelA = new JLabel("");
jLabelA.setBounds(new Rectangle(92, 63, 137, 22));
jLabelN = new JLabel("");
jLabelN.setBounds(new Rectangle(93, 39, 137, 22));
jLabelCl = new JLabel("");
jLabelCl.setBounds(new Rectangle(94, 16, 137, 22));
jLabelCodeClient = new JLabel("Code Client");
jLabelCodeClient.setBounds(new Rectangle(18, 16, 70, 22));
jLabelNom = new JLabel("Nom");
jLabelNom.setBounds(new Rectangle(53, 39, 35, 22));
jLabelCP = new JLabel("Code Postal");
jLabelCP.setBounds(new Rectangle(11, 111, 75, 22));
jLabelVille = new JLabel("Ville");
jLabelVille.setBounds(new Rectangle(57, 87, 29, 22));
jLabeladresse = new JLabel("Adresse");
jLabeladresse.setBounds(new Rectangle(32, 63, 56, 22));
jLabelTel = new JLabel("Téléphone");
jLabelTel.setBounds(new Rectangle(16, 134, 68, 22));
jPanelSuperieur = new JPanel();
jPanelSuperieur.setLayout(null);
jPanelSuperieur.add(jLabeladresse, null);
jPanelSuperieur.add(jLabelVille, null);
jPanelSuperieur.add(jLabelCP, null);
jPanelSuperieur.add(jLabelNom, null);
jPanelSuperieur.add(jLabelCodeClient, null);
jPanelSuperieur.add(jLabelCl, null);
jPanelSuperieur.add(jLabelN, null);
jPanelSuperieur.add(jLabelA, null);
jPanelSuperieur.add(jLabelV, null);
jPanelSuperieur.add(jLabelP, null);
jPanelSuperieur.add(jLabelTel, null);
jPanelSuperieur.add(jLabelT, null);
jPanelSuperieur.add(jLabelTy, null);
jPanelSuperieur.add(jLabelType, null);
jPanelSuperieur.add(getJButtonNouvelleCommande(), null);
jPanelSuperieur.add(jLabelTitreRecherche, null);
jPanelSuperieur.add(getJTextFieldCodeClient(), null);
jPanelSuperieur.add(getJTextFieldNom(), null);
jPanelSuperieur.add(getJTextFieldAdresse(), null);
jPanelSuperieur.add(getJTextFieldVille(), null);
jPanelSuperieur.add(getJTextFieldCodePostal(), null);
jPanelSuperieur.add(getJTextFieldTelephone(), null);
jPanelSuperieur.add(getJTextFieldTypeClient(), null);
jPanelSuperieur.add(getJButtonChercherClient(), null);
}
return jPanelSuperieur;
}
/**
* This method initializes jButtonNouvelleCommande
*
* @return javax.swing.JButton
*/
private JButton getJButtonNouvelleCommande() {
if (jButtonNouvelleCommande == null) {
jButtonNouvelleCommande = new JButton("Nouvelle Commande");
jButtonNouvelleCommande.setBounds(new Rectangle(411, 68, 154, 84));
jButtonNouvelleCommande.addActionListener(this);
}
return jButtonNouvelleCommande;
}
/**
* This method initializes jTableCommande
*
* @return javax.swing.JTable
*/
private JTable getJTableCommande() {
if (jTableCommande == null) {
jTableCommande = new JTable();
}
return jTableCommande;
}
/**
* This method initializes jTableFacture
*
* @return javax.swing.JTable
*/
private JTable getJTableFacture() {
if (jTableFacture == null) {
jTableFacture = new JTable();
}
return jTableFacture;
}
/**
* This method initializes jTextFieldCodeClient
*
* @return javax.swing.JTextField
*/
private JTextField getJTextFieldCodeClient() {
if (jTextFieldCodeClient == null) {
jTextFieldCodeClient = new JTextField();
jTextFieldCodeClient.setBounds(new Rectangle(240, 16, 158, 22));
}
return jTextFieldCodeClient;
}
/**
* This method initializes jTextFieldNom
*
* @return javax.swing.JTextField
*/
private JTextField getJTextFieldNom() {
if (jTextFieldNom == null) {
jTextFieldNom = new JTextField();
jTextFieldNom.setBounds(new Rectangle(240, 39, 158, 22));
}
return jTextFieldNom;
}
/**
* This method initializes jTextFieldAdresse
*
* @return javax.swing.JTextField
*/
private JTextField getJTextFieldAdresse() {
if (jTextFieldAdresse == null) {
jTextFieldAdresse = new JTextField();
jTextFieldAdresse.setBounds(new Rectangle(240, 63, 158, 22));
}
return jTextFieldAdresse;
}
/**
* This method initializes jTextFieldVille
*
* @return javax.swing.JTextField
*/
private JTextField getJTextFieldVille() {
if (jTextFieldVille == null) {
jTextFieldVille = new JTextField();
jTextFieldVille.setBounds(new Rectangle(240, 87, 158, 22));
}
return jTextFieldVille;
}
/**
* This method initializes jTextFieldCodePostal
*
* @return javax.swing.JTextField
*/
private JTextField getJTextFieldCodePostal() {
if (jTextFieldCodePostal == null) {
jTextFieldCodePostal = new JTextField();
jTextFieldCodePostal.setBounds(new Rectangle(240, 112, 158, 22));
}
return jTextFieldCodePostal;
}
/**
* This method initializes jTextFieldTelephone
*
* @return javax.swing.JTextField
*/
private JTextField getJTextFieldTelephone() {
if (jTextFieldTelephone == null) {
jTextFieldTelephone = new JTextField();
jTextFieldTelephone.setBounds(new Rectangle(240, 135, 158, 22));
}
return jTextFieldTelephone;
}
/**
* This method initializes jTextFieldTypeClient
*
* @return javax.swing.JTextField
*/
private JTextField getJTextFieldTypeClient() {
if (jTextFieldTypeClient == null) {
jTextFieldTypeClient = new JTextField();
jTextFieldTypeClient.setBounds(new Rectangle(240, 159, 158, 22));
}
return jTextFieldTypeClient;
}
/**
* This method initializes jButtonChercherClient
*
* @return javax.swing.JButton
*/
private JButton getJButtonChercherClient() {
if (jButtonChercherClient == null) {
jButtonChercherClient = new JButton("Chercher Client");
jButtonChercherClient.setBounds(new Rectangle(243, 192, 154, 24));
jButtonChercherClient.addActionListener(this);
}
return jButtonChercherClient;
}
/**
* This method initializes jTableCenTab
*
* @return javax.swing.JTable
*/
private JTable getJTableCenTab() {
if (jTableCenTab == null) {
//jTableCenTab = new JTable();
modelo = new DefaultTableModel();
jTableCenTab = new JTable(modelo);
}
return jTableCenTab;
}
/**
* This method initializes jContentPaneConteneur
*
* @return javax.swing.JPanel
*/
private JPanel getJContentPaneConteneur() {
if (jContentPaneConteneur == null) {
GridLayout gridLayout = new GridLayout(3,1);
jContentPaneConteneur = new JPanel();
jContentPaneConteneur.setLayout(gridLayout);
jContentPaneConteneur.add(getJPanelSuperieur(), null);
jContentPaneConteneur.add(getJPanelCentral(), null);
jContentPaneConteneur.add(getJTabbedPaneInferieur(), null);
}
return jContentPaneConteneur;
}
/**
* This method initializes jTabbedPaneInferieur
*
* @return javax.swing.JTabbedPane
*/
private JTabbedPane getJTabbedPaneInferieur() {
if (jTabbedPaneInferieur == null) {
jTabbedPaneInferieur = new JTabbedPane();
jTabbedPaneInferieur.addTab("Commande", null, getJTableCommande(), null);
jTabbedPaneInferieur.addTab("Facture", null, getJTableFacture(), null);
}
return jTabbedPaneInferieur;
}
/**
* This method initializes jPanelCentral
*
* @return javax.swing.JPanel
*/
private JPanel getJPanelCentral() {
if (jPanelCentral == null) {
GridBagConstraints gridBagConstraints1 = new GridBagConstraints();
gridBagConstraints1.fill = GridBagConstraints.BOTH;
gridBagConstraints1.gridy = 0;
gridBagConstraints1.weightx = 1.0;
gridBagConstraints1.weighty = 1.0;
gridBagConstraints1.gridx = 0;
jPanelCentral = new JPanel();
jPanelCentral.setLayout(new GridBagLayout());
jPanelCentral.add(getJTableCenTab(), gridBagConstraints1);
}
return jPanelCentral;
}
public void visualiserFenetre() {
jFramePrincipal = new JFrame("Recherche Commande - Facture");
jFramePrincipal.setSize(new Dimension(602, 724));
jFramePrincipal.setMinimumSize(new Dimension(602, 724));
jFramePrincipal.setContentPane(getJContentPaneConteneur());
jFramePrincipal.setVisible(true);
}
public void actionPerformed(ActionEvent e){
if(e.getSource().equals(jButtonChercherClient)){
try {
BaseDeDonnees bd = new BaseDeDonnees();//Ici on garde la connexion et les requêtes SQL
bd.etablirConnexion();
//on récupère les données des TextField pour faire la requête
ResultSet resultat = bd.getSelectClients(jTextFieldCodeClient.getText(), jTextFieldNom.getText(), jTextFieldAdresse.getText(),
jTextFieldCodePostal.getText(), jTextFieldVille.getText(), jTextFieldTelephone.getText(), jTextFieldTypeClient.getText() );
if ( resultat.next() ){
ResultSetMetaData metaDatas = resultat.getMetaData();
int nombreColonnes = metaDatas.getColumnCount();
Object[] etiquettes = new Object[nombreColonnes];
for (int i = 0; i < nombreColonnes; i++) {
etiquettes[i] = metaDatas.getColumnLabel(i + 1);
}
int rown =1;
while (resultat.next()) {
System.out.println("3dentro");
rown ++;
Object [] fila = new Object[nombreColonnes];
for (int i=0;i<nombreColonnes;i++){
fila[i] = resultat.getObject(i+1);
getJTableCenTab().setValueAt(fila[i],rown, i );
}
modelo.setColumnIdentifiers(etiquettes);
modelo.addRow(fila);
//La méthode getJTableCenTab est la table que je veux passer à getJPanelCentral()
//et celle-ci je la passe à getJContentPaneConteneur() et celle-ci à la JFramePrincipal
}
}else{
}
bd.fermeConnexion();
} catch (Exception en) {en.printStackTrace();}
}else{
if(e.getSource().equals(jButtonNouvelleCommande)){
CommandeFacture fact = new CommandeFacture();
fact.visualiserFenetre();
}
}
}
public static void main(String[] args) {
ChercherCommandeFacture fact = new ChercherCommandeFacture();
fact.visualiserFenetre();
}
}
Afficher la suite