begin process at 2010 09 06 05:22:01
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Divers

 > SERIALISER ET MANIPULER JTABLE

SERIALISER ET MANIPULER JTABLE


 Information sur la source

Note :
1 / 10 - par 1 personne
1,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Divers Niveau :Débutant Date de création :19/07/2004 Date de mise à jour :26/07/2004 13:25:06 Vu / téléchargé :12 568 / 1 560

Auteur : bidani

Ecrire un message privé
Site perso
Commentaire sur cette source (12)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
version Finalee :
permet d'ajouter, de supprimer des lignes dans une jtable puis serialiser le tout

Source

  • import javax.swing.*;
  • import java.awt.event.*;
  • import java.util.*;
  • import java.io.*;
  • import javax.swing.*;
  • import java.awt.*;
  • import java.awt.event.*;
  • import java.text.*;
  • import javax.swing.table.*;
  • public class Test extends JFrame implements Serializable
  • {
  • public JTable table;
  • JPanel pann = new JPanel(new GridLayout(0,1));
  • JPanel gestion = new JPanel(new GridLayout(1,3));
  • public DefaultTableModel model;
  • public Test()
  • {
  • JButton Ajouter = new JButton("Ajouter");
  • JButton Supprimer = new JButton("Supprimer");
  • JButton Valider = new JButton("Valider");
  • pann.setPreferredSize(new Dimension(500, 500));
  • try {
  • File file = new File("sauve.tmp");
  • //deserialisation
  • if(file.exists()) {
  • FileInputStream fis = new FileInputStream("sauve.tmp");
  • ObjectInputStream ois = new ObjectInputStream(fis);
  • table = new JTable();
  • model = (DefaultTableModel) ois.readObject();
  • table.setModel(model);
  • ois.close();
  • } else {
  • model = new DefaultTableModel(0,1);
  • table = new JTable();
  • table.setModel(model);
  • }
  • }catch(Exception e)
  • {
  • e.printStackTrace();
  • }
  • //JScrollPane scrollpane = new JScrollPane(pann);
  • JScrollPane scrollPane = new JScrollPane(table);
  • table.setPreferredScrollableViewportSize(new Dimension(500, 70));
  • /*pann.setLayout(new BorderLayout());
  • pann.add(table, BorderLayout.CENTER);*/
  • pann.add(scrollPane);
  • //pann.add(table);
  • getContentPane().add("Center",pann);
  • gestion.add(Ajouter);
  • gestion.add(Supprimer);
  • gestion.add(Valider);
  • setSize(600,400);
  • getContentPane().add("South",gestion);
  • //table.setPreferredScrollableViewportSize(new Dimension(500, 400));
  • addWindowListener(new WindowAdapter()
  • { public void windowClosing(WindowEvent e)
  • {
  • setVisible(false);
  • }
  • });
  • Ajouter.addActionListener(new ActionListener() {
  • public void actionPerformed(ActionEvent e){
  • ajouterActionPerformed(e);
  • }
  • });
  • Supprimer.addActionListener(new ActionListener() {
  • public void actionPerformed(ActionEvent e){
  • supprimerActionPerformed(e);
  • }
  • });
  • Valider.addActionListener(new ActionListener() {
  • public void actionPerformed(ActionEvent e){
  • sauveActionPerformed(e);
  • setVisible(false);
  • }
  • });
  • }
  • public void supprimerActionPerformed(ActionEvent e){
  • if(table.isEditing()){
  • if (table.getCellEditor() != null) {
  • table.getCellEditor().stopCellEditing();
  • }
  • }
  • int [] selected = table.getSelectedRows();
  • for (int i = selected.length - 1; i >= 0; i--)
  • model.removeRow(selected[i]);
  • }
  • public void ajouterActionPerformed(ActionEvent e){
  • String [] data = new String [model.getColumnCount()];
  • data[0] = "http://";
  • model.addRow(data);
  • }
  • public void sauveActionPerformed(ActionEvent e) {
  • if(table.isEditing()){
  • if (table.getCellEditor() != null) {
  • table.getCellEditor().stopCellEditing();
  • }
  • }
  • try {
  • //Serialisation
  • FileOutputStream fos = new FileOutputStream("sauve.tmp");
  • ObjectOutputStream oos = new ObjectOutputStream(fos);
  • oos.writeObject(model);
  • oos.close();
  • } catch (IOException e1) {
  • e1.printStackTrace();
  • }
  • }
  • public static void main(String[] args)
  • {
  • Test test = new Test();
  • test.pack();
  • test.setVisible(true);
  • }
  • }
import javax.swing.*;
import java.awt.event.*;

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

public class Test extends JFrame implements Serializable
{

public JTable table;
JPanel pann = new JPanel(new GridLayout(0,1));
JPanel gestion = new JPanel(new GridLayout(1,3));
public DefaultTableModel model;

public Test()
{



JButton Ajouter = new JButton("Ajouter");
JButton Supprimer = new JButton("Supprimer");
JButton Valider = new JButton("Valider");
pann.setPreferredSize(new Dimension(500, 500));



try {
File file = new File("sauve.tmp");
//deserialisation
if(file.exists()) {
FileInputStream fis = new FileInputStream("sauve.tmp");
ObjectInputStream ois = new ObjectInputStream(fis);
table = new JTable();
model = (DefaultTableModel) ois.readObject();
table.setModel(model);
ois.close();
} else {

model = new DefaultTableModel(0,1);
table = new JTable();
table.setModel(model);

}

}catch(Exception e)
			    {
			      e.printStackTrace();
		  }

//JScrollPane scrollpane = new JScrollPane(pann);

JScrollPane scrollPane = new JScrollPane(table);
table.setPreferredScrollableViewportSize(new Dimension(500, 70));

/*pann.setLayout(new BorderLayout());
pann.add(table, BorderLayout.CENTER);*/
pann.add(scrollPane);
//pann.add(table);
getContentPane().add("Center",pann);
gestion.add(Ajouter);
gestion.add(Supprimer);
gestion.add(Valider);
setSize(600,400);
getContentPane().add("South",gestion);
//table.setPreferredScrollableViewportSize(new Dimension(500, 400));



addWindowListener(new WindowAdapter()
 		         {  public void windowClosing(WindowEvent e)
 		            {
 						setVisible(false);
 		            }
            });


Ajouter.addActionListener(new ActionListener() {
		  			      public void actionPerformed(ActionEvent e){
                      ajouterActionPerformed(e);


		            }
            });

Supprimer.addActionListener(new ActionListener() {
		  			      public void actionPerformed(ActionEvent e){
						supprimerActionPerformed(e);
						}


            });


Valider.addActionListener(new ActionListener() {
							public void actionPerformed(ActionEvent e){
								sauveActionPerformed(e);
							setVisible(false);


						       }
						        });
}


public void supprimerActionPerformed(ActionEvent e){


	                    if(table.isEditing()){
								      if (table.getCellEditor() != null) {
								              table.getCellEditor().stopCellEditing();
								      }
                               }

                        int [] selected = table.getSelectedRows();
						for (int i = selected.length - 1; i >= 0; i--)
						model.removeRow(selected[i]);
}

public void ajouterActionPerformed(ActionEvent e){

						String [] data = new String [model.getColumnCount()];
						data[0] = "http://";
						model.addRow(data);
}

public void sauveActionPerformed(ActionEvent e) {


                             if(table.isEditing()){
							      if (table.getCellEditor() != null) {
							              table.getCellEditor().stopCellEditing();
							      }
                               }


	               try {

								//Serialisation
								FileOutputStream fos = new FileOutputStream("sauve.tmp");
								ObjectOutputStream oos = new ObjectOutputStream(fos);
								oos.writeObject(model);
								oos.close();
								} catch (IOException e1) {
									 e1.printStackTrace();
								}
							}



public static void main(String[] args)
{
Test test = new Test();
test.pack();
test.setVisible(true);

}

}

 Conclusion

version Finale à ADAPTER  au besoin de chaqun

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

19 juillet 2004 13:12:57 :
on ne peut pas editer les lignes de la table probleme en cours ...
20 juillet 2004 09:52:06 :
le bug est corrigé par l'ajout de la ligne suivante if(table.isEditing()){ if (table.getCellEditor() != null) { table.getCellEditor().stopCellEditing(); } }
21 juillet 2004 08:07:27 :
suite a la demande de Conan j'ai enlevé les _ (qu'il sont exigeants ces informaticiens lol)
26 juillet 2004 13:25:07 :
mise a jour

 Sources de la même categorie

Source avec Zip KIT DE FICHIERS DE PROGRAMMATION par edouard333
Source avec une capture [J2ME] TROUVER LE PGCD DE DEUX NOMBRES par Zestyr
LIRE LES FICHIERS .WAV par Julien39
Source avec Zip Source avec une capture TRADUCTEUR FRANÇAIS --> NERLANDAIS V4 BETA par edouard333
Source avec Zip IA POUR DISCUTER par edouard333

Commentaires et avis

Commentaire de gmi19oj19 le 19/07/2004 10:34:37

Merci de mettre ça dans un zip, c'est pas très agréable à lire ...

Commentaire de bidani le 20/07/2004 09:53:23

voila pour faire plaisir a gmi19oj19 le zip la capture d'ecran et la correction du bug
voili voilou!!!

Commentaire de GodConan le 20/07/2004 13:10:07

Arreter dc de mettre des "_" partou qu es c est pas beau ;-( ... Ca a ser quoi la majuscule ....  ;o)

++

Commentaire de bidani le 20/07/2004 13:37:36

salut GodConan
je n'ai pas compris ton commentaire (plus de precision)

Commentaire de GodConan le 20/07/2004 14:59:53

sauve_actionPerformed(ActionEvent e)

sauve"_"actionPerformed(ActionEvent e)


ecrire plutot

sauveActionPerformed(ActionEvent e)

Commentaire de bidani le 21/07/2004 08:09:05

salut Conan le barbare

C fait !!! si quelqu'un voit un bug ou quelque chose qui ne va pas faites moi signe(ça m'occupera!!)

Commentaire de GodConan le 21/07/2004 22:21:12

ben tu peu ajouter l export des donnee en XML ;o)

c rigolo ...

Commentaire de bidani le 22/07/2004 08:09:55

ça consiste en coi ça ?

Commentaire de krolineeeeeeee le 16/11/2006 11:13:57

Ton code manque un peu de commentaire...

Commentaire de serialkilled le 16/12/2006 23:04:56

En fait il aurait mieux fallu inserer les données dans une base de données, ou faire un update d'une base de donnée grace à ça, ca aurait été plus chouette.

Commentaire de survivor34 le 25/12/2006 19:31:08

Bonjour,

lorsque je lance le programme ton programme, j'ai cette exception:
java.lang.IllegalArgumentException: Cannot set a null TableModel
        at javax.swing.JTable.setModel(JTable.java:2868)
        at Test.<init>(Test.java:36)
        at Test.main(Test.java:141)

Puis lorsque je clique sur le bouton ajouter, j'ai toutes ses exceptions qui apparaissent :
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
        at Test.ajouter_actionPerformed(Test.java:116)
        at Test$2.actionPerformed(Test.java:77)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
        at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
        at java.awt.Component.processMouseEvent(Component.java:5488)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3126)
        at java.awt.Component.processEvent(Component.java:5253)
        at java.awt.Container.processEvent(Container.java:1966)
        at java.awt.Component.dispatchEventImpl(Component.java:3955)
        at java.awt.Container.dispatchEventImpl(Container.java:2024)
        at java.awt.Component.dispatchEvent(Component.java:3803)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
        at java.awt.Container.dispatchEventImpl(Container.java:2010)
        at java.awt.Window.dispatchEventImpl(Window.java:1778)
        at java.awt.Component.dispatchEvent(Component.java:3803)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
        at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)


Comment faire pour corriger tout ça ?

Commentaire de sirahmed le 12/02/2009 20:55:56

Je ne comprend pas pourquoi j'ai pas pu l'executer .

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Septembre 2010
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
27282930   

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,683 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales