Toon posts:

[java] JPanel on top

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik probeer in java een JPanel voor een Applet te houden. Mijn oplossing is

Java:
1
2
3
4
5
6
7
8
detailsFrame = new JFrame(); 
detailsFrame.addWindowListener(new WindowAdapter()
{
  public void windowDeactivated(java.awt.event.WindowEvent e)
  {
    ((JFrame) e.getComponent()).toFront();
  }
});


Maar deze code heeft als nadeel dat de buttons op de applet niet meer te gebruiken zijn als het panel actief is. Is hier een betere oplossing voor?

(de methode setAlwaysOnTop() kan ik niet gebruiken omdat ik nog aan 1.4.2 vast zit)

  • MetroidPrime
  • Registratie: Oktober 2003
  • Laatst online: 15-05 15:23

MetroidPrime

Turn it up loud, captain!

Is het misschien mogelijk om de buttons uit het applet te halen en in een ander JPanel te stoppen? Je zou dan door middel van een layoutmanager kunnen specificeren waar de buttons komen en waar de applet komt. Als je het JPanel dan alleen over het applet laat komen en niet over het JPanel met de buttons zou je ze nog kunnen gebruiken.

Waarvoor heb je het nodig dat een JPanel over het applet heenkomt? Dat zou misschien kunnen helpen bij het bedenken van een betere oplossing.

"Some girl on the street outside the bar just asked me if I was saved yet." "Yeah? What did you say?" "I told her 'I saved at the checkpoint a couple of minutes back and I can reload from there if I die.'


Verwijderd

Topicstarter
Het gaat er niet perse om dat de buttons niet zichtbaar zijn, ze zijn wel zichtbaar, maar als je er op klikt dan reageert de button niet. (En dat ligt aan de code die ik hierboven postte, zonder die code blijven mijn buttons reageren, maar verdwijnt het Panel uit beeld.)

Het panel is extra informatie voor de applet, die eigenlijk niet meer op de applet zelf past. Door die informatie in een panel te zetten, is het aan de gebruiker zelf om het panel ergens te zetten waar het hem het beste uit komt. Wat ik wil voorkomen is dat als de applet gebruikt wordt, het panel uit het zicht verdwijnt.

Het probleem is waarschijnlijk dat het panel de focus grijpt, waardoor er iets fout gaat met het ActionEvent van het onderliggende applet.

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

Alarmnummer

-= Tja =-

Ik weet niet of je zonder problemen een Applet (dus geen JApplet) kan combineren met Swing aangezien AWT ook niet zomaar gecombineerd mag worden met Swing.

Verwijderd

Topicstarter
Met een JApplet krijg ik hetzelfde gedrag.

  • MetroidPrime
  • Registratie: Oktober 2003
  • Laatst online: 15-05 15:23

MetroidPrime

Turn it up loud, captain!

Verwijderd schreef op 16 mei 2004 @ 18:09:
Met een JApplet krijg ik hetzelfde gedrag.
Is het gebruik van een JDesktopPane misschien een mogelijkheid? Dan kun je de JApplet in een JInternalFrame zetten en het JPanel in een andere JInternalFrame. De gebruiker kan dan bepalen waar die frames komen te staan. Java handelt dan zelf de focus af, daar hoef je dan geen rekening meer mee te houden.

"Some girl on the street outside the bar just asked me if I was saved yet." "Yeah? What did you say?" "I told her 'I saved at the checkpoint a couple of minutes back and I can reload from there if I die.'


Verwijderd

Topicstarter
Het probleem met een JDeskTopPane is dat ik het extra JPanel niet meer boven de JApplet weg kan halen. Ik heb het liefst dat dat JPanel naast de JApplet komt te staan, maar voor mensen met een te lage resolutie moet hij er boven kunnen staan. (Net zoals bv een "Find in this page"-box.)
Pagina: 1