我有一個帶有兩個JButton(向上箭頭和向下箭頭按鈕)的jTextField。單擊向上箭頭按鈕,文本字段中的數值會增加1(++),然後單擊向下箭頭按鈕可以減少1( - )。JTextField在按下按鈕時自動更改值
我想知道的是如何在按下按鈕時自動「滾動/更改」該值?
謝謝
我有一個帶有兩個JButton(向上箭頭和向下箭頭按鈕)的jTextField。單擊向上箭頭按鈕,文本字段中的數值會增加1(++),然後單擊向下箭頭按鈕可以減少1( - )。JTextField在按下按鈕時自動更改值
我想知道的是如何在按下按鈕時自動「滾動/更改」該值?
謝謝
的JSpinner
是做到這一點的最好辦法的鏈接。
但是如果你想要一個不同的實現,我會建議使用連接到JButton
的MouseListener
。當按下其中一個按鈕時(mousePressed
事件),啓動javax.swing.Timer
。每x毫秒(取決於您想要數字增加/減少的速度),檢查是否仍然按下JButton
,並且鼠標是否仍然在JButton
之上。如果是,則數量增加/減少。當用戶釋放鼠標(mouseReleased
事件)時,Timer
被停止/取消。
我從來沒有這樣做,所以我不知道它的工作原理。但這是我會嘗試的方式。
你可能想要的是一個JSpinner。更具體地說是一個SpinnerNumberModel。
這裏是一個演示 http://docs.oracle.com/javase/tutorial/uiswing/components/spinner.html
還有沒有使用JSpinner對象的方法? – jadrijan
*「是否有另一種方式沒有使用..」* ..component **爲此設計了**?當然,但你爲什麼要使用它?用例需要「JSpinner」無法提供什麼? –
你的意思是在按下按鈕時保持增加/減少的值? –
確切地說,是否可以在不使用微調器的情況下做到這一點 – jadrijan