2016-10-31 4 views
0
JFrame frame=new JFrame(); 
    frame.setSize(500, 500);   
    JPanel panel =new JPanel(); 
    panel.setSize(200, 200); 
    frame.add(panel); 


    JSpinner m_numberSpinner=new JSpinner(); 
    m_numberSpinner.setSize(100, 100); 
    SpinnerNumberModel l_spinnerModel = new SpinnerNumberModel(0, 0, 999, 1); 
    m_numberSpinner = new JSpinner(l_spinnerModel); 
    JSpinner.NumberEditor l_editor = new JSpinner.NumberEditor(m_numberSpinner); 
    m_numberSpinner.setEditor(l_editor); 

    NumberFormat m_numberFormatter = l_editor.getFormat(); 
    m_numberFormatter.setMaximumIntegerDigits(2); 
    m_numberFormatter.setMinimumIntegerDigits(m_numberFormatter.getMaximumIntegerDigits());  
    panel.add(m_numberSpinner); 
    frame.setVisible(true); 

Здравствуйте, это простой java JFrame, чтобы показать число оборотов.Дисплей редактора номера JSpinner

Первое число показано как «00». Я хочу, чтобы это было показано как 0. Возможно ли это? Следующее число показано как '01'. Я хочу быть показан как 1. Возможно ли это?

ответ

2

Вы указали номер Внешность вашего JSpinner себя NumberFormat использовать максимальные два числа

m_numberFormatter.setMaximumIntegerDigits(2); 

и минимум уже установлено максимальное значение, которое два

m_numberFormatter.setMinimumIntegerDigits(m_numberFormatter.getMaximumIntegerDigits()); 

Это приводит всегда используя две цифры. Таким образом, 1 - 01 и так далее.

Может быть, это то, что вы хотите:

m_numberFormatter.setMaximumIntegerDigits(2); 
m_numberFormatter.setMinimumIntegerDigits(1); 
+0

спасибо большое за помощь – RahlSK

Смежные вопросы