Start med at tilføje knapperne til deres egen beholder, på denne måde kan du styre layoutet af knapperne separat fra resten af brugergrænsefladen
JPanel panelFullOfButtons =new JPanel(); prøv { for (int i =0; i
Tilføj derefter "hoved"-panelet til NORTH
placering af rammen og "knapper"-panelet til CENTER
frame.add(panel, BorderLayout.NORTH); frame.add(ny JScrollPane(panelFuldOfButtons), BorderLayout.CENTER);
Husk, i dette tilfælde ville jeg være meget fristet til at bruge noget som en JList
i stedet. Se Sådan bruges lister
for flere detaljer
// Problem #1...JScrollPane panel =new JScrollPane();pane.add(buttonPanel);//...// Problem #2...panel.add(pane);frame .add(panel);
Disse konkurrerer med hinanden, flytter indholdet rundt og overlapper med eksisterende indhold...
public AdminClass() { panel.setLayout(new GridLayout(3, 1)); panel.add(new JLabel("Velkommen til Admin Panel")); btnNewButton.addActionListener(this); panel.add(btnNewButton); panel.add(nyt JLabel("Eksisterende projekter")); List projectNameList =new ArrayList(); for (int indeks =0; indeks <1000; indeks++) { projectNameList.add("Projekt " + indeks); } projektnavne =projektnavnListe.toArray(ny streng[0]); // Tilføjelse af knapper til projektknapperne =new JButton[projectNameList.size()]; prøv { for (int i =0; i
I dette tilfælde foretrækker jeg at bruge enten en JList
for at vise projekterne eller en WrapLayout
til at lægge knapperne ud