import javax.swing.JFrame;
import javax.swing.JTable;
import javax.swing.table.AbstractTableModel;
import javax.swing.table.DefaultTableModel;
public class JTableExemple extends JFrame{
Object[][] donnees = {{9,8,7},{8,7,6},{7,6,5},{6,5,4}};
String[] titre = {"c1", "c2", "c3"};
public JTableExemple(){
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
DefaultTableModel dtm = new DefaultTableModel(donnees, titre);
table.setModel(dtm);
this.getContentPane().add(new JScrollPane(table),BorderLayout.CENTER);
//supprimer la ligne 2
((DefaultTableModel)table.getModel()).removeRow(1);
pack();
}
public static void main(String[] args) {
new JTableExemple();
}
}
class Modele extends AbstractTableModel{Modèle JTable HashMap:
List<object> data = new ArrayList<object>();
public void removeRow(int ligne){
this.donnees.remove(ligne);
}
}
class Modele extends AbstractTableModel{Et si vous utilisez un tableau de deux dimension dont les éléments ne sont pas stockés dynamiquement, alors vous aurez des problèmes, parce qu'il n'existe pas une fonction qui supprime une ligne d'un tableau. Donc, vous allez créer un décalage qui aura une complexité inutile de (n-k)*m (k;indice de la ligne) causée par le temps et le nombre d'opérations nécessaires pour décaler tous les éléments.
HashMap<Integer, Object[]> data = new HashMap<Integer, Object[]>();
public void removeRow(int ligne){
this.donnees.remove(ligne);
}
}
Please disable your ad blocker and refresh the window to use this website.