|
@@ -124,7 +124,8 @@ public class WizardPanel extends JPanel implements ActionListener,
|
124
|
124
|
titlePanel.setBackground(Color.WHITE);
|
125
|
125
|
titlePanel.setBorder(BorderFactory.createMatteBorder(0, 0, 1, 0,
|
126
|
126
|
Color.BLACK));
|
127
|
|
- titlePanel.setBorder(new EtchedLineBorder(EtchedBorder.LOWERED, BorderSide.BOTTOM));
|
|
127
|
+ titlePanel.setBorder(new EtchedLineBorder(EtchedBorder.LOWERED,
|
|
128
|
+ BorderSide.BOTTOM));
|
128
|
129
|
|
129
|
130
|
final JPanel progressPanel = new JPanel(new MigLayout("fill"));
|
130
|
131
|
progressPanel.add(progressLabel, "growx");
|
|
@@ -132,7 +133,8 @@ public class WizardPanel extends JPanel implements ActionListener,
|
132
|
133
|
progressPanel.add(next, "sg button");
|
133
|
134
|
progressPanel.setBorder(BorderFactory.createMatteBorder(1, 0, 0, 0,
|
134
|
135
|
Color.BLACK));
|
135
|
|
- progressPanel.setBorder(new EtchedLineBorder(EtchedBorder.LOWERED, BorderSide.TOP));
|
|
136
|
+ progressPanel.setBorder(new EtchedLineBorder(EtchedBorder.LOWERED,
|
|
137
|
+ BorderSide.TOP));
|
136
|
138
|
|
137
|
139
|
setLayout(new MigLayout("fill, wrap 1, ins 0"));
|
138
|
140
|
add(titlePanel, "growx");
|
|
@@ -258,7 +260,9 @@ public class WizardPanel extends JPanel implements ActionListener,
|
258
|
260
|
* @param listener
|
259
|
261
|
*/
|
260
|
262
|
public void addStepListener(final StepListener listener) {
|
261
|
|
- stepListeners.add(StepListener.class, listener);
|
|
263
|
+ synchronized (stepListeners) {
|
|
264
|
+ stepListeners.add(StepListener.class, listener);
|
|
265
|
+ }
|
262
|
266
|
}
|
263
|
267
|
|
264
|
268
|
/**
|
|
@@ -267,7 +271,9 @@ public class WizardPanel extends JPanel implements ActionListener,
|
267
|
271
|
* @param listener
|
268
|
272
|
*/
|
269
|
273
|
public void removeStepListener(final StepListener listener) {
|
270
|
|
- stepListeners.remove(StepListener.class, listener);
|
|
274
|
+ synchronized (stepListeners) {
|
|
275
|
+ stepListeners.remove(StepListener.class, listener);
|
|
276
|
+ }
|
271
|
277
|
}
|
272
|
278
|
|
273
|
279
|
/**
|
|
@@ -276,7 +282,9 @@ public class WizardPanel extends JPanel implements ActionListener,
|
276
|
282
|
* @param listener
|
277
|
283
|
*/
|
278
|
284
|
public void addWizardListener(final WizardListener listener) {
|
279
|
|
- stepListeners.add(WizardListener.class, listener);
|
|
285
|
+ synchronized (stepListeners) {
|
|
286
|
+ stepListeners.add(WizardListener.class, listener);
|
|
287
|
+ }
|
280
|
288
|
}
|
281
|
289
|
|
282
|
290
|
/**
|
|
@@ -285,7 +293,9 @@ public class WizardPanel extends JPanel implements ActionListener,
|
285
|
293
|
* @param listener
|
286
|
294
|
*/
|
287
|
295
|
public void removeWizardListener(final WizardListener listener) {
|
288
|
|
- stepListeners.remove(WizardListener.class, listener);
|
|
296
|
+ synchronized (stepListeners) {
|
|
297
|
+ stepListeners.remove(WizardListener.class, listener);
|
|
298
|
+ }
|
289
|
299
|
}
|
290
|
300
|
|
291
|
301
|
/**
|
|
@@ -294,10 +304,12 @@ public class WizardPanel extends JPanel implements ActionListener,
|
294
|
304
|
* @param step Step to be displayed
|
295
|
305
|
*/
|
296
|
306
|
private void fireStepAboutToBeDisplayed(final Step step) {
|
297
|
|
- List<StepListener> listeners =
|
298
|
|
- stepListeners.get(StepListener.class);
|
299
|
|
- for (StepListener listener : listeners) {
|
300
|
|
- listener.stepAboutToDisplay(step);
|
|
307
|
+ synchronized (stepListeners) {
|
|
308
|
+ List<StepListener> listeners =
|
|
309
|
+ stepListeners.get(StepListener.class);
|
|
310
|
+ for (StepListener listener : listeners) {
|
|
311
|
+ listener.stepAboutToDisplay(step);
|
|
312
|
+ }
|
301
|
313
|
}
|
302
|
314
|
}
|
303
|
315
|
|
|
@@ -307,10 +319,12 @@ public class WizardPanel extends JPanel implements ActionListener,
|
307
|
319
|
* @param step step thats been hidden
|
308
|
320
|
*/
|
309
|
321
|
private void fireStepHidden(final Step step) {
|
310
|
|
- List<StepListener> listeners =
|
311
|
|
- stepListeners.get(StepListener.class);
|
312
|
|
- for (StepListener listener : listeners) {
|
313
|
|
- listener.stepHidden(step);
|
|
322
|
+ synchronized (stepListeners) {
|
|
323
|
+ List<StepListener> listeners =
|
|
324
|
+ stepListeners.get(StepListener.class);
|
|
325
|
+ for (StepListener listener : listeners) {
|
|
326
|
+ listener.stepHidden(step);
|
|
327
|
+ }
|
314
|
328
|
}
|
315
|
329
|
}
|
316
|
330
|
|
|
@@ -318,10 +332,13 @@ public class WizardPanel extends JPanel implements ActionListener,
|
318
|
332
|
* Fires wizard finished events.
|
319
|
333
|
*/
|
320
|
334
|
private void fireWizardFinished() {
|
321
|
|
- List<WizardListener> listeners =
|
322
|
|
- stepListeners.get(WizardListener.class);
|
323
|
|
- for (WizardListener listener : listeners) {
|
324
|
|
- listener.wizardFinished();
|
|
335
|
+ synchronized (stepListeners) {
|
|
336
|
+ List<WizardListener> listeners =
|
|
337
|
+ stepListeners.get(WizardListener.class);
|
|
338
|
+ for (WizardListener listener : listeners) {
|
|
339
|
+ System.out.println("finished: " + listener);
|
|
340
|
+ listener.wizardFinished();
|
|
341
|
+ }
|
325
|
342
|
}
|
326
|
343
|
}
|
327
|
344
|
|
|
@@ -329,10 +346,13 @@ public class WizardPanel extends JPanel implements ActionListener,
|
329
|
346
|
* Fires wizard cancelled events.
|
330
|
347
|
*/
|
331
|
348
|
protected void fireWizardCancelled() {
|
332
|
|
- List<WizardListener> listeners =
|
333
|
|
- stepListeners.get(WizardListener.class);
|
334
|
|
- for (WizardListener listener : listeners) {
|
335
|
|
- listener.wizardCancelled();
|
|
349
|
+ synchronized (stepListeners) {
|
|
350
|
+ List<WizardListener> listeners =
|
|
351
|
+ stepListeners.get(WizardListener.class);
|
|
352
|
+ for (WizardListener listener : listeners) {
|
|
353
|
+ System.out.println("cancelled: " + listener);
|
|
354
|
+ listener.wizardCancelled();
|
|
355
|
+ }
|
336
|
356
|
}
|
337
|
357
|
}
|
338
|
358
|
}
|