2015-09-08 4 views
0

У меня проблема с JSpinner, чтобы показать месяц в JSpinner, и у меня есть следующий код ниже. Я использую swing control с формой jframe, чтобы использовать элемент управления spinner. Когда я запускаю проект, он всегда устанавливает значение по умолчанию 0. Можете ли вы помочь решить эту ошибку.Как я могу использовать общую строку в Jspinner?

static protected String[] getMonthStrings(){ 
      String[] months=new DateFormatSymbols().getMonths(); 
      int lastIndex=months.length-1; 
      if(months[lastIndex]==null || months[lastIndex].length()<=0){ 
       String[] mS=new String[lastIndex]; 
       System.arraycopy(months,0,mS, lastIndex,0); 
       return mS; 
      } 
      else{ 
       return months; 
      } 
     } 
     public spinner(boolean CycleMonths) { 

      initComponents(); 
      JTextField tf=null; 
      String[] monthStrings = getMonthStrings(); 
      SpinnerListModel monthModel=null; 
      if(CycleMonths){ 
       monthModel=new CycleSpinnerList(monthStrings); 
      } 
      else { 
       monthModel=new SpinnerListModel(monthStrings); 
      } 
      spMonth=new JSpinner(monthModel); 

     } 
+0

«Когда я запускаю проект, он всегда устанавливает значение по умолчанию 0 *" - Я не понимаю, что вы подразумеваете под этим. Вы имеете в виду, что 1) JSpinner отображает «Январь» (индекс 0), и вы этого не хотите? Или вы имеете в виду 2), что JSpinner просто показывает ноль? Или, может быть, 3), что JSpinner ничего не отображает? Пожалуйста, напишите [Short, Self Contained, Correct (Compilable), Example] (http://sscce.org/), поэтому проблема становится более понятной и фактически может быть запущена для нас. (см. также [mcve]) –

+0

О, да, jspinner только показывает только ноль. –

ответ

0

В коде конструктора, вы вызываете initComponents, а затем создать свой SpinnerListModel, создавая новый JSpinner, но никогда не добавляя его в любом месте ... Так что, похоже, проблема в том, что вы просто не добавляя JSpinner в любом месте

public spinner(boolean CycleMonths) { 

     initComponents(); 
     JTextField tf=null; 
     String[] monthStrings = getMonthStrings(); 
     SpinnerListModel monthModel=null; 
     if(CycleMonths){ 
      monthModel=new CycleSpinnerList(monthStrings); 
     } 
     else { 
      monthModel=new SpinnerListModel(monthStrings); 
     } 
     spMonth=new JSpinner(monthModel); 

    } 
+0

Но spMonth - Jspinner, сэр. –

+0

spMonth - это просто поле в вашем классе, которое вы настроили на JSpinner. Но вы все еще не добавили это в свой графический интерфейс. – ControlAltDel

+0

Благодарим вас за ответ. –

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

  • Нет связанных вопросов^_^