[JSR-296;appframework] InputBlocker pour une Task
	
	
		Salut,
Je souhaiterais créer mon propre InputBlocker, tout comme l'a fait Hans Muller, le créateur de l'appframework, dans cet exemple : BusyIndicatorInputBlocker extends InputBlocker
J'ai donc écrit ce code (@Action) qui appelle une ma classe Task nommée StartPanelCommandButtonsActionTask :
	Code:
	
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 
 | 	/**
         * Start inventory.
         * @return Task for task monitor
         */
	@Action
	protected Task startPanelCommandButtonsAction()
	{
		// code...
 
		// Set components blocker
		StartPanelCommandButtonsActionTask startPanelCommandButtonsActionTask = new StartPanelCommandButtonsActionTask();
		startPanelCommandButtonsActionTask.setInputBlocker(new ComponentsBlocker(startPanelCommandButtonsActionTask, 
																			new JComponent[]{btnStartPanelCommandButtons, 
																							btnResumePanelCommandButtons}));
		return startPanelCommandButtonsActionTask;
 
	} | 
 Mon InputBlocker nommé ComponentsBlocker :
	Code:
	
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 
 | 	class ComponentsBlocker extends InputBlocker
	{
		List<JComponent> listComponents;
		/**
                 * Constructor.
                 * @param task
                 * @param components
                 */
		public ComponentsBlocker(Task task, JComponent[] components)
		{
			super(task, Task.BlockingScope.NONE, null);
			listComponents = Arrays.asList(components);
			LOGGER.debug("ComponentsBlocker set with : " + listComponents);
		}
 
		/**
                 * @see org.jdesktop.application.Task.InputBlocker#block()
                 */
		@Override
		protected void block()
		{
			LOGGER.debug("block");
			for(JComponent component : listComponents)
			{
				component.setEnabled(false);
			}
		}
		/**
                 * @see org.jdesktop.application.Task.InputBlocker#unblock()
                 */
		@Override
		protected void unblock()
		{
			LOGGER.debug("unblock");
			for(JComponent component : listComponents)
			{
				component.setEnabled(true);
			}
		}
	} | 
 
Seul problème, les méthodes block et unblock ne sont jamais appelées par le TaskService lors de l'exécution de ma Task.
Avez-vous des idées ou déjà essayé qqchose du genre ?
Thx,
Bapt.ice.