[Java] Switchen van layout

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Waster
  • Registratie: September 2006
  • Laatst online: 14-04 17:49
Ik ben een programma aan het maken in java. De data is een dictionary van engelse woorden en de uitspraak ervan. De bedoeling is dat je beide kant op kan zoeken en dat de resultaten worden weergegeven in een JTable. De basis layout en functionaliteit doet het prima. Maar ik wil een andere layout als ik de andere richting op wil zoeken. Ik gebruik twee grouplayouts (laten we ze layout1 en layout2 noemen) om alles mooi te ordenen. En de eerste layout wordt geladen bij het opstarten. En ik wil naar de andere kunnen switchen. Ik dacht ik doe gewoon setLayout(layout2), maar dat werkt niet. Ik heb het ook geprobeerd met panels te doen. En dan de panel aan mijn frame toevoegen. Maar dan compileert hij niet eens en zeurt hij dat ik die grouplayout maar één keer kan gebruiken, terwijl ik de andere layout niet eens ergens in mijn programma heb gebruikt. Dus ik heb wat hulp nodig hoe ik moet switchen tussen deze twee layouts.

Acties:
  • 0 Henk 'm!

Verwijderd

Misschien kan je iets duidelijk zijn :P Ik snap de vraag niet helemaal

Acties:
  • 0 Henk 'm!

  • Mavamaarten
  • Registratie: September 2009
  • Laatst online: 15:25

Mavamaarten

Omdat het kan!

Hij vraagt zich af hoe er tussen 2 layouts kan worden geswitcht tijdens runtime.

Android developer & dürüm-liefhebber


Acties:
  • 0 Henk 'm!

  • HMS
  • Registratie: Januari 2004
  • Laatst online: 21-08 23:06

HMS

layout setten, hele panel invalidaten en laten repainten werkt niet?

Weet wel dat het altijd een hel was in Java om dit soort shit te doen.

Acties:
  • 0 Henk 'm!

  • Remus
  • Registratie: Juli 2000
  • Laatst online: 15-08-2021
Ik heb niet echt vaak GUIs gemaakt met Java, maar volgens mij moet je twee verschillende panels opbouwen die hetzelfde achterliggende model gebruiken. De layout en interface elementen zijn - als ik mij goed herinner - aan elkaar gekoppeld en je kan dus niet twee verschillende layouts toepassen op dezelfde interface elementen.

Dus: één model, twee verschillende interfaces en switchen indien nodig. En anders moet je je probleem toch echt beter beschrijven en uitleggen (dus eerst de onderliggende requirements, dan pas wat je geprobeerd hebt en wat er mis gaat)

Acties:
  • 0 Henk 'm!

  • ReenL
  • Registratie: Augustus 2010
  • Laatst online: 14-09-2022
Ik zou alles in een JPanel stoppen, de JPanel de layout geven. Wanneer je de switch maakt maak je een nieuwe JPanel aan, en daar voeg je dan alle elementen en de nieuwe layout opnieuw aan toe. Dan remove je de oude jpanel en add je de nieuwe.

Tijdens het "add"-en van JComponents kun je layout opties meegeven, mogelijk zijn die opties niet compatable met je nieuwe layout. Wat ook kan is dat de Layout zichzelf bind aan de JComponent waar je hem aan toegevoegd hebt. De oude layout ziet dat hij niet meer de baas is over het JComponent en gaat klagen.
Pagina: 1