gvsig-tools / org.gvsig.tools / library / trunk / org.gvsig.tools / org.gvsig.tools.main / src / main / java / org / gvsig / tools / main / taskstatus / JTaskStatusAction.java @ 454
History | View | Annotate | Download (1.9 KB)
1 |
package org.gvsig.tools.main.taskstatus; |
---|---|
2 |
|
3 |
import java.awt.FlowLayout; |
4 |
|
5 |
import javax.swing.JComponent; |
6 |
import javax.swing.JPanel; |
7 |
import javax.swing.JTabbedPane; |
8 |
|
9 |
import org.gvsig.tools.main.MainAction; |
10 |
import org.gvsig.tools.swing.api.ToolsSwingLocator; |
11 |
import org.gvsig.tools.swing.api.task.JTaskStatus; |
12 |
import org.gvsig.tools.swing.api.task.TaskStatusSwingManager; |
13 |
import org.gvsig.tools.task.AbstractMonitorableTask; |
14 |
|
15 |
public class JTaskStatusAction extends MainAction { |
16 |
|
17 |
/**
|
18 |
*
|
19 |
*/
|
20 |
private static final long serialVersionUID = -5408828606365712614L; |
21 |
|
22 |
public JTaskStatusAction(JTabbedPane tabbedPane) { |
23 |
super("Task status", tabbedPane); |
24 |
putValue(SHORT_DESCRIPTION, "Task status");
|
25 |
} |
26 |
|
27 |
private class MiTask extends AbstractMonitorableTask { |
28 |
|
29 |
private int max; |
30 |
|
31 |
public MiTask(String tittle, int max) { |
32 |
super(tittle);
|
33 |
this.max = max;
|
34 |
} |
35 |
public void run() { |
36 |
this.taskStatus.setRangeOfValues(0, this.max); |
37 |
for(int i=0; i<this.max; i++ ) { |
38 |
this.taskStatus.setCurValue(i);
|
39 |
try {
|
40 |
Thread.sleep(100); |
41 |
} catch (InterruptedException e) { |
42 |
// Ignore
|
43 |
} |
44 |
if( this.taskStatus.isCancellationRequested() ) { |
45 |
this.taskStatus.cancel();
|
46 |
break;
|
47 |
} |
48 |
} |
49 |
if( this.taskStatus.isRunning() ) { |
50 |
this.taskStatus.teminate();
|
51 |
} |
52 |
} |
53 |
} |
54 |
|
55 |
protected JComponent createComponent() { |
56 |
TaskStatusSwingManager manager = ToolsSwingLocator.getTaskStatusSwingManager(); |
57 |
JPanel panel = new JPanel(); |
58 |
panel.setLayout( new FlowLayout()); |
59 |
panel.add( manager.createJTasksStatus() ); |
60 |
JTaskStatus taskStatusPanel = manager.createJTaskStatus(); |
61 |
panel.add( taskStatusPanel ); |
62 |
|
63 |
MiTask task1 = new MiTask("Task1",100); |
64 |
task1.start(); |
65 |
MiTask task2 = new MiTask("Task2",300); |
66 |
task2.start(); |
67 |
MiTask task3 = new MiTask("Task3",1000); |
68 |
task3.start(); |
69 |
|
70 |
taskStatusPanel.bind(task1.getTaskStatus()); |
71 |
return panel;
|
72 |
} |
73 |
|
74 |
protected String getComponentTitle() { |
75 |
return "Task status"; |
76 |
} |
77 |
|
78 |
} |