ok GodConan,voici, l'integralité de mon code :
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/*
* FormChoixRegistre.java
*
* Created on 27 juin 2011, 10:34:03
*/
package com.anso.dpicol.vue;
import com.anso.dpicol.dao.DataBaseConnector;
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.PreparedStatement;
import com.mysql.jdbc.ResultSetMetaData;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Map;
import java.util.TreeMap;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
import javax.swing.UIManager;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import javax.swing.table.DefaultTableModel;
/**
*
* @author Cool
*/
public final class FormChoixRegistre1 extends javax.swing.JFrame {
private ArrayList listDesRegistres;
private String ValTxtCodeRegistre;
private int colNo;
private Object objects[];
/** Creates new form FormChoixRegistre */
public FormChoixRegistre1() {
initComponents();
setResizable(false);
setLocationRelativeTo(null);
listeRegistre();
}
public boolean verif(Object[] val){
boolean result=true;
for(int k=0;k< txtJtableRegCharger.getModel().getRowCount();k++){
if(txtJtableRegCharger.getModel().getValueAt(k, 0) == val){
JOptionPane.showMessageDialog(null, val+" existe déjà", "Erreur", JOptionPane.ERROR_MESSAGE);
result=false;
}
}
return result;
}
public void listeRegistre() {
try {
// String Query = "SELECT * FROM registres ";
String Query = "SELECT * FROM registres ";
Connection connection = (Connection) DataBaseConnector.getConnection();
PreparedStatement ps = (PreparedStatement) connection.prepareStatement(Query);
ResultSet rs = ps.executeQuery();
ResultSetMetaData md = (ResultSetMetaData) rs.getMetaData();
colNo = md.getColumnCount();
while (rs.next()) {
objects = new Object[colNo];
for (int i = 0; i < colNo; i++) {
objects[i] = rs.getObject(i+1);
}
aModel.addRow(objects);
}
txtJtableRegDispo.repaint();
} catch (SQLException ex) {
Logger.getLogger(FormChoixRegistre1.class.getName()).log(Level.SEVERE, null, ex);
}
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
PanContenu = new javax.swing.JPanel();
PanEntete = new javax.swing.JPanel();
jLabel1 = new javax.swing.JLabel();
PanCentral = new javax.swing.JPanel();
PanRegistreTotal = new javax.swing.JPanel();
jLabel2 = new javax.swing.JLabel();
TxtNbRegistreDispo = new javax.swing.JTextField();
jScrollPane1 = new javax.swing.JScrollPane();
listDesRegistres=new ArrayList();
txtJtableRegDispo = new javax.swing.JTable();
PanCmd = new javax.swing.JPanel();
CmdAjouter = new javax.swing.JButton();
CmdRetirer = new javax.swing.JButton();
CmdQuitter = new javax.swing.JButton();
PanRegistreSelectionne = new javax.swing.JPanel();
jLabel3 = new javax.swing.JLabel();
jTextField2 = new javax.swing.JTextField();
jScrollPane2 = new javax.swing.JScrollPane();
listeDesRegCharger=new ArrayList();
txtJtableRegCharger = new javax.swing.JTable();
setDefaultCloseOperation(javax.swing.WindowConstants.DO_NOTHING_ON_CLOSE);
setTitle("Etat Civil");
PanContenu.setBackground(new java.awt.Color(102, 102, 102));
PanContenu.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));
PanContenu.setLayout(new java.awt.BorderLayout());
PanEntete.setBackground(new java.awt.Color(0, 0, 0));
PanEntete.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));
PanEntete.setForeground(new java.awt.Color(255, 153, 0));
jLabel1.setFont(new java.awt.Font("Perpetua", 3, 24));
jLabel1.setForeground(new java.awt.Color(255, 153, 0));
jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jLabel1.setText("REGISTRES D'ACTES DE NAISSANCE A CHARGER");
javax.swing.GroupLayout PanEnteteLayout = new javax.swing.GroupLayout(PanEntete);
PanEntete.setLayout(PanEnteteLayout);
PanEnteteLayout.setHorizontalGroup(
PanEnteteLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel1, javax.swing.GroupLayout.DEFAULT_SIZE, 737, Short.MAX_VALUE)
);
PanEnteteLayout.setVerticalGroup(
PanEnteteLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel1, javax.swing.GroupLayout.DEFAULT_SIZE, 39, Short.MAX_VALUE)
);
PanContenu.add(PanEntete, java.awt.BorderLayout.NORTH);
PanCentral.setLayout(new java.awt.BorderLayout());
PanRegistreTotal.setBackground(new java.awt.Color(102, 102, 102));
PanRegistreTotal.setBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED), "Tous Les Registres", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Perpetua", 3, 18), new java.awt.Color(0, 0, 204))); // NOI18N
jLabel2.setFont(new java.awt.Font("Perpetua", 3, 18));
jLabel2.setForeground(new java.awt.Color(0, 204, 0));
jLabel2.setText("Nombre De Registres :");
TxtNbRegistreDispo.setBackground(new java.awt.Color(255, 153, 153));
TxtNbRegistreDispo.setFont(new java.awt.Font("Perpetua", 3, 18));
TxtNbRegistreDispo.setForeground(new java.awt.Color(255, 153, 0));
TxtNbRegistreDispo.setHorizontalAlignment(javax.swing.JTextField.CENTER);
TxtNbRegistreDispo.setBorder(null);
TxtNbRegistreDispo.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
TxtNbRegistreDispoActionPerformed(evt);
}
});
String[] tableColumnsName = {"Liste des registres disponibles"};
aModel = new DefaultTableModel()
{
public boolean isCellEditable(int row, int col)
{
return false;
}
};
txtJtableRegDispo.getSelectionModel().addListSelectionListener(new RowListener());
aModel.setColumnIdentifiers(tableColumnsName);
txtJtableRegDispo.setModel(aModel);
txtJtableRegDispo.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
txtJtableRegDispoMouseClicked(evt);
}
});
txtJtableRegDispo.addInputMethodListener(new java.awt.event.InputMethodListener() {
public void inputMethodTextChanged(java.awt.event.InputMethodEvent evt) {
}
public void caretPositionChanged(java.awt.event.InputMethodEvent evt) {
txtJtableRegDispoCaretPositionChanged(evt);
}
});
jScrollPane1.setViewportView(txtJtableRegDispo);
javax.swing.GroupLayout PanRegistreTotalLayout = new javax.swing.GroupLayout(PanRegistreTotal);
PanRegistreTotal.setLayout(PanRegistreTotalLayout);
PanRegistreTotalLayout.setHorizontalGroup(
PanRegistreTotalLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, PanRegistreTotalLayout.createSequentialGroup()
.addComponent(jLabel2)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(TxtNbRegistreDispo, javax.swing.GroupLayout.DEFAULT_SIZE, 145, Short.MAX_VALUE))
.addComponent(jScrollPane1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 306, Short.MAX_VALUE)
);
PanRegistreTotalLayout.setVerticalGroup(
PanRegistreTotalLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, PanRegistreTotalLayout.createSequentialGroup()
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 109, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 30, Short.MAX_VALUE)
.addGroup(PanRegistreTotalLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel2)
.addComponent(TxtNbRegistreDispo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
);
PanCentral.add(PanRegistreTotal, java.awt.BorderLayout.WEST);
PanCmd.setBackground(new java.awt.Color(102, 102, 102));
PanCmd.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));
CmdAjouter.setFont(new java.awt.Font("Perpetua", 3, 18)); // NOI18N
CmdAjouter.setText(" Ajouter ");
CmdAjouter.setBorder(new javax.swing.border.SoftBevelBorder(javax.swing.border.BevelBorder.RAISED));
CmdAjouter.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
CmdAjouterActionPerformed(evt);
}
});
CmdRetirer.setFont(new java.awt.Font("Perpetua", 3, 18));
CmdRetirer.setText(" Retirer ");
CmdRetirer.setBorder(new javax.swing.border.SoftBevelBorder(javax.swing.border.BevelBorder.RAISED));
CmdRetirer.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
CmdRetirerActionPerformed(evt);
}
});
CmdQuitter.setFont(new java.awt.Font("Perpetua", 3, 18));
CmdQuitter.setText(" Quitter ");
CmdQuitter.setBorder(new javax.swing.border.SoftBevelBorder(javax.swing.border.BevelBorder.RAISED));
CmdQuitter.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
CmdQuitterActionPerformed(evt);
}
});
javax.swing.GroupLayout PanCmdLayout = new javax.swing.GroupLayout(PanCmd);
PanCmd.setLayout(PanCmdLayout);
PanCmdLayout.setHorizontalGroup(
PanCmdLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(CmdAjouter, javax.swing.GroupLayout.DEFAULT_SIZE, 97, Short.MAX_VALUE)
.addComponent(CmdRetirer, javax.swing.GroupLayout.DEFAULT_SIZE, 97, Short.MAX_VALUE)
.addComponent(CmdQuitter, javax.swing.GroupLayout.DEFAULT_SIZE, 97, Short.MAX_VALUE)
);
PanCmdLayout.setVerticalGroup(
PanCmdLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(PanCmdLayout.createSequentialGroup()
.addContainerGap()
.addComponent(CmdAjouter)
.addGap(18, 18, 18)
.addComponent(CmdRetirer)
.addGap(43, 43, 43)
.addComponent(CmdQuitter)
.addContainerGap(32, Short.MAX_VALUE))
);
PanCentral.add(PanCmd, java.awt.BorderLayout.CENTER);
PanRegistreSelectionne.setBackground(new java.awt.Color(102, 102, 102));
PanRegistreSelectionne.setBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED), "Registres Sélectionnés", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Perpetua", 3, 18), new java.awt.Color(0, 0, 204))); // NOI18N
jLabel3.setFont(new java.awt.Font("Perpetua", 3, 18));
jLabel3.setForeground(new java.awt.Color(255, 0, 0));
jLabel3.setText("Nombres De registres :");
jTextField2.setBackground(new java.awt.Color(0, 0, 0));
jTextField2.setFont(new java.awt.Font("Perpetua", 3, 18));
jTextField2.setForeground(new java.awt.Color(255, 102, 0));
jTextField2.setHorizontalAlignment(javax.swing.JTextField.CENTER);
jTextField2.setBorder(null);
String[] tableColumnsName1 = {"Liste des registres àcharger"};
bModel = new DefaultTableModel()
{
public boolean isCellEditable(int row, int col)
{
return false;
}
};
txtJtableRegCharger.getSelectionModel().addListSelectionListener(new RowListener1());
bModel.setColumnIdentifiers(tableColumnsName1);
txtJtableRegCharger.setModel(bModel);
txtJtableRegCharger.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
txtJtableRegChargerMouseClicked(evt);
}
});
txtJtableRegCharger.addInputMethodListener(new java.awt.event.InputMethodListener() {
public void inputMethodTextChanged(java.awt.event.InputMethodEvent evt) {
}
public void caretPositionChanged(java.awt.event.InputMethodEvent evt) {
txtJtableRegChargerCaretPositionChanged(evt);
}
});
jScrollPane2.setViewportView(txtJtableRegCharger);
javax.swing.GroupLayout PanRegistreSelectionneLayout = new javax.swing.GroupLayout(PanRegistreSelectionne);
PanRegistreSelectionne.setLayout(PanRegistreSelectionneLayout);
PanRegistreSelectionneLayout.setHorizontalGroup(
PanRegistreSelectionneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 310, Short.MAX_VALUE)
.addGroup(PanRegistreSelectionneLayout.createSequentialGroup()
.addComponent(jLabel3)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jTextField2, javax.swing.GroupLayout.DEFAULT_SIZE, 147, Short.MAX_VALUE))
);
PanRegistreSelectionneLayout.setVerticalGroup(
PanRegistreSelectionneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(PanRegistreSelectionneLayout.createSequentialGroup()
.addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 112, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 27, Short.MAX_VALUE)
.addGroup(PanRegistreSelectionneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel3)
.addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
);
PanCentral.add(PanRegistreSelectionne, java.awt.BorderLayout.EAST);
PanContenu.add(PanCentral, java.awt.BorderLayout.CENTER);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(PanContenu, javax.swing.GroupLayout.DEFAULT_SIZE, 745, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(PanContenu, javax.swing.GroupLayout.PREFERRED_SIZE, 236, javax.swing.GroupLayout.PREFERRED_SIZE)
);
pack();
}// </editor-fold>
private void CmdRetirerActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
int a=txtJtableRegCharger.getSelectedRow();
int[] selection = txtJtableRegCharger.getSelectedRows();
for(int i = selection.length - 1; i >= 0; i--){
bModel.removeRow(selection[i]);
}
}
private void CmdQuitterActionPerformed(java.awt.event.ActionEvent evt) {
final int[] rep = new int[1];
rep[0] = JOptionPane.showConfirmDialog(null, "Voulez-vous vraiment quitter cette fenêtre?", "Quitter", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
if (rep[0] == JOptionPane.YES_OPTION) //System.exit(6);
{
this.setVisible(false);
}
}
private void txtJtableRegDispoMouseClicked(java.awt.event.MouseEvent evt) {
}
private void CmdAjouterActionPerformed(java.awt.event.ActionEvent evt) {
int i=txtJtableRegDispo.getSelectedRow();
int c;
Object [] valeur = {txtJtableRegDispo.getValueAt(i, 0)};
txtJtableRegDispo.clearSelection();
bModel.addRow(valeur);
}
private void txtJtableRegChargerMouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
}
private void txtJtableRegChargerCaretPositionChanged(java.awt.event.InputMethodEvent evt) {
// TODO add your handling code here:
}
private void TxtNbRegistreDispoActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
String valNbRegDipo= Integer.toString( txtJtableRegDispo.getRowCount());
TxtNbRegistreDispo.setText(Integer.toString( txtJtableRegDispo.getRowCount()));
for(int p=0;p<txtJtableRegDispo.getRowCount();p++){
if(p==txtJtableRegDispo.getSelectedRow())
System.out.println(valNbRegDipo);
}
}
private void txtJtableRegDispoCaretPositionChanged(java.awt.event.InputMethodEvent evt) {
// TODO add your handling code here:
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new FormChoixRegistre1().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton CmdAjouter;
private javax.swing.JButton CmdQuitter;
private javax.swing.JButton CmdRetirer;
private javax.swing.JPanel PanCentral;
private javax.swing.JPanel PanCmd;
private javax.swing.JPanel PanContenu;
private javax.swing.JPanel PanEntete;
private javax.swing.JPanel PanRegistreSelectionne;
private javax.swing.JPanel PanRegistreTotal;
private javax.swing.JTextField TxtNbRegistreDispo;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JScrollPane jScrollPane2;
private javax.swing.JTextField jTextField2;
private javax.swing.JTable txtJtableRegCharger;
private ArrayList listeDesRegCharger;
private javax.swing.JTable txtJtableRegDispo;
private DefaultTableModel aModel,bModel;
// End of variables declaration
private class RowListener implements ListSelectionListener {
@Override
public void valueChanged(ListSelectionEvent event) {
// if (!"Enregistrer le registre".equals(CmdNouveauRegistre.getText().trim())) {
for (int i = 0; i < txtJtableRegDispo.getRowCount(); i++) {
if (txtJtableRegDispo.getSelectedRow() == i) {
CmdAjouter.setEnabled(true);
CmdRetirer.setEnabled(false);
txtJtableRegCharger.clearSelection();
}
}
}
}
private class RowListener1 implements ListSelectionListener {
@Override
public void valueChanged(ListSelectionEvent event) {
for (int k = 0; k < txtJtableRegCharger.getRowCount(); k++) {
if (txtJtableRegCharger.getSelectedRow() == k) {
CmdAjouter.setEnabled(false);
CmdRetirer.setEnabled(true);
txtJtableRegDispo.clearSelection();
}
}
}
}
public Object getValeur() {
Object val = "";
for (int i = 0; i < txtJtableRegDispo.getRowCount(); i++) {
if (txtJtableRegDispo.getSelectedRow() == i) {
val = txtJtableRegDispo.getModel().getValueAt(i, 0);
}
}
return val;
}
public int getRowCount() {
return this.txtJtableRegCharger.getModel().getRowCount();
}
}