Создайте числовое текстовое поле в java Swing с помощью кнопок увеличения и уменьшения
Как я могу создать числовое текстовое поле в java swing, которое имеет две кнопки (вверх и вниз), которые увеличивают и уменьшают значение в текстовом поле соответственно. Также это текстовое поле должно быть доступно для редактирования с помощью ТОЛЬКО ЧИСЛОВЫЕ ЗНАЧЕНИЯ. Что-то вроде этого!--3-->
Я попытался, поместив две кнопки рядом с текстовым полем и вручную выполнив операцию по щелчку кнопки.
есть ли другой способ, в котором я могу сделать это в лучшую сторону и достичь подобного результата, как на первом рисунке.
спасибо :)
2 ответов
использовать JSpinner
как использовать блесны в java
на основе вашего комментария:
SpinnerModel model = new SpinnerNumberModel(9.9, 1, 15, 0.1);
JSpinner spinner = new JSpinner(model);
JSpinner need for позволяет только числовой ввод, требуется некоторый хак для этого в своей модели, но ваш 2-й. картинка выглядит как две компонентам jbutton (С JButton#setFocucPainted (false)) и один JFormattedTextField с числовым форматом, с min / maxDecimalPaces, с roundingMode
myDoubleFormat.setMinimumFractionDigits(2);
myDoubleForma.setMaximumFractionDigits(2);
myDoubleForma.setRoundingMode(RoundingMode.HALF_UP);
затем действие С JButton
будет
myFtdTextField.setValue(((Number) myFtdTextField.getValue()).doubleValue() +/- 0.1)