hlimaiem
Messages postés106Date d'inscriptiondimanche 19 mars 2006StatutMembreDernière intervention17 janvier 2007
-
22 août 2006 à 19:02
Ombitious_Developper
Messages postés2333Date d'inscriptionsamedi 28 février 2004StatutMembreDernière intervention26 juillet 2013
-
23 août 2006 à 20:35
Limaiem heykel,
Bonjour, j'ai un gros problemes dans mes jtables, je voudrait savoir comment creer une jtable dynamique de facon que par exemple(l'orsque je clique sur un bouton de mon frame j'effectue un ajout dans ma jtable suivant).
Ainsi je voudrait savoir comment faire pour que tou nouveau enregistrement ajouter dans ma jTable soit placer tout en haut de mon Jtable.
Merci votre aide meserait precieuse
Ombitious_Developper
Messages postés2333Date d'inscriptionsamedi 28 février 2004StatutMembreDernière intervention26 juillet 201338 23 août 2006 à 20:35
Salut :
Pour comprendre comment manipuler les JTable je vais travailler sur un simple exemple illustratif :
Supposons qu'on a une table Tab_Client contenant ces champs :
1. ID_Client
2. Nom_Client
On se propose de construire une interface Swing permettant d'afficher les 5 premiers clients par ordre décroissant de le leurs identifiants (càd ID_Client).
Cette interface offre la possiblité d'ajouter un nouveau client.
Pour gérer la façon avec laquelles les données sont ajoutées dans la tables vous devez créer une autre classe implémentant la classe abstraite AbstractTableModel.
Je vais vous dire pourquoi faire ça : supposons que vous voulez afficher les données dans la table par ordre croissant ou décroissant ou d'une façon général pour répondre à certains critères que vous exigiez vous devez implémenter les méthodes de cette classe abstraite et ajouter une méthode pour répondre à ce que vous voulez.
voici le code de notre exemple :
- il créé l'interface de notre application Java
- crée une classe -que je nomme ici tableHandler- implémentant la classe abstraite AbstractTableModel plus une méthode pour afficher nos clients par ordre décroissant.
(Je travaille avec MySQL : je suppose que vous sachiez comme initialiser les pilotes JDBC)<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>
import
javax.swing.*; // Pour les composant Swing
import
javax.swing.table.*; // Pour la classe AbstractTableModel
import
java.awt.event.*; // Pour l'action sur le bouton
import
java.sql.*; // Pour les rêquetes SQL
public
class
InterfaceApplication extends JFrame implements ActionListener {
public
InterfaceApplication () {
super
("Table Client");
setBounds (50, 50, 300, 300);
setResizable (false);
setDefaultCloseOperation (EXIT_ON_CLOSE);
getContentPane ().setLayout(null);
clientTable
= new JTable (5, 2);
clientTable
.setBounds(20, 20, 250, 80);
clientTable
.setEnabled (false);
tableHandler
= new TableHandler ();
clientTable
.setModel (tableHandler);
clientIDLabel
= new JLabel("Identifiant du client :");