Problème de bouton dans une JTable

sirahmed Messages postés 23 Date d'inscription vendredi 15 décembre 2000 Statut Membre Dernière intervention 23 mars 2009 - 12 févr. 2009 à 13:06
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 - 12 févr. 2009 à 13:50
Salut à tous,

Mon problème consiste à trouver une solution pour ajouter des boutons à une interface graphique contenant Jtable .

Pour le moment ça marche pour le premier bouton d'ajout de ligne .

Pour le deuxième bouton utilisant JFilechooser pour créer un fichier texte qui contient le contenu du Jtable par ligne, je n'ai pas arrivé à avancer lors du ce sujet .

Donc, j'espère bien que vous m'aidiez car j'ai fait beacoup de documentaion soit sur Sun ou via Javadoc mais je n'ai pas réussi .
 
Voilà mon code :

package jtable;
import java.io.*;
import javax.swing.JFileChooser;
import javax.swing.table.*;
import javax.swing.*;
 
import java.awt.event.*;
import java.awt.*;
 
public class Tableau1 extends JPanel implements ActionListener
{
   Object[] data = new Object[9];
    DefaultTableModel table_defaut = new DefaultTableModel(data,col);
 {
     public int getColumnCount(){return 9;}
     public String getColumnName(int col)
  {
   String val = null;
   switch(col){
    case 0: val = "chaine";break;
    case 1: val = "interface i";break;
    case 2: val = "interface o";break;
    case 3: val = "@IP source";break;
    case 4: val = "@IP destination";break;
    case 5: val = "protocole";break;
    case 6: val = "port source";break;
    case 7: val = "port destination";break;
    case 8: val = "action";break;
       
    
    
   }
   
   return val;   
  }
 };
   
 JTable  table = new JTable(table_defaut);
     
   
  public Tableau1()
   {
    
      // le bouton sur lequel il faut cliquer pour ajouter la ligne
      JButton cmd1 = new JButton("Ajouter une Ligne");
      JButton cmd2 = new JButton("ouvrir"); 
       JFrame f = new JFrame("Générateur de fichier ");
     Container c = f.getContentPane();  
       c.setLayout(new FlowLayout());
      c.add(cmd1);
      c.add(cmd2);
      ecoute1 e1 = new ecoute1();
      ecoute1 e2 = new ecoute2();
      cmd1.addActionListener(e1);
       cmd2.addActionListener(e2); 
  
    
   
       
      }
private JButton cmd1,cmd2 ;
}
 class ecoute1 implements ActionListener
 {
 public void actionPerformed(ActionEvent e)
  {  
      Object[] data = null;
       table_defaut.addRow(data);  
          JComboBox comboBox = new JComboBox();
   comboBox.addItem("INPUT");
    comboBox.addItem("OUTPUT");
    comboBox.addItem("FORWARD");
   
   
   TableCellEditor editor = new DefaultCellEditor(comboBox);
    table.getColumnModel().getColumn(0).setCellEditor(editor);
 }
 }
 class ecoute2 implements ActionListener
 { public void actionPerformed(ActionEvent e)
 {JFileChooser dialogue = new JFileChooser();
    PrintWriter ecrivain;
    File fichier;


    if (dialogue.showOpenDialog(null) == JFileChooser.APPROVE_OPTION)
      {
 fichier = dialogue.getSelectedFile();
       ecrivain = new PrintWriter(new FileWriter
                                   (fichier.getPath(), true));
       ecrivain.println(argv[0]);
        ecrivain.close();
     }
    
    }
 }
 
 
 
   public static void main(String [] arg)
   {
   
     Tableau1 panel = new Tableau1();
    
     f.addWindowListener(new WindowAdapter()
            {
             public void windowClosing(WindowEvent e)
              {
             System.exit(0);
             }
            });
              c.add(panel);
 
     panel.pack();
      panel.setVisible(true);
   
}

1 réponse

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
12 févr. 2009 à 13:50
Salut,

Apparemment, tu ne veux vraiment pas aller voir mes sources : j'ai développé 5-6 celleditor et cellrenderer donc un JCombobox et un JFileChooser... ce que tu cherche en somme...

Ce se passe ici :
http://www.codes-sources.com/codes_auteur/DARKSIDIOUS/13557.aspx
______________________________________
DarK Sidious
0