Toon posts:

[java]Layout problemen

Pagina: 1
Acties:

Verwijderd

Topicstarter
Als ik in java een panel volteken (welke layoutmanager maakt niet uit), dan valt de laatste invoeging buiten de boot.
Ik kan dit wel oplossen door een extra component in te voegen en die invisible te maken of geen letters te geven bij een label, maar er moet een betere manier zijn om dit op te lossen. Hoe?

ik gebruik AWT componenten (en daar wil ik geen discussie over).

edit: dr is toch wel iemand wakker om 10 over 6 :?

[ Voor 18% gewijzigd door Verwijderd op 05-12-2002 06:13 ]


  • Reefer
  • Registratie: Mei 2000
  • Laatst online: 21-02-2025

Reefer

madness

probeer dan eens duidelijk te formuleren en / of een screenshot want hier kan ik niks mee..

A Breakbeat A Day Keeps Religion Away.


Verwijderd

Topicstarter
Het komt erop neer dat wanneer je in awt meerdere componenten op bijvoorbeeld een frame zet, het laatste component op een vreemde plaats terechtkomt of het hele scherm vult.

Als je een extra component aanmaakt en deze onzichtbaar maakt, setVisible(false), staat het er allemaal wel goed. Dit moet anders kunnen.

  • bazzs2001
  • Registratie: April 2002
  • Laatst online: 13-06 11:18

bazzs2001

je moet knagen wat lekker is

hmm vaag probleem,

doe je nog iets na de laatste invoeging?

kan je anders misschien even een (klein) stukje code posten?

groeten


Verwijderd

Topicstarter
groot stuk code gestript, maar het moet zo wel duidelijk zijn. Als vaagDing niet wordt gebruikt, is de layout niet goed.
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
        //init canvas en controls
        layout = new BorderLayout();
        Controls = new Panel(layout);
        VaagDing = new Label("VaagDing");
        //locate frame
        setSize(500,500);
        setBackground(new Color(0x00, 0x88, 0xBB));
         setLocation(((screenwidth-500)/2), ((screenheight-500)/2));
        //locate components
        Controls.setBounds(0,400,500,100);
        VaagDing.setBounds(1,1,1,1);
        add(Controls);
        Controls.add(VaagDing);
        Controls.setVisible(true);
        VaagDing.setVisible(false); //VaagDing om de layout goed te krijgen
        //plak actionlisteners aan de knoppen
        //add mouse&mouseMotionListeners

  • NDF82
  • Registratie: Januari 2002
  • Laatst online: 26-08 21:49

NDF82

Doomed Space Marine

doe is ipv vaagDing pack();

Pentium 233MHz MMX + Diamond Monster 3D 3DFX Voodoo II


  • bazzs2001
  • Registratie: April 2002
  • Laatst online: 13-06 11:18

bazzs2001

je moet knagen wat lekker is

edit: stond onzin

.setBounds werkt alleen als layout null is.

als je iets wilt toevoegen aan het panel moet je dat als volgt doen

code:
1
    control.add(vaagDing,BorderLayout.CENTRE);

[ Voor 82% gewijzigd door bazzs2001 op 10-12-2002 10:15 ]

groeten


  • NDF82
  • Registratie: Januari 2002
  • Laatst online: 26-08 21:49

NDF82

Doomed Space Marine

Zijn probleem is volgens mij dat z'n Layout niet ge-update wordt na toevoeging van het laatste component. Als hij dan Controls.pack(); aanroept wordt z'n layout ge-update.

Pentium 233MHz MMX + Diamond Monster 3D 3DFX Voodoo II


  • bazzs2001
  • Registratie: April 2002
  • Laatst online: 13-06 11:18

bazzs2001

je moet knagen wat lekker is

NDF82 schreef op 10 december 2002 @ 12:37:
Zijn probleem is volgens mij dat z'n Layout niet ge-update wordt na toevoeging van het laatste component. Als hij dan Controls.pack(); aanroept wordt z'n layout ge-update.
Controls (zou trouwens controls moeten zijn, variabelen beginnen toch met kleine letter) heeft geen methode pack() die zit in Window en niet in Panel of een super klasse daarvan.

gewoon pack() zou misschien wel moeten werken.

groeten


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Pagina: 1