[java] jmenuitem visueel niet enabled?

Pagina: 1
Acties:

  • Tjeerd
  • Registratie: Oktober 1999
  • Laatst online: 08-05 10:20

Tjeerd

Be Original, Be Yourself.

Topicstarter
In mijn Java programma heb ik een menu zitten, via de standaard "events" binnen de Swing-applicatie kan ik de menuitems netjes enablen of disablen. Nu maak ik gebruik van JIntegra om met een Windows-applicatie te communiceren en zodra er in de Windows-applicatie een selectie van bepaalde data wordt gemaakt, wordt er een event aangeroepen in mijn Swing-programma, welke ook een jmenuitem wil enablen in mijn programma.

Nu het vreemde, ik kan binnen die methode (die reageert op een Windows-event vanuit een ander stuk software) netjes het gewenste jmenuitem enablen via de setEnabled(true) methode. Hij blijkt dan ook ge-enabled te zijn als ik met isEnabled() de status controleer.

Maar: in het menu blijft het jmenuitem ge-disabled zichtbaar, terwijl ik verder nergens in mijn programma dat jmenuitem disable behalve bij het initialiseren. Ik heb al zitten kijken naar repaint(), revalidate(), updateUI(), inVokeLater() enz., maar geen van allen zorgt ervoor dat het jmenuitem ge-enabled zichtbaar wordt :(

Hulp is welkom |:(

[ Voor 4% gewijzigd door Tjeerd op 20-04-2005 12:06 ]

www.tjeerd.net - To repeat what others have said, requires education, to challenge it, requires brains.


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

Alarmnummer

-= Tja =-

Mijn gok is dat je vanaf de event dispatching thread de menu moet enabelen/disabelen. Zoek maar op java.sun.com naar SwingUtilities.invokexxx methodes.

Ik werk trouwens altijd met acties. Ik kan 1 actie object delen met verschillende componenten (JButton, JMenuItem etc) en dan hoef ik alleen die actie te disabelen/enablen en de rest gaat automatisch mee. Dit maakt het eenvoudiger om met complexere gui`s te werken.

[ Voor 8% gewijzigd door Alarmnummer op 20-04-2005 12:16 ]