ユーザーがスライディングをやめたかどうかを検出する方法はありますか? 多分bijマウス入力チェックか何か。onSliderChange イベントでマウスの isButton0Release と hasFocus を試して、ユーザーがスライドを停止したかどうかを確認しましたが、これは機能しません。
これまでに得たもの
@NiftyEventSubscriber(id = "speedSlider")
public void onSliderChange(String id, SliderChangedEvent event)
{ boolean test2 = event.getSlider().hasFocus();
boolean test = nifty.getMouseInputEventQueue().getLastMouseDownEvent().isButton0Release();
System.out.println("before " + test2);
int speed = (int)event.getValue();
speedTextField.getRenderer(TextRenderer.class).setText(speed + "");
if(test2){
System.out.println("after " + test2);
main.setSimSpeed(speed);
}
}
そしてxmlのスライダー
<panel id="speed_up_down_panel" height="30px" width="180px" childLayout="center">
<control id="speedSlider" name="horizontalSlider" width="150px" min="1" initial="1" buttonStepSize="1">
<image id="#position" filename="Interface/sliderbutton.png" visibleToMouse="true" width="40px" height="40px"></image>
</control>
</panel>
私がテストしているため、コードは少し面倒です。