0

listheader の onClick 中に postEvent 呼び出しを行います。ほとんどの場合、イベントはトリガーされ、適切に動作します。時々失敗します。記録されていない以下の2番目の方法内のロガーで確認しました。

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();
}

助言がありますか?

4

1 に答える 1

0

あなたの状態を確認してください

(getLabel() == null || getLabel().trim().length() == 0)

ですtrue

そのブロックにログメッセージを入れます。ifあなたのバグはおそらくその状態です。

于 2013-11-02T12:21:58.957 に答える