J'ai une fonction createUI() qui charge JPanel en NORD, SUD, EST. Chaque composant est affiché à l'emplacement correct, mais tous les composants sont en JPanel de taille fixe. Je voudrais savoir s'il est possible que le JPanel remplisse complètement la région BorderLayout.Java Swing: positionnement relatif et redimensionnement automatique?
Par exemple, createDataView() est un Jpanel simple avec des tables. Je voudrais l'étendre horizontalement, et avoir une hauteur fixe.
private JPanel createDataView(){
JPanel panel = new JPanel();
String data[][] = {{"001","vinod","Bihar","India","Biology","65","First"},
{"002","Raju","ABC","Kanada","Geography","58","second"},
{"003","Aman","Delhi","India","computer","98","Dictontion"},
{"004","Ranjan","Bangloor","India","chemestry","90","Dictontion"},
{"004","Ranjan","Bangloor","India","chemestry","90","Dictontion"}};
String col[] = {"Roll","Name","State","country","Math","Marks","Grade"};
JTable table = new JTable(data,col);
table.setPreferredScrollableViewportSize(new Dimension(900,100));
JTableHeader header = table.getTableHeader();
header.setBackground(Color.yellow);
JScrollPane pane = new JScrollPane(table);
table.setAutoResizeMode(JTable.WIDTH);
table.doLayout();
panel.add(pane);
return panel;
}
Maintenant, je compte sur le réglage manuel de la cote. Cependant, je voudrais un moyen d'obtenir la largeur de la fenêtre actuelle, et le définir comme ci-dessous.
table.setPreferredScrollableViewportSize(new Dimension(900,100));
Vous avez deux choses bourrées dans la "cellule" SUD ... comment sont censées se regarder les unes par rapport aux autres? –
a ajouté plus de détails ... – KJW