0
ConfirmDialogのタイトル「確認」を自分の言語のものに変更したいと思います。私はthisを見ましたが、私のvaadinアドオンのshowメソッドは静的メソッドであり、ファクトリから返されたダイアログを表示することは不可能なので、コードはわかりません。Vaadin ConfirmDialogタイトルを変更する
私は、ダイアログをラップするために、このコードを使用:
package com.xxx.dialog;
import org.vaadin.dialogs.ConfirmDialog;
import com.xxx.message.MessageByLocaleService;
import com.vaadin.ui.Label;
import com.vaadin.ui.UI;
public class DeleteDialog {
private ConfirmDialog cd;
public DeleteDialog(MessageByLocaleService messageByLocaleService) {
cd = ConfirmDialog.getFactory()
.create(messageByLocaleService.getMessage("caption.confirm"),
"", "OK", "Cancel", "");
}
public abstract static class MyListener {
public abstract void receive();
}
public void show(UI ui, MessageByLocaleService messageByLocaleService, MyListener yes, MyListener cancel) {
//this.setCaption(messageByLocaleService.getMessage("caption.confirm"));
//this.setMessageLabel(new Label(messageByLocaleService.getMessage("caption.confirm")));
cd.show(ui, messageByLocaleService.getMessage("confirm.delete"),
new ConfirmDialog.Listener() {
private static final long serialVersionUID = 1L;
public void onClose(ConfirmDialog dialog) {
if (dialog.isConfirmed()) {
// Confirmed to continue
yes.receive();
} else {
// User did not confirm
cancel.receive();
}
}
});
}
}
私はしばらくの間extends ConfirmDialog
として、このclass DeleteDialog
を持っていたコメントアウトされている私が作った試みのいくつかは意味を持たない理由、それはです。
'messageByLocaleService.getMessage(" caption.confirm ")'がnullを返していないかどうかチェックしましたか? – nyg
nullであってはなりません。翻訳は翻訳ファイルにあります。問題は 'show'は静的メソッドで、クラスメソッドが必要なことです。おそらく、アドオンのバージョンを静的でないメソッドにダウングレードすることになります。 – Adder