begin process at 2008 08 22 02:02:25
1 229 745 membres
17 nouveaux aujourd'hui
14 267 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : jtable [ Archives / Au secours ] (KERKENNAH)

jtable le 12/04/2005 13:01:26

KERKENNAH

bonjour;
je suis un etudiant et je besoin d'aide a propos de jtable
je veux ajouter 2 boutton à mon travail un qui ajoute une ligne dans jtable
et l'aute qui supprime une ligne
en fait j'utilise un model pour crée ma jtable ...
le voici:

/**-----------------------------------------------------------------------------
 * Le modèle de table.
 *
 * */
public class Tmodel extends AbstractTableModel
{

  String[] columnNames = null ;
  Object[][] data = null ;
  int edit_limite = 0 ;

  /**
   * Le constructeur du modèle
   *  @param l nombre de lignes
   *  @param c nombre de colonnes
   *  @param header les entêtes de colonnes
   * */
  public Tmodel(int l, int c,String[] header, int ec)
  {
    data = new Object[l][c] ;
    columnNames = header ;
    edit_limite = ec ;
  }
  //
  // Ici on va redéfinir les méthodes dont nous aurons besoin
  // dans notre implémentation de la table

  /**
   * Obtenir le nombre de colonnes de la table
   * */
  public int getColumnCount()
  {
    return columnNames.length;
  }

  /**
   * Obtenir la valeur stockée en l,c
   *
   * */
  public Object getValueAt(int l, int c)
  {
    return data[l][c] ;
  }

  /**
   * Stocker une valeur dans la table
   * */
  public void setValueAt(Object val ,int l, int c)
  {
     data[l][c]= val ;
  }

  /**
   * Obtenir le nombre de lignes
  * */
  public int getRowCount()
  {
    return data.length ;
  }

  /**
   * Obtenir le nom d'une colonne
   * */
  public String getColumnName(int c)
  {
    return columnNames[c] ;
  }

  /**
   * Obtenir le type de donnée d'une colonnes
   * */
  public Class getColumnClass(int c)
  {
      try
      {
        return getValueAt(0,c).getClass();
      }
      catch (Exception ex)
      {
        return "".getClass() ;
      }
  }

  /**
   * Est ce que la colonne est modifiable ?
   * */
  public boolean isCellEditable(int r, int c)
  {
    if(c<edit_limite) return false ;
    else return true ;
  }

}

//****************

ensuite j'ai crée ma jtable le voila

//***************
public class Frame1 extends JFrame
{
  Tmodel TablePerso = null ;
  JPanel contentPane;
  JPanel jPanel1 = new JPanel();
  JScrollPane jScrollPane1 = new JScrollPane();
  JTable jTable1 = null ;
  JButton jButton1 = new JButton();
  private Border border1;

  /**Construct the frame*/
  public Frame1()
  {
    enableEvents(AWTEvent.WINDOW_EVENT_MASK);
    try
    {
      jbInit();
    }
    catch(Exception e)
    {
      e.printStackTrace();
    }
  }
  /**Component initialization*/
  private void jbInit() throws Exception
  {
    //setIconImage(Toolkit.getDefaultToolkit().createImage(Frame1.class.getResource("[Your Icon]")));

    contentPane = (JPanel) this.getContentPane();
    border1 = BorderFactory.createMatteBorder(6,6,6,6,Color.orange);
    contentPane.setLayout(null);
    this.setSize(new Dimension(500, 384));
    this.setTitle("Tutoriel 0 : Une table personnalisée");
    jButton1.setBounds(new Rectangle(210, 18, 73, 27));
    jButton1.setText("Quitter");
    jButton1.addActionListener(new Frame1_jButton1_actionAdapter(this));
    jPanel1.setBorder(BorderFactory.createEtchedBorder());
    jPanel1.setBounds(new Rectangle(6, 296, 480, 58));
    jPanel1.setLayout(null);
    jScrollPane1.setBounds(new Rectangle(10, 10, 480, 275));
    contentPane.add(jScrollPane1, null);
    contentPane.add(jPanel1, null);
    jPanel1.add(jButton1, null);

    // initialiser notre modèle de table
    String[] colh = {"Ceci","Est","Vrai/faux"} ;
    // 15 lignes de 3 colonnes , entêtes de colonnes c1,c2,c3 et colonne 1 non éditable.
    TablePerso = new Tmodel(15,3,colh,1);
    // la table basée sur notre modèle de table
    jTable1 = new JTable(TablePerso);
    jScrollPane1.getViewport().add(jTable1, null);
    // initialiser notre table
    jTable1.setValueAt(new String("un clouaaaaaaaaaaa"),0,0);
    jTable1.setValueAt(new String("en métal"),0,1);
    jTable1.setValueAt(new String("un canari"),1,0);
    jTable1.setValueAt(new String("une île"),1,1);
    jTable1.setValueAt(new String("ce tutoriel"),2,0);
    jTable1.setValueAt(new String("interessant"),2,1);
    jTable1.setValueAt(new String("un homme"),3,0);
    jTable1.setValueAt(new String("une machine"),3,1);
    jTable1.setValueAt(new String("le soleil"),4,0);
    jTable1.setValueAt(new String("une étoile"),4,1);
    jTable1.setValueAt(new String("mars"),5,0);
    jTable1.setValueAt(new String("le dieu de la paix"),5,1);

    // initialiser la colonne de valeur booléénes à false
    for(int i=0;i<15;i++)
      jTable1.setValueAt(new Boolean(false),i,2);


  }
  /**Overridden so we can exit when window is closed*/
  protected void processWindowEvent(WindowEvent e)
  {
    super.processWindowEvent(e);
    if (e.getID() == WindowEvent.WINDOW_CLOSING)
    {
      System.exit(0);
    }
  }

  void jButton1_actionPerformed(ActionEvent e)
  {
     System.exit(0);

  

  }
}

class Frame1_jButton1_actionAdapter implements java.awt.event.ActionListener
{
  Frame1 adaptee;

  Frame1_jButton1_actionAdapter(Frame1 adaptee)
  {
    this.adaptee = adaptee;
  }
  public void actionPerformed(ActionEvent e)
  {
    adaptee.jButton1_actionPerformed(e);
  }
}
//*************
merci d'avance



Classé sous : public, int, string, jtable1, setvalueat

Participer à cet échange

Pub



Appels d'offres

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS