Je dois écrire une applet, dans le côté gauche je dois utiliser un panneau pour contenir une liste de véhicules qui peuvent être une liste de boutons, quel est le problème, le nombre de véhicules ne sont pas donnés! !! donc, je dois faire défiler le panneau lorsque le nombre de véhicules est trop,jscrollpane pour faire défiler un panneau
Je le fais pour JFrame, mais il ne fonctionne pas correctement avec le panneau, s'il vous plaît aidez-moi un exemple
le code i utilise au panneau de défilement est:
public class VehicleList extends JPanel {
private ArrayList<VehicleReport> vehicles;
private ArrayList<JButton> v_buttons = new ArrayList<JButton>();
public void showList(ArrayList<Vehicles> vehicles)
{
this.vehicles = vehicles;
//...
add(getScrollpane());
setSize(155,300);
}
public JScrollPane getScrollpane()
{
JPanel panel = new JPanel();
panel.setPreferredSize(new DimensionUIResource(150, 300));
GridBagLayout gridbag = new GridBagLayout();
GridBagConstraints constraint = new GridBagConstraints();
panel.setLayout(gridbag);
constraint.fill = GridBagConstraints.HORIZONTAL;
JLabel title = new JLabel("Vehiles list");
constraint.gridwidth = 2;
constraint.gridx = 0;
constraint.gridy = 0;
constraint.ipady = 230;
gridbag.setConstraints(title, constraint);
panel.add(title);
// end of set title
constraint.gridwidth = 1;
int i=1;
for(JButton jb : v_buttons)
{
constraint.gridx =0;
constraint.gridy = i;
gridbag.setConstraints(jb, constraint);
panel.add(jb);
JLabel vehicle_lable = new JLabel("car" + i);
constraint.gridx = 1;
constraint.gridy = i;
gridbag.setConstraints(vehicle_lable, constraint);
panel.add(vehicle_lable);
i++;
}
JScrollPane jsp = new JScrollPane(panel);
return jsp;
}
}
à jaframe ajouter après JScrollPane à Jframe je place cette
pack();
setSize (250, 250);
setLocation (100, 300);
et cela fonctionne clairement !!!!
pouvez-vous fournir le code que vous avez déjà? – akf
Salut, je le place maintenant, merci pour votre attention ... – sirvan