从引导gwt java datetimepicker获取值
我试图在我的gwt java web应用程序中使用bootstrap3 datetimepicker,但我不确定是否一切正常,因为它似乎没有传递字段的值。这是我的密码:从引导gwt java datetimepicker获取值,java,twitter-bootstrap,gwt,gwt-bootstrap,Java,Twitter Bootstrap,Gwt,Gwt Bootstrap,我试图在我的gwt java web应用程序中使用bootstrap3 datetimepicker,但我不确定是否一切正常,因为它似乎没有传递字段的值。这是我的密码: datePicker = new DateTimePicker(); datePicker.setFormat("dd MM yyyy hh ii"); datePicker.setStartDate(new Date()); datePicker.setLanguage(DateTimePic
datePicker = new DateTimePicker();
datePicker.setFormat("dd MM yyyy hh ii");
datePicker.setStartDate(new Date());
datePicker.setLanguage(DateTimePickerLanguage.IT);
Date expDate= datePicker.getValue();
对吗?因为它似乎没有传递任何值。我还尝试添加一个事件处理程序,如下所示:
datePicker.addValueChangeHandler(new ValueChangeHandler<Date>() {
@Override
public void onValueChange(ValueChangeEvent<Date> event) {
Date expDate= event.getValue();
datePicker.setFormat("dd MM yyyy hh ii");
}
});
我不明白是否需要一个事件处理程序来捕获datetimepicker的值,如果需要,我如何在onValueChange方法的范围之外使用expDate变量,因为我不想将其设置为全局变量。谢谢
在没有不必要的代码的完整类之上:
public class InsAst extends HTMLPanel {
private final AoLServiceAsync myAol = GWT.create(AoLService.class);
private DateTimePicker datePicker = new DateTimePicker();
private Date boxData;
public InsAst (final String cat) {
super("");
datePicker.setFormat("dd MM yyyy hh ii");
datePicker.setStartDate(new Date());
datePicker.setLanguage(DateTimePickerLanguage.IT);
Label dataLabel = new Label("Exp date: ");
dataLabel.setStyleName("control-label");
dataLabel.getElement().getStyle().setProperty("float", "left");
datePicker.addValueChangeHandler(new ValueChangeHandler<Date>() {
public void onValueChange(ValueChangeEvent<Date> event) {
boxData = event.getValue();
}
});
objPanel.add(dataLabel);
objPanel.add(datePicker);
addAstButton.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
String user=MenuBar.getUsername();
Date expDate= boxData;
[...other code]
}
onValueChange的值应位于收到的ValueChangeHandler中
您可能应该调用另一个向下传递该日期的方法,而不是将其作为全局变量
如果没有更完整的代码示例,很难说得更多
PS:检查GWT Bootstrap的showcase以获取工作样本:
请注意:
在示例中,他们正在创建DateBox的实例,而不是DateTimePicker。
DateTimePicker是一个AFAIK基于Bootstrap2的类。对于Bootstrap3检查。
我最终发现问题出在这行代码中:
datePicker.setFormat("dd MM yyyy hh ii");
可能这传递了一个与java日期不兼容的错误类型的值。非常感谢Carlos,我刚刚编辑了我的消息,添加了完整的代码……您认为onValueChange的值应该在收到的ValueChangeHandler中是什么意思?我注意到,在我找到的每个示例中,DateTimePicker都在onModuleLoad方法中使用,例如,如果我不在onModuleLoad方法中,我该如何使用它?这个,我还没有找到。嗯,我尝试使用DateBox而不是DateTimePicker,它似乎可以工作…而且没有添加任何事件处理程序。我真的不知道为什么。但datebox只选择日期…我还需要时间:有一个DateTimeBox。