Toon posts:

RemoveActionListener Java

Pagina: 1
Acties:

Verwijderd

Topicstarter
Dag tweakers,

Ik heb een menu in java gemaakt die een classe Toevoegen aanroept in twee mogelijke modus, nammelijk new en change. Nu is het zo dat als ik hem in new aanroep er een list is die geen listener moet hebben maar in change wel.

Nu is mijn vraag hoe kan ik deze listener weer verwijderen. Ik wissel van toestand door het aanroepen van een methorde setToChanged en SetToNew.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
  public void setToChanged()
  {

   chpos.select(0);
   inlezen();

   btsavechange.setEnabled(true);
   btsavechange.setVisible(true);
   btsave.setEnabled(false);
   btsave.setVisible(false);
   list.addActionListener(new listListener());

  }

  public void setToNew()
  {

   chpos.select(0);
   inlezen();
   //list.removeActionListener(listListener);
   btsave.setEnabled(true);
   btsave.setVisible(true);
   btsavechange.setEnabled(false);
   btsavechange.setVisible(false);

  }

  • bigbeng
  • Registratie: Augustus 2000
  • Laatst online: 26-11-2021
Je zult de referentie naar actionlistener op moeten slaan en die bij removeactionlistener meegeven.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
  public void setToChanged()
  {

   chpos.select(0);
   inlezen();

   btsavechange.setEnabled(true);
   btsavechange.setVisible(true);
   btsave.setEnabled(false);
   btsave.setVisible(false);
   listActionListener = new listListener();
   list.addActionListener(listActionListener);

  }

  public void setToNew()
  {

   chpos.select(0);
   inlezen();
   list.removeActionListener(listActionListener);
   btsave.setEnabled(true);
   btsave.setVisible(true);
   btsavechange.setEnabled(false);
   btsavechange.setVisible(false);

  }

Ik er daarbij vanuit dat je weet hoe je een variabele moet definieren zodat hij in beide methodes bruikbaar is, deze heb ik voor de vorm listActionListener genoemd.

Ik zag trouwens dat je een klasse listListener hebt gedefinieerd, eigenlijk hoort deze met een hoofdletter te beginnen.

Verwijderd

Topicstarter
Bedankt, _/-\o_ _/-\o_

En inderdaad je hebt gelijk want een het gaat om een inner klasse en die beginnen met een hoofdletter. dom |:(