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