Archief - [PROG][Java] JPanel in JFrame laden (NetBeans)

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.

infeKted

Legacy Member
Hallo,

Ik ben bezig met een standalone applicatie te maken in Netbeans.
Nu heb ik hier een JFrame gemaakt met een menubar, wanneer ik op een knop hierin klik wil ik dat een andere JPanel geopend wordt binnen deze JFrame.

Ik heb voorlopig dit (deze event hangt achter de knop)
private void mniLoginMouseClicked(java.awt.event.MouseEvent evt) {
Login.setVisible(true);
}

Login.java is mijn JPanel, maar dit blijkt niet te werken.

Kan iemand me verder helpen?

Alvast bedankt.

jodeman

Legacy Member
ge gebruikt beter maar één JPanel. Meerdere JPanel's hebben bij mij al voor problemen gezorgd. Maak gewoon een interface die een JPanel vult en maak verschillende klassen aan die die interface implementeren.

Een JPanel is ook leeg en grijs, dus het kan zijn dat je het gewoon niet ziet.

infeKted

Legacy Member
Ok ik heb het anders opgelost.

Ik heb nu 5 JFrames gemaakt. Nu heb ik 1 "main" JFrame waar ik een menubar in gemaakt hebt. Nu roep ik graag deze andere JFrames op door te klikken op een knopke in deze menubar.

Ik dacht dat het iets ging zijn als voorbeeldframe.setVisible(true); zoals ik altijd in Eclipse tewerk ging, blijkbaar werkt dit niet.. iemand die hier meer ervaring mee heeft?

Timmos

Legacy Member
Meerdere JFrames? Dat lijkt me geen goed idee :p

Ge hebt één JFrame, uw applicatievenster dus, met daarin één JPanel, welke uw "contentpane" is (frame.setContentpane(JPanel panel)).

Aan die knop(pen) hangt ge een actie die met zijn actionPerformed(ActionEvent e) aan dat contentpane andere JPanels kan toevoegen en/of verwijderen, terwijl ge respectievelijk nog een ander JPanel verwijdert of toevoegt.

MilM

Legacy Member
Gewoon een methode oproepen wanneer op de knop wordt geklikt die een nieuw JPanel aanmaakt en dat dan als content zet van uw frame ? (frame.setContentPane(...))

En ivm andere vensters, mss een JDialog ?
Een dialog heeft een ouder in tegenstelling tot een frame.

Meerdere vensters is niet altijd slecht.
Maar dat is meer voor zaken die je tegelijk kunt doen.
Als het bv voor het invullen van input is ofzo, gebruik je beter een modaal dialoogvenster zodat het oudervenster blokkeert.

En zoals hier boven staat.
Als het via een knop werkt, moet je gebruik maken van een ActionListener bij die knop, zeker niet van een mouselistener.

Als je die actie aan meerdere zaken wilt binden (bv een knop op de toolbar én in de menubar én op een popup dinges), dan kun je gebruik maken van AbstractAction.

MilM

Legacy Member
Idd.
Maar als ik hem goed begrepen heb, is het waarschijnlijk de bedoeling dat de inhoud van het panel verandert en niet om meerdere jpanels tegelijk te hebben.

Maar ik kan mis zijn :)

@TS
Indien tabbladen gewenst zijn -> JTabbedPane
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