error_popup: protect all menu items from unexpected errors
git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@655 d9718cc8-9f43-0410-858b-315f434eb58c
This commit is contained in:
parent
dce768ef45
commit
3abbc599f2
1 changed files with 75 additions and 50 deletions
|
@ -359,48 +359,53 @@ public class MainWindow extends JFrame
|
||||||
|
|
||||||
JMenuItem menuItem;
|
JMenuItem menuItem;
|
||||||
menuItem = new JMenuItem(strings.getString("menu.game.new"));
|
menuItem = new JMenuItem(strings.getString("menu.game.new"));
|
||||||
menuItem.addActionListener(new ActionListener() {
|
menuItem.addActionListener(wrapActionListener(
|
||||||
|
new ActionListener() {
|
||||||
public void actionPerformed(ActionEvent ev)
|
public void actionPerformed(ActionEvent ev)
|
||||||
{
|
{
|
||||||
onNewCityClicked();
|
onNewCityClicked();
|
||||||
}
|
}
|
||||||
});
|
}));
|
||||||
gameMenu.add(menuItem);
|
gameMenu.add(menuItem);
|
||||||
|
|
||||||
menuItem = new JMenuItem(strings.getString("menu.game.load"));
|
menuItem = new JMenuItem(strings.getString("menu.game.load"));
|
||||||
menuItem.addActionListener(new ActionListener() {
|
menuItem.addActionListener(wrapActionListener(
|
||||||
|
new ActionListener() {
|
||||||
public void actionPerformed(ActionEvent ev)
|
public void actionPerformed(ActionEvent ev)
|
||||||
{
|
{
|
||||||
onLoadGameClicked();
|
onLoadGameClicked();
|
||||||
}
|
}
|
||||||
});
|
}));
|
||||||
gameMenu.add(menuItem);
|
gameMenu.add(menuItem);
|
||||||
|
|
||||||
menuItem = new JMenuItem(strings.getString("menu.game.save"));
|
menuItem = new JMenuItem(strings.getString("menu.game.save"));
|
||||||
menuItem.addActionListener(new ActionListener() {
|
menuItem.addActionListener(wrapActionListener(
|
||||||
|
new ActionListener() {
|
||||||
public void actionPerformed(ActionEvent ev)
|
public void actionPerformed(ActionEvent ev)
|
||||||
{
|
{
|
||||||
onSaveCityClicked();
|
onSaveCityClicked();
|
||||||
}
|
}
|
||||||
});
|
}));
|
||||||
gameMenu.add(menuItem);
|
gameMenu.add(menuItem);
|
||||||
|
|
||||||
menuItem = new JMenuItem(strings.getString("menu.game.save_as"));
|
menuItem = new JMenuItem(strings.getString("menu.game.save_as"));
|
||||||
menuItem.addActionListener(new ActionListener() {
|
menuItem.addActionListener(wrapActionListener(
|
||||||
|
new ActionListener() {
|
||||||
public void actionPerformed(ActionEvent ev)
|
public void actionPerformed(ActionEvent ev)
|
||||||
{
|
{
|
||||||
onSaveCityAsClicked();
|
onSaveCityAsClicked();
|
||||||
}
|
}
|
||||||
});
|
}));
|
||||||
gameMenu.add(menuItem);
|
gameMenu.add(menuItem);
|
||||||
|
|
||||||
menuItem = new JMenuItem(strings.getString("menu.game.exit"));
|
menuItem = new JMenuItem(strings.getString("menu.game.exit"));
|
||||||
menuItem.addActionListener(new ActionListener() {
|
menuItem.addActionListener(wrapActionListener(
|
||||||
|
new ActionListener() {
|
||||||
public void actionPerformed(ActionEvent ev)
|
public void actionPerformed(ActionEvent ev)
|
||||||
{
|
{
|
||||||
closeWindow();
|
closeWindow();
|
||||||
}
|
}
|
||||||
});
|
}));
|
||||||
gameMenu.add(menuItem);
|
gameMenu.add(menuItem);
|
||||||
|
|
||||||
JMenu optionsMenu = new JMenu(strings.getString("menu.options"));
|
JMenu optionsMenu = new JMenu(strings.getString("menu.options"));
|
||||||
|
@ -414,106 +419,117 @@ public class MainWindow extends JFrame
|
||||||
{
|
{
|
||||||
final int level = i;
|
final int level = i;
|
||||||
menuItem = new JRadioButtonMenuItem(strings.getString("menu.difficulty."+level));
|
menuItem = new JRadioButtonMenuItem(strings.getString("menu.difficulty."+level));
|
||||||
menuItem.addActionListener(new ActionListener() {
|
menuItem.addActionListener(wrapActionListener(
|
||||||
|
new ActionListener() {
|
||||||
public void actionPerformed(ActionEvent evt) {
|
public void actionPerformed(ActionEvent evt) {
|
||||||
onDifficultyClicked(level);
|
onDifficultyClicked(level);
|
||||||
}
|
}
|
||||||
});
|
}));
|
||||||
levelMenu.add(menuItem);
|
levelMenu.add(menuItem);
|
||||||
difficultyMenuItems.put(level, menuItem);
|
difficultyMenuItems.put(level, menuItem);
|
||||||
}
|
}
|
||||||
|
|
||||||
autoBudgetMenuItem = new JCheckBoxMenuItem(strings.getString("menu.options.auto_budget"));
|
autoBudgetMenuItem = new JCheckBoxMenuItem(strings.getString("menu.options.auto_budget"));
|
||||||
autoBudgetMenuItem.addActionListener(new ActionListener() {
|
autoBudgetMenuItem.addActionListener(wrapActionListener(
|
||||||
|
new ActionListener() {
|
||||||
public void actionPerformed(ActionEvent ev)
|
public void actionPerformed(ActionEvent ev)
|
||||||
{
|
{
|
||||||
onAutoBudgetClicked();
|
onAutoBudgetClicked();
|
||||||
}
|
}
|
||||||
});
|
}));
|
||||||
optionsMenu.add(autoBudgetMenuItem);
|
optionsMenu.add(autoBudgetMenuItem);
|
||||||
|
|
||||||
autoBulldozeMenuItem = new JCheckBoxMenuItem(strings.getString("menu.options.auto_bulldoze"));
|
autoBulldozeMenuItem = new JCheckBoxMenuItem(strings.getString("menu.options.auto_bulldoze"));
|
||||||
autoBulldozeMenuItem.addActionListener(new ActionListener() {
|
autoBulldozeMenuItem.addActionListener(wrapActionListener(
|
||||||
|
new ActionListener() {
|
||||||
public void actionPerformed(ActionEvent ev)
|
public void actionPerformed(ActionEvent ev)
|
||||||
{
|
{
|
||||||
onAutoBulldozeClicked();
|
onAutoBulldozeClicked();
|
||||||
}
|
}
|
||||||
});
|
}));
|
||||||
optionsMenu.add(autoBulldozeMenuItem);
|
optionsMenu.add(autoBulldozeMenuItem);
|
||||||
|
|
||||||
disastersMenuItem = new JCheckBoxMenuItem(strings.getString("menu.options.disasters"));
|
disastersMenuItem = new JCheckBoxMenuItem(strings.getString("menu.options.disasters"));
|
||||||
disastersMenuItem.addActionListener(new ActionListener() {
|
disastersMenuItem.addActionListener(wrapActionListener(
|
||||||
|
new ActionListener() {
|
||||||
public void actionPerformed(ActionEvent ev)
|
public void actionPerformed(ActionEvent ev)
|
||||||
{
|
{
|
||||||
onDisastersClicked();
|
onDisastersClicked();
|
||||||
}
|
}
|
||||||
});
|
}));
|
||||||
optionsMenu.add(disastersMenuItem);
|
optionsMenu.add(disastersMenuItem);
|
||||||
|
|
||||||
soundsMenuItem = new JCheckBoxMenuItem(strings.getString("menu.options.sound"));
|
soundsMenuItem = new JCheckBoxMenuItem(strings.getString("menu.options.sound"));
|
||||||
soundsMenuItem.addActionListener(new ActionListener() {
|
soundsMenuItem.addActionListener(wrapActionListener(
|
||||||
|
new ActionListener() {
|
||||||
public void actionPerformed(ActionEvent ev)
|
public void actionPerformed(ActionEvent ev)
|
||||||
{
|
{
|
||||||
onSoundClicked();
|
onSoundClicked();
|
||||||
}
|
}
|
||||||
});
|
}));
|
||||||
optionsMenu.add(soundsMenuItem);
|
optionsMenu.add(soundsMenuItem);
|
||||||
|
|
||||||
JMenu disastersMenu = new JMenu(strings.getString("menu.disasters"));
|
JMenu disastersMenu = new JMenu(strings.getString("menu.disasters"));
|
||||||
menuBar.add(disastersMenu);
|
menuBar.add(disastersMenu);
|
||||||
|
|
||||||
menuItem = new JMenuItem(strings.getString("menu.disasters.MONSTER"));
|
menuItem = new JMenuItem(strings.getString("menu.disasters.MONSTER"));
|
||||||
menuItem.addActionListener(new ActionListener() {
|
menuItem.addActionListener(wrapActionListener(
|
||||||
|
new ActionListener() {
|
||||||
public void actionPerformed(ActionEvent ev)
|
public void actionPerformed(ActionEvent ev)
|
||||||
{
|
{
|
||||||
onInvokeDisasterClicked(Disaster.MONSTER);
|
onInvokeDisasterClicked(Disaster.MONSTER);
|
||||||
}
|
}
|
||||||
});
|
}));
|
||||||
disastersMenu.add(menuItem);
|
disastersMenu.add(menuItem);
|
||||||
|
|
||||||
menuItem = new JMenuItem(strings.getString("menu.disasters.FIRE"));
|
menuItem = new JMenuItem(strings.getString("menu.disasters.FIRE"));
|
||||||
menuItem.addActionListener(new ActionListener() {
|
menuItem.addActionListener(wrapActionListener(
|
||||||
|
new ActionListener() {
|
||||||
public void actionPerformed(ActionEvent ev)
|
public void actionPerformed(ActionEvent ev)
|
||||||
{
|
{
|
||||||
onInvokeDisasterClicked(Disaster.FIRE);
|
onInvokeDisasterClicked(Disaster.FIRE);
|
||||||
}
|
}
|
||||||
});
|
}));
|
||||||
disastersMenu.add(menuItem);
|
disastersMenu.add(menuItem);
|
||||||
|
|
||||||
menuItem = new JMenuItem(strings.getString("menu.disasters.FLOOD"));
|
menuItem = new JMenuItem(strings.getString("menu.disasters.FLOOD"));
|
||||||
menuItem.addActionListener(new ActionListener() {
|
menuItem.addActionListener(wrapActionListener(
|
||||||
|
new ActionListener() {
|
||||||
public void actionPerformed(ActionEvent ev)
|
public void actionPerformed(ActionEvent ev)
|
||||||
{
|
{
|
||||||
onInvokeDisasterClicked(Disaster.FLOOD);
|
onInvokeDisasterClicked(Disaster.FLOOD);
|
||||||
}
|
}
|
||||||
});
|
}));
|
||||||
disastersMenu.add(menuItem);
|
disastersMenu.add(menuItem);
|
||||||
|
|
||||||
menuItem = new JMenuItem(strings.getString("menu.disasters.MELTDOWN"));
|
menuItem = new JMenuItem(strings.getString("menu.disasters.MELTDOWN"));
|
||||||
menuItem.addActionListener(new ActionListener() {
|
menuItem.addActionListener(wrapActionListener(
|
||||||
|
new ActionListener() {
|
||||||
public void actionPerformed(ActionEvent ev)
|
public void actionPerformed(ActionEvent ev)
|
||||||
{
|
{
|
||||||
onInvokeDisasterClicked(Disaster.MELTDOWN);
|
onInvokeDisasterClicked(Disaster.MELTDOWN);
|
||||||
}
|
}
|
||||||
});
|
}));
|
||||||
disastersMenu.add(menuItem);
|
disastersMenu.add(menuItem);
|
||||||
|
|
||||||
menuItem = new JMenuItem(strings.getString("menu.disasters.TORNADO"));
|
menuItem = new JMenuItem(strings.getString("menu.disasters.TORNADO"));
|
||||||
menuItem.addActionListener(new ActionListener() {
|
menuItem.addActionListener(wrapActionListener(
|
||||||
|
new ActionListener() {
|
||||||
public void actionPerformed(ActionEvent ev)
|
public void actionPerformed(ActionEvent ev)
|
||||||
{
|
{
|
||||||
onInvokeDisasterClicked(Disaster.TORNADO);
|
onInvokeDisasterClicked(Disaster.TORNADO);
|
||||||
}
|
}
|
||||||
});
|
}));
|
||||||
disastersMenu.add(menuItem);
|
disastersMenu.add(menuItem);
|
||||||
|
|
||||||
menuItem = new JMenuItem(strings.getString("menu.disasters.EARTHQUAKE"));
|
menuItem = new JMenuItem(strings.getString("menu.disasters.EARTHQUAKE"));
|
||||||
menuItem.addActionListener(new ActionListener() {
|
menuItem.addActionListener(wrapActionListener(
|
||||||
|
new ActionListener() {
|
||||||
public void actionPerformed(ActionEvent ev)
|
public void actionPerformed(ActionEvent ev)
|
||||||
{
|
{
|
||||||
onInvokeDisasterClicked(Disaster.EARTHQUAKE);
|
onInvokeDisasterClicked(Disaster.EARTHQUAKE);
|
||||||
}
|
}
|
||||||
});
|
}));
|
||||||
disastersMenu.add(menuItem);
|
disastersMenu.add(menuItem);
|
||||||
|
|
||||||
JMenu priorityMenu = new JMenu(strings.getString("menu.speed"));
|
JMenu priorityMenu = new JMenu(strings.getString("menu.speed"));
|
||||||
|
@ -521,52 +537,57 @@ public class MainWindow extends JFrame
|
||||||
|
|
||||||
priorityMenuItems = new EnumMap<Speed,JMenuItem>(Speed.class);
|
priorityMenuItems = new EnumMap<Speed,JMenuItem>(Speed.class);
|
||||||
menuItem = new JRadioButtonMenuItem(strings.getString("menu.speed.SUPER_FAST"));
|
menuItem = new JRadioButtonMenuItem(strings.getString("menu.speed.SUPER_FAST"));
|
||||||
menuItem.addActionListener(new ActionListener() {
|
menuItem.addActionListener(wrapActionListener(
|
||||||
|
new ActionListener() {
|
||||||
public void actionPerformed(ActionEvent ev)
|
public void actionPerformed(ActionEvent ev)
|
||||||
{
|
{
|
||||||
onPriorityClicked(Speed.SUPER_FAST);
|
onPriorityClicked(Speed.SUPER_FAST);
|
||||||
}
|
}
|
||||||
});
|
}));
|
||||||
priorityMenu.add(menuItem);
|
priorityMenu.add(menuItem);
|
||||||
priorityMenuItems.put(Speed.SUPER_FAST, menuItem);
|
priorityMenuItems.put(Speed.SUPER_FAST, menuItem);
|
||||||
|
|
||||||
menuItem = new JRadioButtonMenuItem(strings.getString("menu.speed.FAST"));
|
menuItem = new JRadioButtonMenuItem(strings.getString("menu.speed.FAST"));
|
||||||
menuItem.addActionListener(new ActionListener() {
|
menuItem.addActionListener(wrapActionListener(
|
||||||
|
new ActionListener() {
|
||||||
public void actionPerformed(ActionEvent ev)
|
public void actionPerformed(ActionEvent ev)
|
||||||
{
|
{
|
||||||
onPriorityClicked(Speed.FAST);
|
onPriorityClicked(Speed.FAST);
|
||||||
}
|
}
|
||||||
});
|
}));
|
||||||
priorityMenu.add(menuItem);
|
priorityMenu.add(menuItem);
|
||||||
priorityMenuItems.put(Speed.FAST, menuItem);
|
priorityMenuItems.put(Speed.FAST, menuItem);
|
||||||
|
|
||||||
menuItem = new JRadioButtonMenuItem(strings.getString("menu.speed.NORMAL"));
|
menuItem = new JRadioButtonMenuItem(strings.getString("menu.speed.NORMAL"));
|
||||||
menuItem.addActionListener(new ActionListener() {
|
menuItem.addActionListener(wrapActionListener(
|
||||||
|
new ActionListener() {
|
||||||
public void actionPerformed(ActionEvent ev)
|
public void actionPerformed(ActionEvent ev)
|
||||||
{
|
{
|
||||||
onPriorityClicked(Speed.NORMAL);
|
onPriorityClicked(Speed.NORMAL);
|
||||||
}
|
}
|
||||||
});
|
}));
|
||||||
priorityMenu.add(menuItem);
|
priorityMenu.add(menuItem);
|
||||||
priorityMenuItems.put(Speed.NORMAL, menuItem);
|
priorityMenuItems.put(Speed.NORMAL, menuItem);
|
||||||
|
|
||||||
menuItem = new JRadioButtonMenuItem(strings.getString("menu.speed.SLOW"));
|
menuItem = new JRadioButtonMenuItem(strings.getString("menu.speed.SLOW"));
|
||||||
menuItem.addActionListener(new ActionListener() {
|
menuItem.addActionListener(wrapActionListener(
|
||||||
|
new ActionListener() {
|
||||||
public void actionPerformed(ActionEvent ev)
|
public void actionPerformed(ActionEvent ev)
|
||||||
{
|
{
|
||||||
onPriorityClicked(Speed.SLOW);
|
onPriorityClicked(Speed.SLOW);
|
||||||
}
|
}
|
||||||
});
|
}));
|
||||||
priorityMenu.add(menuItem);
|
priorityMenu.add(menuItem);
|
||||||
priorityMenuItems.put(Speed.SLOW, menuItem);
|
priorityMenuItems.put(Speed.SLOW, menuItem);
|
||||||
|
|
||||||
menuItem = new JRadioButtonMenuItem(strings.getString("menu.speed.PAUSED"));
|
menuItem = new JRadioButtonMenuItem(strings.getString("menu.speed.PAUSED"));
|
||||||
menuItem.addActionListener(new ActionListener() {
|
menuItem.addActionListener(wrapActionListener(
|
||||||
|
new ActionListener() {
|
||||||
public void actionPerformed(ActionEvent ev)
|
public void actionPerformed(ActionEvent ev)
|
||||||
{
|
{
|
||||||
onPriorityClicked(Speed.PAUSED);
|
onPriorityClicked(Speed.PAUSED);
|
||||||
}
|
}
|
||||||
});
|
}));
|
||||||
priorityMenu.add(menuItem);
|
priorityMenu.add(menuItem);
|
||||||
priorityMenuItems.put(Speed.PAUSED, menuItem);
|
priorityMenuItems.put(Speed.PAUSED, menuItem);
|
||||||
|
|
||||||
|
@ -574,42 +595,46 @@ public class MainWindow extends JFrame
|
||||||
menuBar.add(windowsMenu);
|
menuBar.add(windowsMenu);
|
||||||
|
|
||||||
menuItem = new JMenuItem(strings.getString("menu.windows.budget"));
|
menuItem = new JMenuItem(strings.getString("menu.windows.budget"));
|
||||||
menuItem.addActionListener(new ActionListener() {
|
menuItem.addActionListener(wrapActionListener(
|
||||||
|
new ActionListener() {
|
||||||
public void actionPerformed(ActionEvent ev)
|
public void actionPerformed(ActionEvent ev)
|
||||||
{
|
{
|
||||||
onViewBudgetClicked();
|
onViewBudgetClicked();
|
||||||
}
|
}
|
||||||
});
|
}));
|
||||||
windowsMenu.add(menuItem);
|
windowsMenu.add(menuItem);
|
||||||
|
|
||||||
menuItem = new JMenuItem(strings.getString("menu.windows.evaluation"));
|
menuItem = new JMenuItem(strings.getString("menu.windows.evaluation"));
|
||||||
menuItem.addActionListener(new ActionListener() {
|
menuItem.addActionListener(wrapActionListener(
|
||||||
|
new ActionListener() {
|
||||||
public void actionPerformed(ActionEvent ev)
|
public void actionPerformed(ActionEvent ev)
|
||||||
{
|
{
|
||||||
onViewEvaluationClicked();
|
onViewEvaluationClicked();
|
||||||
}
|
}
|
||||||
});
|
}));
|
||||||
windowsMenu.add(menuItem);
|
windowsMenu.add(menuItem);
|
||||||
|
|
||||||
menuItem = new JMenuItem(strings.getString("menu.windows.graph"));
|
menuItem = new JMenuItem(strings.getString("menu.windows.graph"));
|
||||||
menuItem.addActionListener(new ActionListener() {
|
menuItem.addActionListener(wrapActionListener(
|
||||||
|
new ActionListener() {
|
||||||
public void actionPerformed(ActionEvent ev)
|
public void actionPerformed(ActionEvent ev)
|
||||||
{
|
{
|
||||||
onViewGraphClicked();
|
onViewGraphClicked();
|
||||||
}
|
}
|
||||||
});
|
}));
|
||||||
windowsMenu.add(menuItem);
|
windowsMenu.add(menuItem);
|
||||||
|
|
||||||
JMenu helpMenu = new JMenu(strings.getString("menu.help"));
|
JMenu helpMenu = new JMenu(strings.getString("menu.help"));
|
||||||
menuBar.add(helpMenu);
|
menuBar.add(helpMenu);
|
||||||
|
|
||||||
menuItem = new JMenuItem(strings.getString("menu.help.about"));
|
menuItem = new JMenuItem(strings.getString("menu.help.about"));
|
||||||
menuItem.addActionListener(new ActionListener() {
|
menuItem.addActionListener(wrapActionListener(
|
||||||
|
new ActionListener() {
|
||||||
public void actionPerformed(ActionEvent ev)
|
public void actionPerformed(ActionEvent ev)
|
||||||
{
|
{
|
||||||
onAboutClicked();
|
onAboutClicked();
|
||||||
}
|
}
|
||||||
});
|
}));
|
||||||
helpMenu.add(menuItem);
|
helpMenu.add(menuItem);
|
||||||
|
|
||||||
setJMenuBar(menuBar);
|
setJMenuBar(menuBar);
|
||||||
|
|
Reference in a new issue