簡體   English   中英

如何檢查是否手動設置了值而不是setValue(JSlider,JSpinner)?

[英]How to check if value was set manually and not with setValue (JSlider, JSpinner)?

如何檢查JSlider或JSpinner的值是通過圖形界面設置的,而不是通過setValue( int n)

每當以編程方式調用setValue(調用它之前)時,將布爾值設置為true,並在完成事件處理后將其重置為false。

在內部,調用'setValue'。 當用戶通過實現ChangeListener捕獲該事件來移動滑塊的旋鈕時,您可以嘗試捕獲該事件。 另外,請記住,移動旋鈕會觸發許多更改事件,因此如果您對滑塊的最終值感興趣,請在評估為false時使用getValueIsAdjusting


如果問題是使用ChangeListener ,請嘗試擴展JSlider組件並添加一個新方法,該方法接收新值並發出它(例如,使用int代碼或枚舉),在創建后獲取值的設置自定義邏輯到真正的setValue方法。

在你的情況下,如果我沒有弄錯的話,你會想要阻止setValue的調用,如果某個組件調用它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM