JSpinner без отрицательных значений - PullRequest
2 голосов
/ 09 ноября 2011

Я создаю небольшое приложение в NetBeans, я использую компонент JSpinner, чтобы задать количество продукта. Как я могу настроить спиннер на получение только положительных значений? Есть ли выбор внутри NetBeans, который я могу установитьметод для JSpinner?

ДОПОЛНИТЕЛЬНО:

spinner.setModel(new SpinnerNumberModel(0, 0, 20, 1));

Ответы [ 3 ]

7 голосов
/ 09 ноября 2011

для JSpinner вам нужно реализовать SpinnerNumberModel

import javax.swing.*;

public class SpinnerModelTest {

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {

            public void run() {
                new SpinnerModelTest().makeUI();
            }
        });
    }

    public void makeUI() {
        SpinnerModel modeltau = new SpinnerNumberModel(0.0002, 0.0001, 100.0000, 0.0001);
        JSpinner spinner = new JSpinner(modeltau);
        ((JSpinner.NumberEditor) spinner.getEditor()).getFormat().setMaximumFractionDigits(4);
        JFrame frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.add(spinner);
        frame.pack();
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);
    }
}
4 голосов
/ 09 ноября 2011
0 голосов
/ 28 мая 2016

Работает с библиотекой r0ast3d :

((SpinnerNumberModel) mySpinner.getModel()).setMinimum(0);
...