Cherche spécialiste en jTable java
Maria
-
Corb -
Corb -
Bonjour,
Je chercherai quelqu'un qui pourrai m'aider pour la manipulation d'une jTable. L'ajout de données est faite grâce à un model mais maintenant je dois supprimer une ligne sélectionnée et actualiser la jTable après l'ajout ou la suppression dans la jTable.
Merci pour ceux qui prendront le temps de m'aider.
Ce problème me bloque et ne me permet pas donc d'avancer dans mon projet ce qui est problématique.
Merci d'avance
Je chercherai quelqu'un qui pourrai m'aider pour la manipulation d'une jTable. L'ajout de données est faite grâce à un model mais maintenant je dois supprimer une ligne sélectionnée et actualiser la jTable après l'ajout ou la suppression dans la jTable.
Merci pour ceux qui prendront le temps de m'aider.
Ce problème me bloque et ne me permet pas donc d'avancer dans mon projet ce qui est problématique.
Merci d'avance
A voir également:
- Cherche spécialiste en jTable java
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Waptrick java voiture - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
49 réponses
C'est Simple voici un Example:
DefaultTableModel model =(DefaultTableModel)myTable.getModel();
model.removeRow(2);
Tu peux voir Tout l'example ici:
http://sakoba.byethost13.com/2010/11/26/working-with-table/
DefaultTableModel model =(DefaultTableModel)myTable.getModel();
model.removeRow(2);
Tu peux voir Tout l'example ici:
http://sakoba.byethost13.com/2010/11/26/working-with-table/
Je veux voir la fonction qui définit ces instructions:
{rs.getObject("NUMPERSONNE"),rs.getObject("NUMGROUPE"),rs.getObject("RESPONSABILITEMEMBRE"),rs.getObject("DATENAISSANCEMEMBRE"),rs.getObject("NOMPERSONNE"),rs.getObject("PRENOMPERSONNE"),rs.getObject("TITRECIVILITE")});
{rs.getObject("NUMPERSONNE"),rs.getObject("NUMGROUPE"),rs.getObject("RESPONSABILITEMEMBRE"),rs.getObject("DATENAISSANCEMEMBRE"),rs.getObject("NOMPERSONNE"),rs.getObject("PRENOMPERSONNE"),rs.getObject("TITRECIVILITE")});
private JTable getJTableSup() {
if (jTableSup == null)
{
jTableSup = new JTable();
//DefaultTableModel md = new DefaultTableModel();
md.setColumnIdentifiers(new String []{"Numéro Personne","Numéro Groupe","Responsabilité","Naissance","Nom","Prenom","Civilité"});
/*----------------- c'est juste pr Determiner le nom de la colonne ------------------------- */
System.out.print(md);
try
{
ResultSet rs = Select.ListeMembreNum();
while (rs.next())
{
/*---------------------- AJOUT DES LIGNES AU JTABLE --------------------*/
md.addRow(new Object[]
{rs.getObject("NUMPERSONNE"),rs.getObject("NUMGROUPE"),rs.getObject("RESPONSABILITEMEMBRE"),rs.getObject("DATENAISSANCEMEMBRE"),rs.getObject("NOMPERSONNE"),rs.getObject("PRENOMPERSONNE"),rs.getObject("TITRECIVILITE")});
}
System.out.print(md);
}
catch (SQLException e)
{
System.out.println("Erreur d'affichage ");
}
/*---------------------------------- AFFECTER LE MODEL AU JTABLE avec la methode setmodel ------------*/
jTableSup.setModel(md);
jTableSup.setBounds(new Rectangle(90, 381, 439, 284));
jTableSup.setBackground(SystemColor.controlHighlight);
}
return jTableSup;
}
Donc j'ai une jTable qui récupère la table personne d'une BDD Oracle(ça sa marche nikel)
Ensuite j'ai un bouton supprimer qui doit supprimer une ligne sélectionnée dans la jTable et ça je n'arrive pas.
J'ai fais un petit code qui je pense n'est pas bon.
Voici le code de la suppression :
Vraiment merci sakoba de m'aider
Ensuite j'ai un bouton supprimer qui doit supprimer une ligne sélectionnée dans la jTable et ça je n'arrive pas.
J'ai fais un petit code qui je pense n'est pas bon.
Voici le code de la suppression :
//Fonction permettant la suppression d'un membre dans la BDD
private void btSupprimer_click()
{
/* MembreSupprimer sup = (MembreSupprimer)jComboBoxSup.getSelectedItem();
if (sup == null)
{
JOptionPane.showMessageDialog(null, "Sélectionnez un numéro de membre à supprimer" );
return;
}
System.out.println("Responsabilité sélectionnée : " + sup);*/
/*if (v.contains(sup)){
JOptionPane.showMessageDialog(this, "blabla" , "Message",
JOptionPane.INFORMATION_MESSAGE );
}
else{
int option = JOptionPane.showConfirmDialog(this,"voulez-vous vraiment supprimer?","supprimer un membre", JOptionPane.YES_NO_OPTION, JOptionPane.WARNING_MESSAGE);
if(option == JOptionPane.OK_OPTION){
Delete.DeleteResa(sup.getnumPersonne());
JOptionPane.showMessageDialog(this, "Suppression effectuée" , "Message",
JOptionPane.INFORMATION_MESSAGE );*/
//}
//}
int colonne = jTableSup.getSelectedColumn();
for( int i = 0; i<colonne; i++ )
{
jTableSup.getValueAt(0, colonne);
}
System.out.print(colonne);
try
{
Delete.DeleteResa(colonne);
JOptionPane.showMessageDialog(this, "Suppression effectuée" , "Message",
JOptionPane.INFORMATION_MESSAGE );
// btValider.setEnabled(false);
}
catch(Exception e)
{
System.out.println("Exception " + e.getMessage());
JOptionPane.showMessageDialog(this, "Suppression effectuée" , "Message",
JOptionPane.INFORMATION_MESSAGE );
}
//Rafraichir jTable
//md.fireTableDataChanged();
}
Vraiment merci sakoba de m'aider
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Essais ça.
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
import javax.swing.table.*;
public class JTableDelete extends JFrame
{
JTable myTable;
String titre[]={"Villes","Nbr. Habitant"};
Object [][]données={{"Paris","3000000"},{"Berlin","45000000"}};
DefaultTableModel tabModel;
public JTableDelete()
{
JPanel p1=new JPanel();
JPanel p2=new JPanel();
JPanel main=new JPanel();
myTable=new JTable();
JButton add=new JButton("Charger");
JButton del=new JButton("Supprimer");
p1.add(myTable);
p2.add(add);
p2.add(del);
main.add(p1,BorderLayout.NORTH);
main.add(p2,BorderLayout.SOUTH);
add(main);
add.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
remplir();
}
});
del.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
supprimer();
}
});
}
void remplir()
{
tabModel=new DefaultTableModel(données,titre);
myTable.setModel(tabModel);
}
void supprimer()
{
tabModel.removeRow(myTable.getSelectedRow());
}
public static void main(String [] arg)
{
JTableDelete tab= new JTableDelete();
tab.setVisible(true);
tab.setSize(180,250);
}
}
ça devrait marcher.
Tu peux voir l'apperçu ici:http://sakoba.byethost13.com/2011/02/05/jtable-delete-row/
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
import javax.swing.table.*;
public class JTableDelete extends JFrame
{
JTable myTable;
String titre[]={"Villes","Nbr. Habitant"};
Object [][]données={{"Paris","3000000"},{"Berlin","45000000"}};
DefaultTableModel tabModel;
public JTableDelete()
{
JPanel p1=new JPanel();
JPanel p2=new JPanel();
JPanel main=new JPanel();
myTable=new JTable();
JButton add=new JButton("Charger");
JButton del=new JButton("Supprimer");
p1.add(myTable);
p2.add(add);
p2.add(del);
main.add(p1,BorderLayout.NORTH);
main.add(p2,BorderLayout.SOUTH);
add(main);
add.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
remplir();
}
});
del.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
supprimer();
}
});
}
void remplir()
{
tabModel=new DefaultTableModel(données,titre);
myTable.setModel(tabModel);
}
void supprimer()
{
tabModel.removeRow(myTable.getSelectedRow());
}
public static void main(String [] arg)
{
JTableDelete tab= new JTableDelete();
tab.setVisible(true);
tab.setSize(180,250);
}
}
ça devrait marcher.
Tu peux voir l'apperçu ici:http://sakoba.byethost13.com/2011/02/05/jtable-delete-row/
Oui mais ça ne supprime pas dans ma base de données???
Voici le code qui rempli ma jTable :
Voici le code qui rempli ma jTable :
private JTable getJTableSup() {
if (jTableSup == null)
{
jTableSup = new JTable();
DefaultTableModel md = new DefaultTableModel();
md.setColumnIdentifiers(new String []{"Numéro Personne","Numéro Groupe","Responsabilité","Naissance","Nom","Prenom","Civilité"});
/*----------------- c juste pr Determiner le nom de la colonne ------------------------- */
System.out.print(md);
try
{
ResultSet rs = Select.ListeMembreNum();
while (rs.next())
{
/*---------------------- AJOUT DES LIGNES AU JTABLE --------------------*/
md.addRow(new Object[]
{rs.getObject("NUMPERSONNE"),rs.getObject("NUMGROUPE"),rs.getObject("RESPONSABILITEMEMBRE"),rs.getObject("DATENAISSANCEMEMBRE"),rs.getObject("NOMPERSONNE"),rs.getObject("PRENOMPERSONNE"),rs.getObject("TITRECIVILITE")});
}
System.out.print(md);
}
catch (SQLException e)
{
System.out.println("Erreur d'affichage ");
}
/*---------------------------------- AFFECTER LE MODEL AU JTABLE avec la methode setmodel ------------*/
jTableSup.setModel(md);
jTableSup.setBounds(new Rectangle(90, 381, 439, 284));
jTableSup.setBackground(SystemColor.controlHighlight);
}
return jTableSup;
}
Du coup est ce que tu peux m'aider à changer le code et à l'adapter d'après mon code d'ajout stp.
Merci d'avance sakoba
D'abord commence à faire sortir ton Model "md" de la Fonction gejTableSup(). Mais tu laisse l'initialisation dans la Fonction.
Exp:
DefaultTableModel md; //hors du Fonction
md = new DefaultTableModel(); //à l'interieur du Fonction
Dans ton Bouton Supprimer tu appelles la Fonction Supprimer().
Note: tu peux Modifier la fonction supprimer en ajoutant la suppression de l'element dans la base de données.
int del=stmt.executeUpdate("Delete from nomTable where Numero like '"+nomTable.getValueAt(int row,int colum)+"' ");
Exp:
DefaultTableModel md; //hors du Fonction
md = new DefaultTableModel(); //à l'interieur du Fonction
Dans ton Bouton Supprimer tu appelles la Fonction Supprimer().
Note: tu peux Modifier la fonction supprimer en ajoutant la suppression de l'element dans la base de données.
int del=stmt.executeUpdate("Delete from nomTable where Numero like '"+nomTable.getValueAt(int row,int colum)+"' ");
Voici le code que j'ai testé :
Merci pour ton aide sakoba
private void btSupprimer_click()
{
int colonne = jTableSup.getSelectedColumn();
for( int i = 0; i<colonne; i++ )
{
jTableSup.getValueAt(0, colonne);
}
System.out.print(colonne);
try
{
Delete.DeleteResa(colonne);
JOptionPane.showMessageDialog(this, "Suppression effectuée" , "Message",
JOptionPane.INFORMATION_MESSAGE );
// btValider.setEnabled(false);
}
catch(Exception e)
{
System.out.println("Exception " + e.getMessage());
JOptionPane.showMessageDialog(this, "Suppression effectuée" , "Message",
JOptionPane.INFORMATION_MESSAGE );
}
//Rafraichir jTable
//md.fireTableDataChanged();
}
Merci pour ton aide sakoba
Oui bien sur :
public static void DeleteResa( int numPersonne) throws SQLException
{
try
{
// récupération de la connexion
c = Connect.getCon();
stm = c.createStatement();
String sql = "DELETE FROM MEMBRE WHERE numPersonne = " + numPersonne + "";
// Execution de la requete
stm.executeUpdate(sql);
stm.close();
}
catch(SQLException sqlE)
{
System.out.println("Sql Erreur " + sqlE.getMessage());
throw sqlE;
}
catch(Exception e)
{
System.out.println("Erreur " + e.getMessage());
}
}
Personnellement, je pense que le code est bon puisque j'utilisais une jcombobox avant et sa supprimer bien.
Donc je pense que c'est mon code de mon applet qui doit pas être bon.
Merci Sakoba
public static void DeleteResa( int numPersonne) throws SQLException
{
try
{
// récupération de la connexion
c = Connect.getCon();
stm = c.createStatement();
String sql = "DELETE FROM MEMBRE WHERE numPersonne = " + numPersonne + "";
// Execution de la requete
stm.executeUpdate(sql);
stm.close();
}
catch(SQLException sqlE)
{
System.out.println("Sql Erreur " + sqlE.getMessage());
throw sqlE;
}
catch(Exception e)
{
System.out.println("Erreur " + e.getMessage());
}
}
Personnellement, je pense que le code est bon puisque j'utilisais une jcombobox avant et sa supprimer bien.
Donc je pense que c'est mon code de mon applet qui doit pas être bon.
Merci Sakoba
Il faut récupérer la valeur de la colonne dans une variable et la passer en paramètre:
int colonne = jTableSup.getSelectedColumn();
String elem=jTableSup.getValueAt(0, colonne).toString();
Delete.DeleteResa(Inetger.parseInt(elem));
ça marche pour une seule colonne selectionnée.
int colonne = jTableSup.getSelectedColumn();
String elem=jTableSup.getValueAt(0, colonne).toString();
Delete.DeleteResa(Inetger.parseInt(elem));
ça marche pour une seule colonne selectionnée.
Je sais d'ou vient le problème.
En fait, quand j'ai rempli ma jTable à l'aide de ma BDD ma date de naissance, c'est rempli comme ceci 1985-08-12 00:00:00.0 au lieu de comme ça 1985-08-12.
Et du coup, quand il essaye de le supprimer dans la BDD il est pas content.
C'est l'insertion de ma date de naissance qui merde alors qu'elle est défini en DATE dans ma BDD.
En fait, quand j'ai rempli ma jTable à l'aide de ma BDD ma date de naissance, c'est rempli comme ceci 1985-08-12 00:00:00.0 au lieu de comme ça 1985-08-12.
Et du coup, quand il essaye de le supprimer dans la BDD il est pas content.
C'est l'insertion de ma date de naissance qui merde alors qu'elle est défini en DATE dans ma BDD.
d'abord il faut s'assurer que le numéro passé en paramètre est correcte c à d la valeur de la colonne sélectionnée. pour ça crées un JOptionPane pour retourner la valeur dans la colonne (0,n). Selon ton programme
for( int i = 0; i<colonne; i++ )
{
JOptionPane.showMessageDialog(null,jTableSup.getValueAt(0, colonne));
}
//Essais ça et donnes moi le message qu'il affiche
Sinon la requête est correcte.
for( int i = 0; i<colonne; i++ )
{
JOptionPane.showMessageDialog(null,jTableSup.getValueAt(0, colonne));
}
//Essais ça et donnes moi le message qu'il affiche
Sinon la requête est correcte.
J'ai mis comme code :
Quand je clique sur le numéro du membre(qui est la 1ère colonne) ça ne m'affiche rien, ni de message de suppression, ni message d'erreur.
Quand, je clique sur une autre colonne ça m'affiche erreur.
Ca m'affiche ceci : Exception For input string: "Tresorier "
Faudrait peut-être supprimer sur la colonne du coup nan??
int colonne = jTableSup.getSelectedColumn();
for( int i = 0; i<colonne; i++ )
{
try
{
Delete.DeleteResa(Integer.parseInt(jTableSup.getValueAt(0, colonne).toString()));
}catch(Exception err)
{
System.out.println("Exception " + err.getMessage());
JOptionPane.showMessageDialog(this, "Erreur" , "Message",
JOptionPane.INFORMATION_MESSAGE );
}
}
Quand je clique sur le numéro du membre(qui est la 1ère colonne) ça ne m'affiche rien, ni de message de suppression, ni message d'erreur.
Quand, je clique sur une autre colonne ça m'affiche erreur.
Ca m'affiche ceci : Exception For input string: "Tresorier "
Faudrait peut-être supprimer sur la colonne du coup nan??
Remplaces ça:
int colonne = jTableSup.getSelectedColumn();
for( int i = 0; i<colonne; i++ )
{
try
{
Delete.DeleteResa(Integer.parseInt(jTableSup.getValueAt(0, colonne).toString()));
}catch(Exception err)
{
System.out.println("Exception " + err.getMessage());
JOptionPane.showMessageDialog(this, "Erreur" , "Message",
JOptionPane.INFORMATION_MESSAGE );
}
}
Par ça:
try
{
Delete.DeleteResa(Integer.parseInt(jTableSup.getValueAt(jTableSup.getSelectedRow(), 0).toString()));
JOptionPane.showMessageDialog(this, "INFO" , "Element Supprimé",
JOptionPane.INFORMATION_MESSAGE );
}catch(Exception err)
{
System.out.println("Exception " + err.getMessage());
JOptionPane.showMessageDialog(this, "Erreur" , "Message",
JOptionPane.INFORMATION_MESSAGE );
}
int colonne = jTableSup.getSelectedColumn();
for( int i = 0; i<colonne; i++ )
{
try
{
Delete.DeleteResa(Integer.parseInt(jTableSup.getValueAt(0, colonne).toString()));
}catch(Exception err)
{
System.out.println("Exception " + err.getMessage());
JOptionPane.showMessageDialog(this, "Erreur" , "Message",
JOptionPane.INFORMATION_MESSAGE );
}
}
Par ça:
try
{
Delete.DeleteResa(Integer.parseInt(jTableSup.getValueAt(jTableSup.getSelectedRow(), 0).toString()));
JOptionPane.showMessageDialog(this, "INFO" , "Element Supprimé",
JOptionPane.INFORMATION_MESSAGE );
}catch(Exception err)
{
System.out.println("Exception " + err.getMessage());
JOptionPane.showMessageDialog(this, "Erreur" , "Message",
JOptionPane.INFORMATION_MESSAGE );
}
Ca marche!!!!!!!!!!!!!!!!!!!!!!
Mais y'a quelques trucs à changer.
- D'abords, j'ai des membres qui sont des clés étrangères du coup impossible de les supprimer.
Voici le message : Exception ORA-02292: violation de contrainte (AIRDEJAVA.FK_JOUER_MEMBRE) d'intégrité - enregistrement fils existant
- Ensuite, comment peut-on actualiser la jTable après la suppression ou l'ajout d'un membre dans la jTable?
Mais y'a quelques trucs à changer.
- D'abords, j'ai des membres qui sont des clés étrangères du coup impossible de les supprimer.
Voici le message : Exception ORA-02292: violation de contrainte (AIRDEJAVA.FK_JOUER_MEMBRE) d'intégrité - enregistrement fils existant
- Ensuite, comment peut-on actualiser la jTable après la suppression ou l'ajout d'un membre dans la jTable?
Pour les Clés Étrangère, Commences d'abord par supprimer les lignes correspondant au numero de Membre dans la table de liaison. et pour Actualiser ta ta table Insères ça après "Delete.DeleteResa(Integer.parseInt(jTableSup.getValueAt(0, colonne).toString())); "
DefaultTableModel myModel=jTableSup.getModel();
myModel.removeRow(jTableSup.getSelectedRow());
http://sakoba.byethost13.com/2011/02/05/jtable-delete-row/
DefaultTableModel myModel=jTableSup.getModel();
myModel.removeRow(jTableSup.getSelectedRow());
http://sakoba.byethost13.com/2011/02/05/jtable-delete-row/
Y'a pas de commande permettant de supprimer tous les clés étrangères à la suppression du membre???
Le cascade contrain???
J'ai une erreur, il me dit ceci : "Non concordance de types : impossible de convertir de TableModel en DefaultTableMode"
Sachant que je n'ai rien défini avant mon try mais j'ai ceci au début de ma classe : DefaultTableModel md = new DefaultTableModel();
Merci sakoba
Le cascade contrain???
try
{
Delete.DeleteResa(Integer.parseInt(jTableSup.getValueAt(jTableSup.getSelectedRow(), 0).toString()));
md = new DefaultTableModel();
DefaultTableModel md=jTableSup.getModel();
md.removeRow(jTableSup.getSelectedRow());
JOptionPane.showMessageDialog(this, "Membre supprimé" , "Element Supprimé",
JOptionPane.INFORMATION_MESSAGE );
}catch(Exception err)
{
System.out.println("Exception " + err.getMessage());
JOptionPane.showMessageDialog(this, "Erreur" , "Message",
JOptionPane.INFORMATION_MESSAGE );
}
J'ai une erreur, il me dit ceci : "Non concordance de types : impossible de convertir de TableModel en DefaultTableMode"
Sachant que je n'ai rien défini avant mon try mais j'ai ceci au début de ma classe : DefaultTableModel md = new DefaultTableModel();
Merci sakoba
J'ai oublié.
Remplace cette ligne:
DefaultTableModel md=jTableSup.getModel();
par ça:
DefaultTableModel md=(DefaultTableModel)jTableSup.getModel();
Et Supprimes ça:
md = new DefaultTableModel();
Remplace cette ligne:
DefaultTableModel md=jTableSup.getModel();
par ça:
DefaultTableModel md=(DefaultTableModel)jTableSup.getModel();
Et Supprimes ça:
md = new DefaultTableModel();
Ben un GRAND GRAND merci à toi sakoba!!
Ca marche tout simplement bien maintenant.
J'ai un dernier souci en fait, c'est lors de l'ajout d'n membre, je voudrais que ça actualise aussi ma jTable.
J'ai essayé pareil avec : md = new DefaultTableModel();
DefaultTableModel md=(DefaultTableModel)jTableSup.getModel();
Mais ça ne marche pas.
As-tu une idée??
Merci d'avance
Ca marche tout simplement bien maintenant.
J'ai un dernier souci en fait, c'est lors de l'ajout d'n membre, je voudrais que ça actualise aussi ma jTable.
J'ai essayé pareil avec : md = new DefaultTableModel();
DefaultTableModel md=(DefaultTableModel)jTableSup.getModel();
Mais ça ne marche pas.
As-tu une idée??
Merci d'avance
Ok
Il doit ce faire à l'insertion.
Ma comboBox jComboBoxNom devrait être actualiser aussi mais je n'y arrive pas non plus.
Il ne me reste plus que ça pour finir mon projet.
Merci d'avance sakoba
private void btValiderAjout_click ()
{
//Gestion numéro de membre
int numMembre;
//numMembre = 0;
//rsNombrePersonne = Select.NombrePersonne();
try
{
numMembre = Integer.parseInt(jTextFieldNumeroMembre.getText());
}
catch (NumberFormatException e)
{
JOptionPane.showMessageDialog(null, "Rentrez un numéro de membre valide" );
jLabelObli.setVisible(true);
jLabelObli1.setVisible(true);
jLabelObli2.setVisible(true);
jLabelObli3.setVisible(false);
jLabelObli4.setVisible(false);
jLabelObli5.setVisible(false);
jLabelObli6.setVisible(false);
jLabelObli7.setVisible(false);
jLabelObli8.setVisible(false);
return;
}
/* if (!Pattern.matches("[0-9]+", jTextFieldNumeroMembre.getText()))
{
JOptionPane.showMessageDialog(null, "Rentrez un numéro de membre valide");
jLabelObli.setVisible(true);
jLabelObli1.setVisible(true);
jLabelObli2.setVisible(true);
jLabelObli3.setVisible(false);
jLabelObli4.setVisible(false);
jLabelObli5.setVisible(false);
jLabelObli6.setVisible(false);
jLabelObli7.setVisible(false);
jLabelObli8.setVisible(false);
return;
}*/
//Gestion numéro de groupe
Groupe numGroupe = (Groupe) jComboBoxNumeroGroupe.getSelectedItem();
if (numGroupe == null)
{
JOptionPane.showMessageDialog(null, "Sélectionnez un numéro de groupe" );
jLabelObli.setVisible(true);
jLabelObli1.setVisible(true);
jLabelObli2.setVisible(false);
jLabelObli3.setVisible(false);
jLabelObli4.setVisible(false);
jLabelObli5.setVisible(false);
jLabelObli6.setVisible(true);
jLabelObli7.setVisible(false);
jLabelObli8.setVisible(false);
return;
}
//Gestion nom de membre
String nomMembre = jTextFieldNomMembre.getText();
if (nomMembre.equals(""))
{
JOptionPane.showMessageDialog(null, "Rentrez un nom de membre" );
jLabelObli.setVisible(true);
jLabelObli1.setVisible(true);
jLabelObli2.setVisible(false);
jLabelObli3.setVisible(true);
jLabelObli4.setVisible(false);
jLabelObli5.setVisible(false);
jLabelObli6.setVisible(false);
jLabelObli7.setVisible(false);
jLabelObli8.setVisible(false);
return;
}
if (!Pattern.matches("[A-Za-z -]*", nomMembre))
{
JOptionPane.showMessageDialog(null, "Rentrez un nom de membre valide" );
jLabelObli.setVisible(true);
jLabelObli1.setVisible(true);
jLabelObli2.setVisible(false);
jLabelObli3.setVisible(true);
jLabelObli4.setVisible(false);
jLabelObli5.setVisible(false);
jLabelObli6.setVisible(false);
jLabelObli7.setVisible(false);
jLabelObli8.setVisible(false);
return;
}
//Gestion date de naissance du membre
/*String jour = (String) jComboBoxJour.getSelectedItem();
String mois = (String) jComboBoxMois.getSelectedItem();
String annee = (String) jComboBoxAnnee.getSelectedItem();*/
/* Date date;
try
{
date = Date.valueOf(jTextFieldDate.getText());
}
catch (IllegalArgumentException e)
{
JOptionPane.showMessageDialog(null, "Rentrez une date au format yyyy/mm/dd" );
return;
}*/
//Gestion prénom de membre
String prenomMembre = jTextFieldPrenomMembre.getText();
if (prenomMembre.equals(""))
{
JOptionPane.showMessageDialog(null, "Rentrez un prénom de membre" );
jLabelObli.setVisible(true);
jLabelObli1.setVisible(true);
jLabelObli2.setVisible(false);
jLabelObli3.setVisible(false);
jLabelObli4.setVisible(true);
jLabelObli5.setVisible(false);
jLabelObli6.setVisible(false);
jLabelObli7.setVisible(false);
jLabelObli8.setVisible(false);
return;
}
if (!Pattern.matches("[A-Za-z -]*", prenomMembre))
{
JOptionPane.showMessageDialog(null, "Rentrez un prénom de membre valide" );
jLabelObli.setVisible(true);
jLabelObli1.setVisible(true);
jLabelObli2.setVisible(false);
jLabelObli3.setVisible(false);
jLabelObli4.setVisible(true);
jLabelObli5.setVisible(false);
jLabelObli6.setVisible(false);
jLabelObli7.setVisible(false);
jLabelObli8.setVisible(false);
return;
}
//Gestion titre de civilité du membre
String titre = (String)jComboBoxTitre.getSelectedItem();
if (titre == null)
{
JOptionPane.showMessageDialog(null, "Sélectionnez un titre de civilité" );
jLabelObli.setVisible(true);
jLabelObli1.setVisible(true);
jLabelObli2.setVisible(false);
jLabelObli3.setVisible(false);
jLabelObli4.setVisible(false);
jLabelObli5.setVisible(false);
jLabelObli6.setVisible(false);
jLabelObli7.setVisible(false);
jLabelObli8.setVisible(true);
return;
}
//Gestion responsabilité du membre
String resp = (String) jComboBoxResponsabilité.getSelectedItem();
if (resp == null)
{
JOptionPane.showMessageDialog(null, "Sélectionnez une responsabilité" );
jLabelObli.setVisible(true);
jLabelObli1.setVisible(true);
jLabelObli2.setVisible(false);
jLabelObli3.setVisible(false);
jLabelObli4.setVisible(false);
jLabelObli5.setVisible(true);
jLabelObli6.setVisible(false);
jLabelObli7.setVisible(false);
jLabelObli8.setVisible(false);
return;
}
/*vectorMembre.add(numMembre);
vectorMembre.add(numGroupe);
vectorMembre.add(titre);
vectorMembre.add(jour);
vectorMembre.add(mois);
vectorMembre.add(annee);
vectorMembre.add(resp);
vectorMembre.add(nomMembre);
vectorMembre.add(prenomMembre);*/
//Gestion de l'insertion du membre
try
{
//Ajout dans la table Personne de la BDD
Insertion.insertPersonne(numMembre, nomMembre, prenomMembre, titre);
//Ajout dans la table Membre de la BDD
Insertion.insertResa( numMembre, numGroupe.getnumGroupe(), resp, null, nomMembre, prenomMembre, titre );
JOptionPane.showMessageDialog(this, "Ajout effectué" , "Message", JOptionPane.INFORMATION_MESSAGE );
}
catch(Exception e)
{
e.printStackTrace();
JOptionPane.showMessageDialog(this, "Ajout non-effectué\n\n"+e , "Message", JOptionPane.ERROR_MESSAGE );
return;
}
/*int option = JOptionPane.showConfirmDialog(this, "Voulez vous ajouter ce membre?","Ajouter un membre", JOptionPane.YES_NO_OPTION, JOptionPane.WARNING_MESSAGE);
if (option == JOptionPane.OK_OPTION){
Insertion.insertResa(vectorMembre);
}*/
//Remise des champs à vide
ViderChamp();
//Grisonne les champs
GrisonnerChamps();
//Supprime les champs obligatoires
SupprimeObligation();
//Rafraichir
bbb();
aaa();
//md.fireTableDataChanged();
}
Il doit ce faire à l'insertion.
Ma comboBox jComboBoxNom devrait être actualiser aussi mais je n'y arrive pas non plus.
Il ne me reste plus que ça pour finir mon projet.
Merci d'avance sakoba
Je débute en jTable et je peux te dire que c'est galère au début sachant qu'il faut pas juste supprimer dans la jTable faut aussi supprimer dans la BDD oracla...
Si tu cherche une solution alternative permettant d'utiliser facilement une JTable, je te conseille ce site :
http://www.flows-projects.com/?c=Java%20Projects&p=JTableDataSet
Pour télécharger le JTableDataset : http://www.flows-projects.com/?c=download
Tu n'as plus besoin de t'embêter avec le modèle. L'utilisation est plus simple.
Par ex, pour ton problème, ça donnerait :
L'initialisation de ta table est bien plus simple avec cette solution (ça prend quelques lignes à peine).