Toon posts:

[JAVA] LayoutManager probleem

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik zit momenteel met 2 probleempjes:

1. Ik heb een BorderLayout aangemaakt met een JPasswordField in CENTER. Het probleem is alleen dat ie deze over heel CENTER uitrekt, waardoor ik een supergroot Passwordveld krijg. Wat ik wil is hem gewoon de standaardgrootte geven.

2. Is het mogelijk om meerdere elementen, bijvoorbeeld een JLabel en PasswordField beide in BorderLayout.CENTER te krijgen of kan dit alleen door nog een Layout in CENTER aan te maken?

Kan iemand me met deze probleempjes helpen?

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Kijk eens wat een JPanel doet :P

Verwijderd

Ja, dat is mogelijk,
nadat ik mezelf ook wat in Java heb verdiept, kan ik daaral antwoord op geven.
code:
1
2
3
4
5
6
7
JLabel lPw = new JLabel ("Wachtwoord :");
JPasswordField  ePw = new JPasswordField ("",20);
Panel pCenter = new Panel();
pCenter.add (lPw);
pCenter.add (ePW);

this.add(pCenter,"Center");

Je kunt de lay-out(type) van het panel ook nog anders instellen als je wilt.

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Op woensdag 05 juni 2002 21:27 schreef bojo het volgende:
code:
1
2
3
4
5
6
7
JLabel lPw = new JLabel ("Wachtwoord :");
JPasswordField  ePw = new JPasswordField ("",20);
Panel pCenter = new Panel();
pCenter.add (lPw);
pCenter.add (ePW);

this.add(pCenter,"Center");
Je wilt geen AWT en Swing door elkaar gaan gebruiken! Bespaar je de moeite en neem JPanel

Verwijderd

Topicstarter
Op woensdag 05 juni 2002 21:29 schreef Glimi het volgende:

[..]

Je wilt geen AWT en Swing door elkaar gaan gebruiken! Bespaar je de moeite en neem JPanel
Ah bedankt, dat lost probleem 2 op :)
Enig idee hoe ik probleem 1 oplos? Iki zoek naar iets zoals in HTML waarbij ik bij 'td' width en heights kan opgeven. Iets zoiets hier ook mogelijk?

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Op woensdag 05 juni 2002 21:38 schreef Linh81 het volgende:

[..]

Ah bedankt, dat lost probleem 2 op :)
Enig idee hoe ik probleem 1 oplos? Iki zoek naar iets zoals in HTML waarbij ik bij 'td' width en heights kan opgeven. Iets zoiets hier ook mogelijk?
Hup! Op naar de API om iets op te zoeken over minimum, maximum en prefferedSize :)

Verwijderd

Topicstarter
Op woensdag 05 juni 2002 21:45 schreef Glimi het volgende:

[..]

Hup! Op naar de API om iets op te zoeken over minimum, maximum en prefferedSize :)
Hmm kom er niet helemaal uit, kan je geen klein voorbeeldje geven?

Verwijderd

Nou ik kreeg net ook de opmerking dat ik maar moest gaan zoeken.
Dat moet jij ook maar doen,
maar toevallig heb ik de url nog
http://java.sun.com/docs/books/tutorial/uiswing/TOC.html

en dan het stukje met
Laying Out Components Within a Container

Verwijderd

Topicstarter
Op woensdag 05 juni 2002 21:45 schreef Glimi het volgende:

[..]

Hup! Op naar de API om iets op te zoeken over minimum, maximum en prefferedSize :)
Ik heb setPreferredSize, setMinimumSize en setMaximumSize gebruikt, maar hij past de JPasswordField niet aan :?
Hij blijft de hele BorderLayout.CENTER vullen

  • nxt
  • Registratie: November 2001
  • Laatst online: 26-08 13:51

nxt

dat komt omdat de borderlayout dat doet
voor setPreferredSize zul je bijv. een flowlayout moeten gebruiken.

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Op woensdag 05 juni 2002 22:54 schreef Linh81 het volgende:
Ik heb setPreferredSize, setMinimumSize en setMaximumSize gebruikt, maar hij past de JPasswordField niet aan :?
Hij blijft de hele BorderLayout.CENTER vullen
Uhm heb je nou dat JPanel gebruikt om de componenten in te zetten en deze gebruikt om op BorderLayout.CENTER te zetten?
Daar ging ik in ieder geval van uit.

De default Layout van een JPanel is een flowlayout, dan moet het helemaal goed gaan komen

Verwijderd

Topicstarter
Op woensdag 05 juni 2002 23:08 schreef nxt het volgende:
dat komt omdat de borderlayout dat doet
voor setPreferredSize zul je bijv. een flowlayout moeten gebruiken.
Kijk dit antwoord zocht ik :)
Bedankt ik kan weer aan de slag >:)

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Op woensdag 05 juni 2002 23:28 schreef Linh81 het volgende:

[..]

Kijk dit antwoord zocht ik :)
Bedankt ik kan weer aan de slag >:)
Post eens wat code, want het wordt me juist steeds vager wat je nou wilt :) Maar misschien ben ik ook wel een beetje toe aan :Z

Verwijderd

Topicstarter
Op woensdag 05 juni 2002 23:33 schreef Glimi het volgende:

[..]

Post eens wat code, want het wordt me juist steeds vager wat je nou wilt :) Maar misschien ben ik ook wel een beetje toe aan :Z
Ik gebruik dus voor het geheel een Borderlayout. In CENTER gebruikte ik een GridLayout, met een JPasswordField in 1 van de grids. Deze paste ie automatisch aan de hele grid aan, waardoor ie dus erg groot werd. Door deze GridLayout te veranderen in een FlowLayout was dit probleem opgelost.

Erg simpel dus, maar moest er maar ff opkomen :P

Verwijderd

Je kunt preferedSize size gebruiken of subpanels met een GridLayout
Pagina: 1