salut tout le monde,

j'aime ajouter panel1 a un autre panel extends jframe mais le probleme lorsque j'ajoute panel1 a panel le panel s'affiche sans scrollpane avec un taille tres grand

code panel1:

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
 
 
 
 
public class FixedTable extends JPanel {
 
    public FixedTable() {
final Object rowData[][] = {
{"1", "one", "ichi", "un", "I", "\u4E00"},
{"2", "two", "ni", "deux", "II", "\u4E8C"},
{"3", "three", "san", "trois", "III", "\u4E09"},
{"4", "four", "shi", "quatre", "IV", "\u56DB"},
{"5", "five", "go", "cinq", "V", "\u4E94"},
{"6", "six", "roku", "treiza", "VI", "\u516D"},
{"7", "seven", "shichi", "sept", "VII", "\u4E03"},
{"8", "eight", "hachi", "huit", "VIII", "\u516B"},
{"9", "nine", "kyu", "neur", "IX", "\u4E5D"},
{"10", "ten", "ju", "dix", "X", "\u5341"}
};
final String columnNames[] =
{"#", "English", "Japanese", "French", "Roman", "Kanji"};
//debut de fixed
final TableModel fixedColumnModel = new AbstractTableModel() {
public int getColumnCount() {
return 1;
}
public String getColumnName(int column) {
return columnNames[column];
}
public int getRowCount() {
return rowData.length;
}
public Object getValueAt(int row, int column) {
return rowData[row][column];
}
};
//fin fixed
final TableModel mainModel = new AbstractTableModel() {
public int getColumnCount() {
return columnNames.length-1;
}
public String getColumnName(int column) {
return columnNames[column+1];
}
 
public int getRowCount() {
return rowData.length;
}
public Object getValueAt(int row, int column) {
return rowData[row][column+1];
}
};
 
JTable fixedTable = new JTable(fixedColumnModel);
fixedTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
JTable mainTable = new JTable(mainModel);
mainTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
ListSelectionModel model = fixedTable.getSelectionModel();
mainTable.setSelectionModel(model);
JScrollPane scrollPane = new JScrollPane(mainTable);
Dimension fixedSize = fixedTable.getPreferredSize();
JViewport viewport = new JViewport();
viewport.setView(fixedTable);
viewport.setPreferredSize(fixedSize);
viewport.setMaximumSize(fixedSize);
scrollPane.setCorner(JScrollPane.UPPER_LEFT_CORNER,
fixedTable.getTableHeader());
scrollPane.setRowHeaderView(viewport);
this.add(scrollPane, BorderLayout.CENTER);
}
 
}
Frame:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 panel.setLayout(null);
 
        panel.setLayout(new GridBagLayout());
        FixedTable panel1= new FixedTable();
         panel.setPreferredSize(new Dimension(100,100));
         panel.add(panel1);
		 frame.add(panel);
Merci d'avance