1
Eclipse에서 사용자 정의 Dialog에 문제가 있습니다.Jface 대화 상자, 어떤 버튼이 사용자를 눌렀는지 올바르게 검색하는 방법?
처음에는 Dialog를 확장하는 클래스를 만들었습니다. 어딘가에 내가 버튼을 만들
public class ModificarGrupoBCDialog extends Dialog {
private static final int CANCELAR = 999;
private static final int MODIFICAR = 1;
...
...
protected void createButtonsForButtonBar(Composite parent) {
this.createButton(parent, MODIFICAR, "Modificar", true);
this.getButton(MODIFICAR).setEnabled(puedeAltaGrupoBC());
this.bt_ok = this.getButton(MODIFICAR);
this.createButton(parent, CANCELAR, "Cancelar", false);
Display display = window.getShell().getDisplay();
Image image = new Image(display, ModificarGrupoBCDialog.class.getResourceAsStream("/icons/modificar.png"));
this.getButton(MODIFICAR).setImage(image);
image = new Image(display, ModificarGrupoBCDialog.class.getResourceAsStream("/icons/cancelar.png"));
this.getButton(CANCELAR).setImage(image);
}
사용자가 클릭하면 ... 마지막으로
protected void buttonPressed(int buttonId) {
switch (buttonId) {
case MODIFICAR:
// Some Code, for Change Button
break;
case CANCELAR:
setReturnCode(CANCELAR);
close();
break;
}
, 이것은 내가에 열고 반환 코드를 얻는 방법이다 호출 원 객체 당신이 볼 수있는
...
ModificarGrupoBCDialog modificarGrupoBC = new ModificarGrupoBCDialog(window.getShell(), window, gr_bc);
if (modificarGrupoBC.getReturnCode() == Window.OK) {
//... Some code on OK
} else {
//another code when cancel pressed.
}
;
, 잠시 시도 후, 나는 또는 취소 스위치 블록에 setReturnCode()를 작성해야, 그 확인은? Dialog 클래스가 자동으로 올바른 반환 코드를 지정한다는 점을 강조합니다.
누군가 나를 좋은 샘플로 안내 할 수 있습니다.
나는 Vogela의 블로그를 읽고있어 해결책은 okPressed() 메소드를 재정의하는 것일 수 있습니까?
좋습니다.