Bonjour,

J'ai crée un applet dans lequel on doit pouvoir visualiser (dans une Jtable) une liste des membres avec la possibilité d'ajouter un nouveau membre(JButton).
J'ai crée un JPanel dans lequel se trouve la JTable et le JButton.
Mon problème est qu'en rajoutant la table et le bouton au panneau(JPanel) je n'ai qu'une barre de défilement horizontale(dont en fait j'ai pas besoin puisque je peux dimensionner mon applet) mais je n'ai pas de barre de défilement verticale.
Voici mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
 
package btm;
 
import javax.swing.JApplet;
import javax.swing.JButton;
import javax.swing.JPanel;
import javax.swing.JTable;
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.util.Vector;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.table.*;
import btm.Membre;
 
 
public class AfficheMembres extends JApplet implements TableModelListener {
 
	private static final long serialVersionUID = 1L;
 
	public class CenterTableCellRenderer extends DefaultTableCellRenderer {
 
		private static final long serialVersionUID = 1L;
 
		public CenterTableCellRenderer() {
	        setHorizontalAlignment(CENTER);
	        setVerticalAlignment(CENTER);      
		}
	}
 
 
	public AfficheMembres() {
        //super();
 
 
		JPanel panel = new JPanel();
		FlowLayout flowLayout = (FlowLayout) panel.getLayout();
		flowLayout.setAlignment(FlowLayout.RIGHT);
		getContentPane().add(panel, BorderLayout.CENTER);
 
		new TraitementXML();
        Object[][] donnees;
        Vector<Membre> membres = TraitementXML.listeMembres();       
 
        String[] entetes = {"N°", "Prénom", "Nom", "Tél", "e-mail","Actif"};
 
        donnees = new Object[membres.size()][entetes.length];
 
    	for(int i=0;i<membres.size();i++)
    	{
    		donnees[i][0] = i+1;
    		donnees[i][1] = membres.get(i).prenom;
    		donnees[i][2] = membres.get(i).nom;
    		donnees[i][3] = membres.get(i).tel;
    		donnees[i][4] = membres.get(i).mail;
    		donnees[i][5] = Boolean.valueOf(membres.get(i).actif).booleanValue();
    	} 
 
 
    	 DefaultTableModel tableModel = new DefaultTableModel(donnees, entetes);
    	 tableModel.addTableModelListener( this );
         JTable table = new JTable(tableModel) {
 
           private static final long serialVersionUID = 1L;
 
           @SuppressWarnings({ "unchecked", "rawtypes" })
           @Override
           public Class getColumnClass(int column) {
               switch (column) {
               	   case 0:
              	 	return Integer.class;
                   case 1:
                  	 return String.class;
                   case 2:
                     return String.class;
                   case 3:
                  	 return String.class;
                   case 4:
                  	 return String.class;
                   case 5:
                  	 return Boolean.class;     
               }
			 return null;
           }
         };
 
         table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
         TableColumn column = null;
         for (int i = 0; i < 6; i++) {
             column = table.getColumnModel().getColumn(i);
             switch (i) {
         	 case 0:
         		column.setPreferredWidth(20);
         		break;
         	 case 1:
         		column.setPreferredWidth(100);
         		break;
         	 case 2:
         		column.setPreferredWidth(120);
         		break;
         	 case 3:
         		column.setPreferredWidth(100);
         		break;
         	 case 4:
         		column.setPreferredWidth(150);
         		break;
         	 case 5:
         		column.setPreferredWidth(30);
         		break;
             }
         }
 
         table.getColumnModel().getColumn(0).setCellRenderer(new CenterTableCellRenderer());
         //JScrollPane scrollPane = new JScrollPane(table);
         //panel.add(scrollPane);
         panel.add(new JScrollPane(table));
         panel.add(new JButton("Nouveau"));
         //JButton btnNewButton = new JButton("New button");
 		 //panel.add(btnNewButton);
 
    }
 
	public void tableChanged(TableModelEvent e) 
    {
		@SuppressWarnings("unused")
		DefaultTableModel model = (DefaultTableModel)e.getSource();
		int changedRow = e.getFirstRow();		
		int changedCol = e.getColumn();	
		System.out.println("Col : " + changedCol + " Ligne " + changedRow);
    }
 
 
}
et ce que l'applet affiche :
Nom : Applet.jpg
Affichages : 473
Taille : 38,0 Ko