[Java] JInternalFrame + JPanel

Pagina: 1
Acties:

  • stp_4
  • Registratie: Maart 2003
  • Laatst online: 30-04 19:47
Ik heb sinds kort bezig met Java en heb het volgende probleem waar ik niet helemaal uit komt. Ik heb een mainframe gemaakt die als een MDI interface gaat fungeren. Hier heb ik een JDesktopPane waarin dus verschillende JInternalFrames kunnen verschijnen (via een menu). Nu heb ik een standaard JInternalFrame object gemaakt. Daarna heb ik een JPanel gemaakt met daarin knopppen en textvelden etc. Dit panel voeg ik toe aan het JInternalFrame. In mijn panel zit een cancel button die er voor moet zorgen dat het JInternalFrame geclosed wordt of gedisposed. Helaas weet ik niet hoe ik een koppeling moet maken tussen een knop van mijn panel en dit JInternalFrame (getParent()?) of hoe ik een standaard listener kan maken in mij InternalFrame die getriggert wordt vanuit een willekeurig panel. Wie heeft er een idee of is een andere manier om dit probleem kan oplossen?

stp - PSN ID: stp_4


  • BHR
  • Registratie: Februari 2002
  • Laatst online: 23:56

BHR

Wat ik zou doen:

Extends AbstractAction, met een constuctor:
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class MyInternalFrameCloseAction extends AbstractAction
{
  private JInternalFrame internalFrame;
  
  public MyInternalFrameCloseAction(JInternalFrame internalFrame)
  {
    super();
    this.internalFrame = internalFrame;
  }

  public void actionPerformed(ActionEvent ae)
  {
    internalFrame.dispose();
  }
}

...

MyInternalFrameCloseAction myAction = new MyInternalFrameCloseAction(theInternalFrame);
JButton button = new JButton(myAction);
button.setText("sluit");

No amount of key presses will shut off the Random Bug Generator


  • stp_4
  • Registratie: Maart 2003
  • Laatst online: 30-04 19:47
BHR schreef op woensdag 13 juli 2005 @ 12:41:
Wat ik zou doen:

Extends AbstractAction, met een constuctor:
Ja, dit zou inderdaad wel kunnen maar is er een manier om de internalframe vanuit het panel te herleiden of is het beter om internalframe mee te geven in de constructor van de panelklasse die ik gemaakt heb?

edit:

Ik namelijk een Internalframe klasse waarin ik onder andere het desbetreffende toe te voegen panel in de constructor mee geef.

[ Voor 14% gewijzigd door stp_4 op 13-07-2005 13:05 ]

stp - PSN ID: stp_4


  • bigbeng
  • Registratie: Augustus 2000
  • Laatst online: 26-11-2021
Je kunt met getParent() van het component omhoog lopen totdat je een parent van het type JInternalFrame tegen komt. Dit is dan het frame waar de knop bij hoort.

  • TukkerTweaker
  • Registratie: November 2001
  • Laatst online: 21-04 15:56
stp_4 schreef op woensdag 13 juli 2005 @ 12:25:
of hoe ik een standaard listener kan maken in mij InternalFrame die getriggert wordt vanuit een willekeurig panel.
Je JPanel laat je een InternalFramelistener implementeren die je vervolgens bij het creeren van je JPanel laat luisteren naar het frame aan welke je de JPanel toevoegd.