Archief - [PROG]Java Vraag i.v.m. meerdere JFrames

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

horse_99

Legacy Member
Hallo,

Ik ben hier wat aan het experimenteren in Java met meerdere JFrames. Wat ik wil bekomen is het volgende.

* Mijn programma begint met het belangrijkste JFrame (JFrameMain).
* Vanuit dit JFrame wil ik een andere JFrame openen (JFrameConfiguration).

Momenteel heb ik het zo opgelost:

Tool.JPG


JFrameMain.JPG


JFrameConfiguration.JPG


Zoals je ziet wordt in JFrameMain pas een JFrameConfiguration object aangemaakt vanaf het moment dat er op de knop wordt gedrukt.

Het resultaat:

Result.JPG


In de taakbalk lijkt het alsof er 2 Java Applications aan het draaien zijn :confused:, terwijl dit niet de bedoeling is en enkel "Tool" in de taakbalk moet staan. Ik wil dus zoals in Visual Basic een ander formulier openen vanuit het hoofdformulier. Bovendien sluit héél de applicatie af, wanneer ik op het kruisje klik van JFrameConfiguration, maar dit ligt aan deze regel (setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)) in JFrameConfiguration denk ik?

Alle hulp en raad is welkom, alvast bedankt.

Groeten, horse_99.

horse_99

Legacy Member
Een JInternalFrame werkt, zonder zichtbaar te zijn in de taakbalk, maar dit kan je dan weer niet uit het venster slepen.

Op een ander forum zei iemand mij dat er veel oplossingen zijn en dat de beste methode is om een JDialog te gebruiken. Ik zal eens proberen.

Edit
Moest iemand het zelfde probleem hebben: een JDialog is dus de beste oplossing, ik heb het daarnet getest en het werkte perfect. Ik heb nog aan iemand de vraag gesteld en antwoordde meteen JDialog. Om ervoor te zorgen dat enkel het JDialog actief is bij het openen, maak je het non modal met de methode setModal(false).

sarnath

Legacy Member
ik zou idd ook een dialog gebruiken dat is de beste manier en hierop kan je ook al je componenten kwijt.

bij .NET heb je zoiets als ownedform mss daar eens op zoeken, k zou niet direct kunnen zeggen of dit mogelijk is in swing.

T00mpje

Legacy Member
Linckxs zei:
bij .NET heb je zoiets als ownedform mss daar eens op zoeken, k zou niet direct kunnen zeggen of dit mogelijk is in swing.


Dat is in een modale JDialog ook het geval

Obliv`

Legacy Member
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE) sluit heel de app af
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE) sluit alleen dat venster af

horse_99

Legacy Member
Obliv` zei:
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE) sluit heel de app af
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE) sluit alleen dat venster af
Ik gebruik nu setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE) voor het "afsluiten" van een JDialog. Misschien is JFrame.DISPOSE_ON_CLOSE beter?

Obliv`

Legacy Member
Kzou het ook niet juist meer weten. Het is al erg lang geleden dat ik nog in java heb geprogrammeerd :).

DISPOSE sluit het frame af, en het frame wordt dus gereleased uit het geheugen.
HIDE verbergt het frame, maar het kan nog wel terug opgeroepen worden.

Dus als je het frame niet direct meer nodig hebt, is dispose beter denk ik :).
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan