我有一个带有两个 JButton(向上箭头和向下箭头按钮)的 jTextField。单击向上箭头按钮,文本字段中的数值增加 1 (++),单击向下箭头按钮,文本字段中的数值减少 1 (--)。
我想知道的是如何在按下按钮时自动“滚动/更改”值?
谢谢
我有一个带有两个 JButton(向上箭头和向下箭头按钮)的 jTextField。单击向上箭头按钮,文本字段中的数值增加 1 (++),单击向下箭头按钮,文本字段中的数值减少 1 (--)。
我想知道的是如何在按下按钮时自动“滚动/更改”值?
谢谢
你可能想要的是一个 JSpinner。更具体地说是 SpinnerNumberModel。
这是一个演示链接 http://docs.oracle.com/javase/tutorial/uiswing/components/spinner.html
这JSpinner
是最好的方法。
但是如果你想要一个不同的实现,我建议使用MouseListener
附加到JButton
s. 当按下其中一个按钮(mousePressed
事件)时,将javax.swing.Timer
启动 a。每 x 毫秒(取决于您希望增加/减少数字的速度)检查是否JButton
仍被按下以及鼠标是否仍在JButton
. 如果是,则增加/减少数量。当用户释放鼠标(mouseReleased
事件)时,将Timer
停止/取消。
我从来没有这样做过,所以我不确定它是否有效。但这是我会尝试的方式。