|
@@ -33,10 +33,10 @@ import java.awt.Window;
|
33
|
33
|
import java.awt.event.MouseEvent;
|
34
|
34
|
import java.awt.event.MouseListener;
|
35
|
35
|
import java.util.Date;
|
36
|
|
-import java.util.LinkedList;
|
37
|
36
|
import java.util.Queue;
|
38
|
37
|
import java.util.Timer;
|
39
|
38
|
import java.util.TimerTask;
|
|
39
|
+import java.util.concurrent.ConcurrentLinkedQueue;
|
40
|
40
|
|
41
|
41
|
import javax.swing.JLabel;
|
42
|
42
|
import javax.swing.JPanel;
|
|
@@ -71,10 +71,12 @@ public class MessageLabel extends JPanel implements StatusBarComponent,
|
71
|
71
|
|
72
|
72
|
/**
|
73
|
73
|
* Instantiates a new message label.
|
|
74
|
+ *
|
|
75
|
+ * @param parentWindow Parent window
|
74
|
76
|
*/
|
75
|
77
|
public MessageLabel(final Window parentWindow) {
|
76
|
78
|
super(new MigLayout("fill, ins 0, gap 0 0"));
|
77
|
|
- queue = new LinkedList<StatusMessage>();
|
|
79
|
+ queue = new ConcurrentLinkedQueue<StatusMessage>();
|
78
|
80
|
defaultMessage = new StatusMessage(null, "Ready.", null, -1,
|
79
|
81
|
IdentityManager.getGlobalConfig());
|
80
|
82
|
currentMessage = defaultMessage;
|
|
@@ -185,12 +187,10 @@ public class MessageLabel extends JPanel implements StatusBarComponent,
|
185
|
187
|
* @param message Message object to show
|
186
|
188
|
*/
|
187
|
189
|
public void setMessage(final StatusMessage message) {
|
188
|
|
- synchronized(queue) {
|
189
|
|
- queue.add(message);
|
190
|
|
- if (queue.size() == 1) {
|
191
|
|
- currentMessage = message;
|
192
|
|
- updateCurrentMessage();
|
193
|
|
- }
|
|
190
|
+ queue.add(message);
|
|
191
|
+ if (queue.size() == 1) {
|
|
192
|
+ currentMessage = message;
|
|
193
|
+ updateCurrentMessage();
|
194
|
194
|
}
|
195
|
195
|
}
|
196
|
196
|
|
|
@@ -229,15 +229,13 @@ public class MessageLabel extends JPanel implements StatusBarComponent,
|
229
|
229
|
* Removes the message from the status bar.
|
230
|
230
|
*/
|
231
|
231
|
public void clearMessage() {
|
232
|
|
- synchronized(queue) {
|
233
|
|
- historyLabel.addMessage(currentMessage);
|
234
|
|
- if (queue.peek() == null) {
|
235
|
|
- currentMessage = defaultMessage;
|
236
|
|
- } else {
|
237
|
|
- currentMessage = queue.poll();
|
238
|
|
- }
|
239
|
|
- updateCurrentMessage();
|
|
232
|
+ historyLabel.addMessage(currentMessage);
|
|
233
|
+ if (queue.size() <= 1) {
|
|
234
|
+ currentMessage = defaultMessage;
|
|
235
|
+ } else {
|
|
236
|
+ currentMessage = queue.poll();
|
240
|
237
|
}
|
|
238
|
+ updateCurrentMessage();
|
241
|
239
|
}
|
242
|
240
|
|
243
|
241
|
/**
|