public final void doAction(int xOnScreen, int yOnScreen) throws Exception {
final JTextField textFieldDegat = new JTextField(5);
final JComboBox<HitPointPossibility> combobox = new JComboBox<>(
HitPointPossibility.values());
PanelAlwaysValidOkCancel panelDegat = new PanelAlwaysValidOkCancel() {
private static final long serialVersionUID = 1L;
@Override
public Boolean isDataValid() {
Boolean isValid = true;
try {
Integer.valueOf(textFieldDegat.getText());
} catch (NumberFormatException ex) {
isValid = false;
}
return isValid;
}
@Override
public String getInvalidMessage() {
return "les " + getName() + " doivents être des chiffres";
}
};
panelDegat.setLayout(new FlowLayout());
panelDegat.add(combobox);
panelDegat.add(textFieldDegat);
DialogOkCancel<PanelAlwaysValidOkCancel> dialog = new DialogOkCancel<PanelAlwaysValidOkCancel>(
MainFrame.FRAME, getName(), true, panelDegat);
dialog.setLocation(xOnScreen - (dialog.getWidth() / 2), yOnScreen
- (dialog.getHeight() / 2));