2016-11-12 7 views
0

Я пытаюсь создать JComboBox, где я хочу получить все часовые пояса, но в нем ничего не отображается. Может ли кто-нибудь помочь мне в решении этой проблемы?Отображение часовых поясов в JComboBox

Вот мой код:

public class Window extends JFrame { 
    private static final String DATE_FORMAT = "dd-M-yyyy hh:mm:ss a"; 
    public Window() { 
     super("Genesys"); 
     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     setExtendedState(JFrame.MAXIMIZED_BOTH); 
     setSize(600, 470); 
     setVisible(true); 
     setLayout(null); 
     gradeCombo = new JComboBox <Object>(); 
     add(gradeCombo); 
     gradeCombo.setBounds(500, 100, 200, 20); 
     search.addActionListener(new csearch()); 
    } 
    class csearch implements ActionListener { 
     public void actionPerformed(ActionEvent event) { 
      SimpleDateFormat formatter = new SimpleDateFormat(DATE_FORMAT); 
      Date date = new Date(); 
      TimeZone tz = TimeZone.getDefault(); 
      pane.setBounds(10, 530, 760, 40); 
      pane1.setBounds(10, 260, 760, 40); 
      System.out.println("TimeZone : " + tz.getID() + " - " + tz.getDisplayName()); 
      System.out.println("TimeZone : " + tz); 
      System.out.println("Date (Ro - UTC+02:00) : " + formatter.format(date)); 
      date10.setText("Current time for Romania"); 
      date7.setText(String.valueOf("Time Zone : " + tz.getID() + " - " + tz.getDisplayName())); 
      date8.setText(String.valueOf("TimeZone : " + tz)); 
      date9.setText(String.valueOf("Date (Ro - UTC+02:00) : " + formatter.format(date))); 
      SimpleDateFormat sdfAmerica = new SimpleDateFormat(DATE_FORMAT); 
      SimpleDateFormat sdfParis = new SimpleDateFormat(DATE_FORMAT); 
      DateTime dt = new DateTime(date); 
      DateTimeZone dtZone = DateTimeZone.forID(country.getText()); 
      DateTime dtus = dt.withZone(dtZone); 
      TimeZone tzInAmerica = dtZone.toTimeZone(); 
      Date dateInAmerica = dtus.toLocalDateTime().toDate(); 
      gradeCombo = new JComboBox <Object> (TimeZone.getAvailableIDs()); 
     } 
    } 
} 

Может кто-нибудь мне помочь? Почему часовые пояса не отображаются в выпадающем списке?

ответ

1

Вместо создания экземпляра нового JComboBox просто установите подходящую модель для существующего комбо.

gradeCombo.setModel(new DefaultComboBoxModel<Object>(TimeZone.getAvailableIds())); 
Смежные вопросы