begin process at 2010 02 10 07:39:21
  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é :11 804 / 1 504

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 Source avec une capture TRADUCTEUR FRANÇAIS --> NERLANDAIS par edouard333
Source avec Zip IA POUR DISCUTER par edouard333
Source avec Zip Source avec une capture JSUBTITLE1.0 par darrylsite
Source avec Zip COMPILATEUR PASCAL par youma85
Source avec Zip CONTENEUR DE COMPOSANT HETEROGENES par mad_charif

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...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

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 : 0,296 sec (3)

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