Appel d'une classe depuis une autre

colruyt Messages postés 20 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 18 novembre 2004 - 30 avril 2003 à 00:11
cs_Duss Messages postés 890 Date d'inscription lundi 8 avril 2002 Statut Membre Dernière intervention 29 juillet 2004 - 30 avril 2003 à 17:27
Bonjour a tous ,

J'ai une classe qui fonctionne bien exécutée seule par contre quand je l'appelle depuis une autre , cela ne fonctionne pas !
Si quelqu'un avait une idée

SEE CODE BELOW :

import javax.swing.table.*;
import javax.swing.*;
import java.sql.*;
import java.io.*;
import java.util.*;
import java.awt.event.*;
import java.awt.BorderLayout;

class ResultSetTableModel extends AbstractTableModel {
public String[] columnNames;
public int columnCount;
public Class[] columnClasses;
public List rowValues;
public ResultSetTableModel(ResultSet rs) throws SQLException {

ResultSetMetaData rsmd = rs.getMetaData();

columnCount = rsmd.getColumnCount();

columnNames = new String[columnCount];
columnClasses = new Class[columnCount];

for (int i = 1; i <= columnCount; i++) {
columnNames[i-1] = rsmd.getColumnName(i);
try {
columnClasses[i-1] = Class.forName(rsmd.getColumnClassName(i));
}
catch (ClassNotFoundException clnfe) {
clnfe.printStackTrace();
System.exit(0);
}
}


rowValues = new ArrayList();

while (rs.next()) {
Object[] values = new Object[columnCount];
for (int i = 1; i <= columnCount; i++)
values[i-1] = rs.getObject(i);
rowValues.add(values);
}
}

public int getColumnCount() {
return columnCount;
}

public int getRowCount() {
return rowValues.size();
}

public String getColumnName(int col) {
return columnNames[col];
}

public Class getColumnClass(int col) {
return columnClasses[col];
}

public Object getValueAt(int row, int col) {
return ((Object[]) (rowValues.get(row)))[col];
}

}

class TableViewer extends JPanel{

public TableViewer(final Statement stmt) {

final JTable table = new JTable();
final String requete = "select * from Clients";
try {
stmt.executeQuery(requete);
ResultSet rs = stmt.getResultSet();
table.setModel(new ResultSetTableModel(rs));
}
catch (SQLException sqle) {
JOptionPane.showMessageDialog(null, sqle.getMessage(),
"Problème connexion DB", JOptionPane.ERROR_MESSAGE);
}
this.setLayout(new BorderLayout());
this.add(new JScrollPane(table),"Center");

}
}

public class TableJDBC extends javax.swing.JFrame {

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

Connection con=null;

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con=DriverManager.getConnection("jdbc:odbc:db","","");
Statement stmt = con.createStatement();
JFrame frame = new JFrame("Affichage de tous les clients");
frame.getContentPane().add(new TableViewer(stmt));
frame.setSize(10,2);
frame.pack();
frame.setVisible(true);

}
}

ET VOICI LA CLASSE APPELANTE

private void button3ActionPerformed(java.awt.event.ActionEvent evt)
{
new TableJDBC().show();
}

Si vous avez le temps 5 minutes , cela me permettrait d'en gagner plus. :)

3 réponses

cs_Duss Messages postés 890 Date d'inscription lundi 8 avril 2002 Statut Membre Dernière intervention 29 juillet 2004 11
30 avril 2003 à 09:50
salut,
euh la c est normal en fait paske ta classe elle a juste une fonction main qui lui permet de lancer ton application !!
Si tu veux pouvoir l appeler fait un constructeur.
Il faudra aussi que tu ai une autre classe qui contienne un main !!!
exemple :
public class TableJDBC extends javax.swing.JFrame {

public static void main(String[] args) throws Exception {
TableJDBC t = new TableJDBC();
}

public TableJDBC()
{
Connection con=null;

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
con=DriverManager.getConnection("jdbc:odbc:db","","");
Statement stmt = con.createStatement();
JFrame frame = new JFrame("Affichage de tous les clients");
frame.getContentPane().add(new TableViewer(stmt)); 
frame.setSize(10,2);
frame.pack();
frame.setVisible(true);

}
}
et apres
private void button3ActionPerformed(java.awt.event.ActionEvent evt) 
{
TableJDBC t = new TableJDBC();
}

Duss
0
colruyt Messages postés 20 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 18 novembre 2004
30 avril 2003 à 16:07
Merci Duss pour ces infos
("SVP aidez moi " dit elle .
"Vous ne craignez rien SUPER DUSS arrive "
)

/---------------------------\
|| ***************** ||
*********************
* *
* *
0
cs_Duss Messages postés 890 Date d'inscription lundi 8 avril 2002 Statut Membre Dernière intervention 29 juillet 2004 11
30 avril 2003 à 17:27
ouais enfin j ai oublié ma cape et mes collants ;)
Duss
0
Rejoignez-nous