01. november 2002 - 16:52
Der er
10 kommentarer og 1 løsning
Panel ind i et andet panel!
Kan man sætte et panel(NullLayout) ind i et andet panel(borderLayout), uden at det skal sættes ind i CENTER?
Annonceindlæg tema
Forsvar & beredskab
Cybersikkerhed, realtidsdata og robuste it-systemer er blevet fundamentet for moderne forsvar.
01. november 2002 - 16:54
#1
Ja sagtens: panel.add(otherPanel,"North"); eller "South", "East", eller "West". Her er panel dit panel(NullLayout) og otherPanel panel(BorderLayout).
01. november 2002 - 16:59
#2
ja men problemet er så bare, at den ikke viser det panel jeg indsætter i f.eks NORTH. Den vil kun vise det, hvis det indsættes i CENTER
01. november 2002 - 17:08
#3
Er det noget der ryger i en JFrame? I så fald har du kaldt pack()?
01. november 2002 - 17:10
#4
Ja det skal bruges i en JFrame! Hvad mener du med Pack() ?
01. november 2002 - 17:12
#5
Du skal kalde pack() på din JFrame for at få komponenterne pakket med brug af de forskellige layouts.
01. november 2002 - 17:12
#6
JFrame f =...; ...//dine layouts f.pack(); f.show();
01. november 2002 - 17:13
#7
Kan du give et eksempel?
01. november 2002 - 17:13
#8
ok
01. november 2002 - 17:29
#9
Ehm - er det i driveren man skal indsætte pack() og show()?
01. november 2002 - 19:15
#10
public class MyFrame extends JFrame { public MyFrame(String title) { super(title); Container c = getContentPane(); JPanel panel = new JPanel(); panel.setLayout(new BorderLayout()); JPanel panel2 = new JPanel(); panel2.setLayout(new FlowLayout()); panel2.add(new JLabel("Label")); panel2.add(new JButton("Button")); panel.add(panel2,"North"); panel.add(new JButton("Another button"),"South"); c.add(panel); pack(); show(); } }
01. november 2002 - 19:18
#11
Prøv at tilføje en main metode: public static void main(String[] args){ JFrame f = new MyFrame("This is my frame"); } og kør programmet. Prøv dernæst at udkommentere pack() metoden og se hvorfor den altid skal inkluderes.
Kurser inden for grundlæggende programmering