Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
- package testlist;
- import java.awt.BorderLayout;
- import java.awt.Dimension;
- import java.awt.FlowLayout;
- import java.awt.GridLayout;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import javax.swing.DefaultCellEditor;
- import javax.swing.JButton;
- import javax.swing.JFrame;
- import javax.swing.JLabel;
- import javax.swing.JPanel;
- import javax.swing.JScrollPane;
- import javax.swing.JTable;
- import javax.swing.event.ListSelectionEvent;
- import javax.swing.event.ListSelectionListener;
- import javax.swing.table.AbstractTableModel;
- import javax.swing.table.TableModel;
- import javax.swing.table.DefaultTableModel;
- /**
- *
- * @author Evangelion-01
- */
- public class TableTestFinal extends javax.swing.JFrame implements ListSelectionListener{
- /**
- * Creates new form TableTestFinal
- */
- private JTable maTable;
- private JScrollPane scrollPane;
- private JLabel txtField, txtRowCount;
- private JButton btnAjouter, btnSupprimer, btnClear;
- private JPanel global, centre, boutons, jPTextField;
- private DefaultTableModel dtm;
- private String[] nouvelleLigne = {"", "", ""};
- private String[] enTete = {"prenom", "nom", "force"};
- private String[][] donnee = {
- {"alex", "cool","9000"},
- {"steph", "whiteFox", "9000"},
- {"grumpy", "cat", "420"}};
- private static int aindex;
- public TableTestFinal() {
- super();
- dtm = new DefaultTableModel(donnee, enTete);
- setVisible(true);
- setSize(500, 200);
- setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- maTable = new JTable();
- scrollPane = new JScrollPane(maTable);
- scrollPane.setPreferredSize(new Dimension(350, 250));
- global = new JPanel();
- centre = new JPanel();
- boutons = new JPanel();
- jPTextField = new JPanel();
- btnAjouter = new JButton();
- btnSupprimer = new JButton();
- btnClear = new JButton();
- txtField = new JLabel();
- txtRowCount = new JLabel();
- centre.setLayout(new GridLayout(2,1));
- boutons.setLayout(new GridLayout(3,1));
- global.setLayout(new BorderLayout());
- jPTextField.setLayout(new GridLayout(2, 1));
- boutons.add(btnAjouter);
- boutons.add(btnSupprimer);
- boutons.add(btnClear);
- btnAjouter.setText("Ajouter");
- btnSupprimer.setText("Supprimer");
- btnClear.setText("Enlever la Selection");
- centre.add(scrollPane);
- jPTextField.add(txtRowCount);
- jPTextField.add(txtField);
- txtField.setText("Selection : ");
- txtRowCount.setText(Integer.toString(dtm.getRowCount()) + " " + Integer.toString(aindex));
- global.add(centre);
- global.add(boutons, BorderLayout.EAST);
- global.add(jPTextField, BorderLayout.SOUTH);
- getContentPane().add(global);
- setAction();
- setButtons();
- maTable.setModel(dtm);
- }
- public void setAction(){
- maTable.getSelectionModel().addListSelectionListener((ListSelectionListener) this);
- }
- @Override
- public void valueChanged(ListSelectionEvent e) {
- String selectedData = "";
- aindex = maTable.getSelectedRow();
- int[] colonne = maTable.getSelectedColumns();
- for(int i = 0; i < 3; i++){
- selectedData += (String) maTable.getValueAt(aindex, i);
- }
- txtField.setText("Selection : 777 -> " + selectedData + " " + aindex);
- txtRowCount.setText(Integer.toString(dtm.getRowCount()) + " " + Integer.toString(aindex));
- //maTable.getSelectionModel().clearSelection();
- }
- public void setButtons(){
- btnAjouter.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- dtm.addRow(nouvelleLigne);
- }
- });
- btnSupprimer.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent evt) {
- DefaultCellEditor dce = (DefaultCellEditor)maTable.getCellEditor();
- if (dce != null) dce.stopCellEditing();
- // int viewIndex = maTable.getSelectedRow();
- // if(viewIndex != -1) {
- // int modelIndex = maTable.convertRowIndexToModel(viewIndex);
- // DefaultTableModel model = (DefaultTableModel)maTable.getModel();
- // model.removeRow(modelIndex);
- // modelIndex = maTable.getSelectedRow();
- // }
- // dtm.moveRow(aindex, aindex, 0);
- dtm.removeRow(aindex);
- dtm.fireTableRowsDeleted(aindex, aindex);
- //effaceColone(maTable);
- }
- });
- }
- public void effaceColone( JTable table){
- DefaultCellEditor dce = (DefaultCellEditor)maTable.getCellEditor();
- if (dce != null) dce.stopCellEditing();
- DefaultTableModel model = (DefaultTableModel) table.getModel();
- int[] rows = table.getSelectedRows();
- for(int i=0;i<rows.length;i++){
- dtm.removeRow(rows[i]-i);
- dtm.fireTableRowsDeleted(rows[i]-i, rows[i]-i);
- }
- }
- /**
- * @param args the command line arguments
- */
- public static void main(String args[]) {
- /* Set the Nimbus look and feel */
- //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
- /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
- * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
- */
- try {
- for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
- if ("Nimbus".equals(info.getName())) {
- javax.swing.UIManager.setLookAndFeel(info.getClassName());
- break;
- }
- }
- } catch (ClassNotFoundException ex) {
- java.util.logging.Logger.getLogger(TableTestFinal.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
- } catch (InstantiationException ex) {
- java.util.logging.Logger.getLogger(TableTestFinal.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
- } catch (IllegalAccessException ex) {
- java.util.logging.Logger.getLogger(TableTestFinal.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
- } catch (javax.swing.UnsupportedLookAndFeelException ex) {
- java.util.logging.Logger.getLogger(TableTestFinal.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
- }
- //</editor-fold>
- /* Create and display the form */
- java.awt.EventQueue.invokeLater(new Runnable() {
- public void run() {
- new TableTestFinal().setVisible(true);
- }
- });
- }
- // Variables declaration - do not modify
- // End of variables declaration
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement