06. december 2004 - 12:11
Der er
8 kommentarer og 1 løsning
GridBagLayout - Kan ikke få det vist
Jeg har problemer med at få tilføjet et GridBagLayout til et JPanel og vist det på skærmen, min klasse nedarver fra JPanel. Min kode ser sådan ud: JPanel left, right, leftUp, leftDown; GridBagLayout leftUpLayout; GridBagConstraints leftUpLayoutContraints; public Constructor(){ this.setLayout(new GridLayout(1,2)); left = new JPanel(new GridLayout(2,1)); leftDown = new JPanel(); leftUp = new JPanel(leftUpLayout); left.add(leftUp); left.add(leftDown); leftUpLayout = new GridBagLayout(); leftUpLayoutContraints = new GridBagConstraints(); // Add Terminal TextField leftUpLayoutContraints.gridx = 0; leftUpLayoutContraints.gridy = 0; leftUpLayoutContraints.gridwidth = 3; leftUpLayoutContraints.gridheight = 1; leftUpLayoutContraints.fill = GridBagConstraints.HORIZONTAL; JTextField terminals = new JTextField("Terminals Found"); leftUpLayout.setConstraints(terminals, leftUpLayoutContraints); leftUp.add(terminals); right = new JPanel(); this.add(left); this.add(right); }
Annonceindlæg fra Infor
06. december 2004 - 12:14
#1
får du nogle fejl ?
06. december 2004 - 12:16
#2
prøv med denne linie: leftUpLayout.setLayout(new GridBagLayout()); istædet for: leftUpLayout = new GridBagLayout();
06. december 2004 - 12:50
#3
>> mhj28 Hvorfor vil du ha', at han skal tilføje et Layout til et andet Layout?
06. december 2004 - 12:52
#4
Prøv at bytte om på følgende: leftUp = new JPanel(leftUpLayout); left.add(leftUp); left.add(leftDown); leftUpLayout = new GridBagLayout(); Så det bliver til: leftUpLayout = new GridBagLayout(); leftUp = new JPanel(leftUpLayout); left.add(leftUp); left.add(leftDown); I det første er lefUpLayout jo null.
06. december 2004 - 13:03
#5
ups ja jeg har vist sovet lidt da jeg skrev det... jeg trode at det var et JPanel sorry!
06. december 2004 - 13:11
#6
Super, det var vist det! Det er første gang jeg bruger GridBagLayout. Nu har jeg bare det problem at mit tekstfelt varierer i størrelse efter hvor meget tekst der er i det. Er der nogen måde at ordne dette på? Jeg giver naturligvis point til mikkelbm hvis du smider et svar....
06. december 2004 - 13:15
#7
Hvad hvis du sætter en bestemt størrelse på det: tekstfelt.setPreferredSize (new Dimension(150, 150)); og måske også: tekstfelt.setMaximumSize (new Dimension(150, 150));
06. december 2004 - 13:16
#8
Eller måske bedre: Smide det ind i en scrollpane: JScrollPane pane = new JScrollPane (terminal); pane.setPreferredSize (new Dimension(150, 150)); Og så ikke: leftUpLayout.setConstraints(terminals, leftUpLayoutContraints); Men: leftUpLayout.setConstraints(pane, leftUpLayoutContraints); Håber det hjalp!?
06. december 2004 - 13:17
#9
Og selvfølgelig også: leftUp.add(terminals); til leftUp.add(pane);
Kurser inden for grundlæggende programmering