diff --git a/src/jls/elem/StateMachine.java b/src/jls/elem/StateMachine.java index 01a1eb4..02c1574 100755 --- a/src/jls/elem/StateMachine.java +++ b/src/jls/elem/StateMachine.java @@ -809,6 +809,7 @@ private class StateEditor extends JDialog private Point movingPoint; private boolean nameChange; private StateMachine machine; + private boolean creating; /** * Set up create dialog window. @@ -824,6 +825,7 @@ private StateEditor(StateMachine machine, boolean creating) { // save reference to me currentDialog = this; this.machine = machine; + this.creating = creating; // set not canceled canceled = false; @@ -1058,6 +1060,20 @@ public void actionPerformed(ActionEvent event) { else { nameChange = true; } + if (creating) { + String message = ""; + if (states.isEmpty() && name.trim().isEmpty()) { + message = "You need a name and at least one state."; + } else if (states.isEmpty()) { + message = "You need at least one state."; + } else if (name.trim().isEmpty()) { + message = "You need a name."; + } + if (!message.isEmpty()) { + JOptionPane.showMessageDialog(this, message, "Error", JOptionPane.ERROR_MESSAGE); + return; + } + } dispose(); } else if (event.getSource() == cancel) {