我尝试使用表单按钮点击显示日历,但我无法更改日期并非常努力找到焦点的位置。
...
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();
}
如何以更好的方式显示和隐藏按钮点击上的日历
答案 0 :(得分:3)
最好使用Dialog
(如弹出窗口)而不是Form。您可以在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
。同时为{{1}}添加selected and unselected样式。