Przycisk wciśnięty, przycisk zwolniony - obsługa zdarzeń.

0

Jak zrobić aby w czasie kiedy button jest wciśnięty obiekt String był ustawiony "true" a po zwolnieniu buttona ten obiekt miał "false"?

0

Dodaj ChangeListenera.

0

ok, metodę wywoływaną stateChanged mam, tylko jak sprawdzić czy przycisk został wciśnięty czy zwolniony jeśli zdarzenie zostanie wywołane?

0

Dodaj pole logiczne np. pressed. Na początku pressed jest równe false, metoda stateChanged powinna zawierać kod:

pressed = !pressed;
0

nie wiem za bardzo jak to na ChangeListener ma działać ale zrobiłem to trochę inaczej:

public void stateChanged(ChangeEvent e) {
		Object source = e.getSource();
		if(source == modelForward)
		{
			if(modelForward.isPressed())
				Objekt1.setValue("true");
			else
				Objekt1.setValue("false");
		}
		if(source == modelBackward)
		{
			if(modelForward.isPressed())
				Objekt2.setValue("true");
			else
				Objekt2.setValue("false");
		}	
	}

obiekt modelForward i modelBackward to obiekty typu ButtonModel. Nadal jednak głowie się z problemem takim że kiedy najeżdżam myszką na przycisk, bądź przesuwam myszkę poza przycisk to metody setValue wywołują się niepotrzebnie bo zgłaszane jest wtedy wydarzenie. Czy można temu jakoś uniknąć i tylko na zwolnienie przyciskiem myszy wywoływać Objekt2.setValue()?

0

Jeśli ma działać tylko na mysz, to najprostsze jest chyba takie rozwiązanie:

button.addMouseListener(new MouseAdapter()
{
    public void mousePressed(MouseEvent me)
    {
        Objekt2.setValue("true");;
    }
    public void mouseReleased(MouseEvent me)
    {
        Objekt2.setValue("false");;
    }					
});
0

dzieki ;) jak Cie kiedys spotkam to stawiam piwo ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1