1

我有一个带有两个 JButton(向上箭头和向下箭头按钮)的 jTextField。单击向上箭头按钮,文本字段中的数值增加 1 (++),单击向下箭头按钮,文本字段中的数值减少 1 (--)。

我想知道的是如何在按下按钮时自动“滚动/更改”值?

谢谢

4

2 回答 2

6

你可能想要的是一个 JSpinner。更具体地说是 SpinnerNumberModel。

这是一个演示链接 http://docs.oracle.com/javase/tutorial/uiswing/components/spinner.html

于 2012-05-29T14:23:46.077 回答
2

JSpinner是最好的方法。

但是如果你想要一个不同的实现,我建议使用MouseListener附加到JButtons. 当按下其中一个按钮(mousePressed事件)时,将javax.swing.Timer启动 a。每 x 毫秒(取决于您希望增加/减少数字的速度)检查是否JButton仍被按下以及鼠标是否仍在JButton. 如果是,则增加/减少数量。当用户释放鼠标(mouseReleased事件)时,将Timer停止/取消。

我从来没有这样做过,所以我不确定它是否有效。但这是我会尝试的方式。

于 2012-05-29T14:58:35.293 回答