L'ajout d'un Composite à JScrollPane

J'ai une interface graphique qui a un Panneau qui contient une séquence d'étiquettes et objets textfield et utilise un ressort de mise en page(c'est le mainPanel) et un autre Panneau qui contient simplement un bouton(buttonPanel). Je suis en train de faire mon mainPanel d'avoir une barre de défilement verticale ainsi. Je tiens à mettre en oeuvre mon interface graphique telle que l'intérieur de la JFrame j'ai 2 panneaux. Le mainPanel apparaît sur la partie supérieure du châssis et de la buttonPanel apparaît au-dessous de la mainPanel.

Mon problème est que je ne suis pas en mesure de faire les Panneaux apparaissent tels que le buttonPanel est en dessous de la mainPanel et je suis également pas sûr de savoir comment ajouter une barre de défilement à la mainPanel. Toute aide serait appréciée.

EDIT : j'ai pu résoudre mon problème concernant le JPanels, maintenant mon seul problème est que je ne peux pas obtenir mon mainPanel pour les faire défiler. J'ai ajouté ma plus récente de code ci-dessous :

Voici le code que j'ai pour l'instant:

public static void main(String args[]) {
JFrame frame = new JFrame("SpringLayout");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JScrollPane scroll = new JScrollPane();
Container contentPane = frame.getContentPane();
JButton next = new JButton("Next");
JPanel buttonPanel = new JPanel();
buttonPanel.add(next);
SpringLayout layout = new SpringLayout();
JPanel mainPanel = new JPanel();
mainPanel.setLayout(layout);
contentPane.setLayout(new BorderLayout());
int j = 25;
for(int i =0;i<150;i++){
JLabel label = new JLabel("Enter Name " + i );
JTextField text = new JTextField(15);
mainPanel.add(label);
mainPanel.add(text);
layout.putConstraint(SpringLayout.WEST, label, 10, SpringLayout.WEST,
contentPane);
layout.putConstraint(SpringLayout.NORTH, label, j, SpringLayout.NORTH,
contentPane);
layout.putConstraint(SpringLayout.NORTH, text, j, SpringLayout.NORTH,
contentPane);
layout.putConstraint(SpringLayout.WEST, text, 20, SpringLayout.EAST,
label);
j+=30;
}
//mainPanel.setSize(500,800);
scroll.setPreferredSize(new Dimension(500,500));
scroll.setViewportView(mainPanel);
contentPane.add(scroll);
contentPane.add(buttonPanel,BorderLayout.SOUTH);
//mainWindow.add(contentPane);
frame.setSize(500, 600);
frame.setVisible(true);
}
  • Je pense que la bonne question +1
InformationsquelleAutor AndroidDev93 | 2012-10-23