Hallo,
ich möchte einen Mauslistner der bei gepresster Maustaste eine
bestimmte Methode in einer schleife ausführt.
jetzt habe ich die while schleife eingebaut aber das ganze läuft zu
schnell so das der
Mausreleased nicht mehr reagiert.
Kann mir jemand weiterhelfen wie ich eine Schleife verlangsame.
Danke für eure hilfe
anbei code:
private void configureMyCust omSpinboxMouseL istener()
{
fldItemQuantity .addMouseListen er( new MouseListener() {
boolean pressed = false;
// mouse listener code follows here
public void mouseClicked( MouseEvent e ) {}
public void mouseEntered( MouseEvent e ) {}
public void mouseExited( MouseEvent e ) {}
public void mousePressed( MouseEvent e )
{
// Klickhöhe ist in e.getY(), Feststellung der
Maustaste aus e.getModifiers
// Wenn obere Hälfte angeklickt ist, bedeutet das
Stückzahl erhöhen, wenn untere, erniedrigen.
if ( isMouseButton1( e ) ) {
OldMatom4ItemCo llection containingColle ction =
( (MatomguiConfig boxForEntrytype QuantityExtensi ble2) getParent()
).itemDataColle ction;
if ( isPosInUpperHal f( e ) )
{
//Hier setzte ich den Wert pressed auf true damit die Schleife
losläuft
pressed = true;
while(pressed)
{
performIncremen t();
}
}
else
{
performDecremen t();
}
}
}
//Invoked when a mouse button has been released on a
component.
public void mouseReleased( MouseEvent e )
{
if ( ( e.getModifiers( ) & InputEvent.BUTT ON1_MASK
) != 0 )
{
adjustArrowIcon AsInactive();
invalidate();
validate();
//Hier setzte ich den Wert pressed auf false damit die Schleife stoppt
pressed = false;
}
}
private boolean isPosInUpperHal f( MouseEvent e )
{
return ( e.getY() < ( getHeight() / 2 ) );
}
// end mouse listener code
} // added anonymous mouse listener
); // addMouseListene r
}