Méthode de recherche dans une table (interface graphique)
bella katrin
Messages postés
35
Statut
Membre
-
faseldi Messages postés 314 Statut Membre -
faseldi Messages postés 314 Statut Membre -
bonjour ;
j'ai un tp de gestion des notes d'étudiant avec une interface graphique je fait les méthodes de l'ajout et suppression mais j'ai un problème dans la méthode de recherche par note < 10 , quand je veux récupérer la note pour faire un teste il m'affiche :
(Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 5 >= 5
at java.util.Vector.elementAt(Unknown Source)
at javax.swing.table.DefaultTableModel.getValueAt(Unknown Source))
et voila la méthode de recherche aidez moi svp ;
j'ai un tp de gestion des notes d'étudiant avec une interface graphique je fait les méthodes de l'ajout et suppression mais j'ai un problème dans la méthode de recherche par note < 10 , quand je veux récupérer la note pour faire un teste il m'affiche :
(Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 5 >= 5
at java.util.Vector.elementAt(Unknown Source)
at javax.swing.table.DefaultTableModel.getValueAt(Unknown Source))
et voila la méthode de recherche aidez moi svp ;
item7.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent arg0) {
for (int i=0;i<=10;i++){
int x=(int)model.getValueAt(i,5); // la note dans la 5 colonne
if (x>10)
model.removeRow(i);
}
}
});
}
}
A voir également:
- Méthode de recherche dans une table (interface graphique)
- Table ascii - Guide
- Table des matières word - Guide
- Changer de carte graphique - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Comment faire une recherche à partir d'une photo - Guide
0 1 2 3 4 5 6 7 8 9 10 là
ton model ressemble à quoi ?
pas évident sans savoir le code de model :)
package ih; import java.awt.Color; import java.awt.Container; import java.awt.Font; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; import java.util.Vector; import javax.swing.*; import javax.swing.table.DefaultTableModel; import javax.swing.table.JTableHeader; import javax.swing.table.TableRowSorter; public class etudiant extends JFrame{ Container c; JLabel l =new JLabel("nom : "); JLabel p =new JLabel("prenom:"); JLabel s =new JLabel("specialité:"); JLabel n =new JLabel("note:"); JLabel id =new JLabel("id:"); Object[] specialité=new Object[]{"Math et info","science technique","MEDCINE"}; JComboBox combobox=new JComboBox(specialité); JTextField l2=new JTextField(); JTextField l3=new JTextField(); JTextField l4=new JTextField(); JTextField l5=new JTextField(); JTextField l6=new JTextField(); JMenuBar menubar =new JMenuBar(); JMenu menu1=new JMenu("fichier"); JMenu menu2=new JMenu("Edition"); JMenuItem item1=new JMenuItem("ajouter"); JMenuItem item2=new JMenuItem("modifier"); JMenuItem item7=new JMenuItem("rechercher"); JMenuItem item3=new JMenuItem("supprimer"); JMenuItem item4=new JMenuItem("copier"); JMenuItem item5=new JMenuItem("coller"); JMenuItem item6=new JMenuItem("couper"); JTable table =new JTable(); Object[] columns = {"id","nom","prenom", "spec","note"}; DefaultTableModel model=new DefaultTableModel(); public etudiant(){ this.setBounds(500, 500,700, 340); this.setTitle("gestion d'etudiant"); this.setVisible(true); c=this.getContentPane(); c.setLayout(null); c.add(l); l.setBounds(10, 70, 100,50); c.add(l2); l2.setBounds(70,82, 100,25); c.add(p); p.setBounds(10, 100, 100, 50); c.add(l3); l3.setBounds(70, 112, 100, 25); c.add(s); s.setBounds(10, 130, 100, 50); c.add(n); n.setBounds(10, 160, 100, 50); c.add(l5); l5.setBounds(70,172, 100, 25); c.add(id); id.setBounds(10, 190, 100, 50); c.add(l6); l6.setBounds(70, 202, 100, 25); setJMenuBar(menubar); menubar.add(menu1); menubar.add(menu2); menu1.add(item1); menu1.add(item2); menu1.add(item3); menu1.add(item7); c.add(combobox); combobox.setBounds(70, 142, 100, 25); combobox.addItem("informatique");; combobox.removeItem("item1"); menu2.add(item4); item4.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,ActionEvent.CTRL_MASK)); menu2.add(item5); item5.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V,ActionEvent.CTRL_MASK)); menu2.add(item6); item6.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,ActionEvent.CTRL_MASK)); c.add(table); table.setBounds(350, 80, 300, 250); model.setColumnIdentifiers(columns); table.setModel(model); Font font =new Font("",5,22); table.setFont(font); table.setBackground(Color.LIGHT_GRAY); table.setForeground(Color.MAGENTA); table.setRowHeight(30); String [] dd={"id"}; String [] dd2={"nom"}; String [] dd3={"prenom"}; String [] dd4={"specialté"}; String [] dd5={"note"}; for( int i=0;i<=dd.length;i++){ Object[] data ={dd[i],dd2[i],dd3[i],dd4[i],dd5[i]}; model.addRow(data); final Object[] row=new Object[5]; item1.addActionListener(new ActionListener(){ @Override public void actionPerformed(ActionEvent arg0) { row[0]= l6.getText(); row[1]= l2.getText(); row[2]=l3.getText(); row[3]=combobox.getSelectedItem(); row[4]=l5.getText(); model.addRow(row); } }); item3.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent arg0) { ((DefaultTableModel) table.getModel()).removeRow(table.getSelectedRow()); } }); item2.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent arg0) { int i=table.getSelectedRow(); c.setBackground(new Color(79)); if(i>=0){ model.setValueAt(l6.getText(),i,0); model.setValueAt(l2.getText(),i,1); model.setValueAt(l3.getText(),i,2); model.setValueAt(combobox.getSelectedItem(),i,3); model.setValueAt(l5.getText(),i,4); } else{ System.out.println("ERREUR DE MODIFICATION"); c.setBackground(new Color(100,80,30)); } } }); item7.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent arg0) { for (int i=0;i<=10;i++){ int x=(int)model.getValueAt(i,5); if (x>10) model.removeRow(i); } } }); } } public static void main(String[] args) { new etudiant(); } }Explications disponibles ici : ICI
Merci d'y penser dans tes prochains messages.