lwuit календарь с кнопкой события - PullRequest
0 голосов
/ 01 августа 2011

Я пытался показать календарь при нажатии кнопки, используя форму, но я не смог изменить дату и очень старался найти, где находится фокус .

    ...
    Button mdate=new Button("change date");
    mdate.addActionListener(this);
    ...
    public void actionPerformed(ActionEvent ae) {
       Form cal= new Form();
       com.sun.lwuit.Calendar c =new com.sun.lwuit.Calendar();
       c.setFocus(true);
       c.addActionListener(this);
       cal.addComponent(c);
       cal.show();
    }

как лучше показать и скрыть календарь при нажатии кнопки

1 Ответ

3 голосов
/ 01 августа 2011

Лучше вы можете использовать Dialog (как всплывающее окно) вместо формы.Вы можете легко распоряжаться в Form.Не нужно показывать другую форму.См. Приведенный ниже пример кода

Button button = new Button("Click me");
form.addComponent(button);
button.addActionListener(new ActionListener() {

    public void actionPerformed(ActionEvent ae) {
        final Dialog cal = new Dialog();
        final com.sun.lwuit.Calendar c = new com.sun.lwuit.Calendar();
        c.setFocus(true);
        c.addActionListener(this);
        cal.addComponent(c);
        cal.addCommand(new Command("Cancel") {

         public void actionPerformed(ActionEvent evt) {
              cal.dispose();
            }
        });
      c.addActionListener(new ActionListener() {
         public void actionPerformed(ActionEvent evt) {
            System.out.println("Selected date :: " + c.getDate().toString())
        }
     });
    cal.show(20, 20, 20, 20, true, false);
    }
});

и добавьте выбранный и невыбранный стиль для Calendar, например CalendarSelectedDay, CalendarDate.Также добавьте выбранный и невыбранный стиль для ComboBox.

...