Aider moi à excecuter mon code

Résolu
cs_esteller Messages postés 49 Date d'inscription mardi 8 septembre 2009 Statut Membre Dernière intervention 26 novembre 2012 - 16 oct. 2009 à 18:23
lechiconeur Messages postés 11 Date d'inscription mercredi 9 juin 2004 Statut Membre Dernière intervention 26 octobre 2009 - 21 oct. 2009 à 18:23
je veux afficher le contenu de ma base de donnée mysql dans ma jtable mais le problème est que ca ne s'affiche pas et aucun bouton ne fonctionne.j'ai développer en netbeans6.7.1
voici mon code
package gestionbudget;
import java.awt.Component;
import javax.swing.*;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.awt.Event.*;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableColumn;

/**
*
* @author UTILISATEUR
*/
public class etatlignebudgettotals extends javax.swing.JFrame {
private javax.swing.JButton cmdafficher;
private javax.swing.JButton cmdfermer;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTable jTable1;

public etatlignebudgettotals() {
initComponents();
}
public void chargerTable(){
Connection cnx=null;
Statement st=null;
ResultSet rs = null;
String exo=null;
try
{
Class.forName("com.mysql.jdbc.Driver");
String url="jdbc:mysql://localhost:3306/gestionbudget";
cnx=DriverManager.getConnection(url,"root","root");
st=cnx.createStatement();
String rq="select * from lignebudgetaire";
rs= st.executeQuery(rq);
rs.last();
int nb=rs.getRow();
rs.beforeFirst();
while(rs.next())
{
if(nb>0)
{
((DefaultTableModel) jTable1.getModel()).addRow(new Object[]{null,null,null,null});
int nbligne= jTable1.getRowCount();

jTable1.setValueAt(rs.getString("codeligne"),nbligne-1,0);
jTable1.setValueAt(rs.getString("budget"),nbligne-1,1);
jTable1.setValueAt(rs.getString("solde"),nbligne-1,2);
jTable1.setValueAt(rs.getString("exercice"),nbligne-1,3);
jTable1.setValueAt(rs.getString("numcompte"),nbligne-1,4);
}
else
{
JOptionPane.showMessageDialog(null,"Aucun enregistrement trouvé");
this.setVisible(true);
}

}
}
catch(ClassNotFoundException e)
{
JOptionPane.showMessageDialog(null,"Mauvais Driver","Erreur", JOptionPane.ERROR_MESSAGE);

}
catch(SQLException xx)
{
JOptionPane.showMessageDialog(null,"Echec enregistrement!! Veuillez vérifier toute les zonee de texte", "Erreur",JOptionPane.ERROR_MESSAGE);

}
finally
{
if (st!=null)
{
try
{
st.close();
}
catch(SQLException e1)
{
e1.printStackTrace();
}
}

if (cnx!=null)

{
try
{
cnx.close();
}
catch(SQLException e2)
{
e2.printStackTrace();
}

}
}
}

private void initComponents() {

jScrollPane1 = new javax.swing.JScrollPane();
jTable1 = new javax.swing.JTable();
cmdafficher = new javax.swing.JButton();
cmdfermer = new javax.swing.JButton();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle("ETAT DE TOUTES LES LIGNES BUDGETAIRES");

jTable1.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {

},
new String [] {
"CODE LIGNE", "BUDGET", "SOLDE", "N° EXERCICE", "N° COMPTE"
}
) {
Class[] types = new Class [] {
java.lang.Integer.class, java.lang.Integer.class, java.lang.Integer.class, java.lang.String.class, java.lang.String.class
};

public Class getColumnClass(int columnIndex) {
return types [columnIndex];
}
});
jScrollPane1.setViewportView(jTable1);

cmdafficher.setText("AFFICHER LES DETAILS");
cmdafficher.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
cmdafficherActionPerformed(evt);
}
});

cmdfermer.setText("FERMER");
cmdfermer.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
cmdfermerActionPerformed(evt);
}
});

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(25, 25, 25)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 514, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createSequentialGroup()
.addGap(72, 72, 72)
.addComponent(cmdafficher)
.addGap(40, 40, 40)
.addComponent(cmdfermer)))
.addContainerGap(381, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 86, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(82, 82, 82)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(cmdafficher)
.addComponent(cmdfermer))
.addContainerGap(376, Short.MAX_VALUE))
);

pack();
}// </editor-fold>

private void cmdafficherActionPerformed(java.awt.event.ActionEvent evt) {
chargerTable();
}

private void cmdfermerActionPerformed(java.awt.event.ActionEvent evt) {
this.dispose();
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new etatlignebudgetairetotal().setVisible(true);
}
});
}

1 réponse

lechiconeur Messages postés 11 Date d'inscription mercredi 9 juin 2004 Statut Membre Dernière intervention 26 octobre 2009 2
21 oct. 2009 à 18:23
Tu as fait une erreur dans ta fonction main tu appelle pas le nom de ta classe. Essaye ceci :
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new etatlignebudgettotals ().setVisible(true);
}
});
} 


Normalement ça devrait fonctionner!
fred
3
Rejoignez-nous