我们在onClick的listheader期间执行postEvent调用。大多数时间事件都被触发并且表现正常。有时它失败了。我在下面的第二种方法中用记录器确认了它没有记录。
public void onClick(Event event) {
if (event.getTarget() != this) {
return;
}
if (editor.isVisible()) {
return;
}
header.setVisible(false);
add.setVisible(false);
logger.info("onClick -> before post event");
if (getLabel() == null || getLabel().trim().length() == 0) {
**Events.postEvent(new Event(ON_EDIT_NEW_HEADER, this));**
}
logger.info("onClick -> after post event");
// Make the hbox and children visible
editor.setVisible(true);
// Set the textbox to have the current value of the listheader
combobox.setText(getLabel());
combobox.focus();
combobox.select();
}
@Listen("onEditNewHeader=dqlistheader")
public void onEditNewDQHeader(Event event) {
// Create a new empty column the user can use to create another new column if desired.
logger.info("Inside onEditNewDQHeader --- append header");
int order = header.getChildren().size();
ReportColumn column = new ReportColumn(reportType, order);
header.appendChild(new DQListHeader(column));
header.invalidate();
}
有什么建议吗?
答案 0 :(得分:0)
确保您的情况
(getLabel() == null || getLabel().trim().length() == 0)
是true
。
在if
阻止的中放入日志消息。你的错误可能就是这种情况。