Package examples

Class BlockingExample1


public class BlockingExample1 extends SingleFrameApplication
A demo of the @Action block options for background task. It's an example of three of the Action.Block types:
 @Action(block = Task.BlockingScope.ACTION)  
 public Task blockAction() { ... }
 
 @Action(block = Task.BlockingScope.COMPONENT) 
 public Task blockComponent() { ... }
 
 @Action(block = Task.BlockingScope.WINDOW) 
 public Task blockWindow() { ... }
 
 @Action(block = Task.BlockingScope.APPLICATION)
 public Task blockApplication() { ... }
 
The first BlockingScope.ACTION @Action disables the corresponding Action while blockAction method runs. When you press the blockAction button or toolbar-button or menu item you'll observe that all of the components are disabled. The BlockingScope.COMPONENT version only disables the component that triggered the action. The Block.WINDOW method uses a custom inputBlocker to temporarily block input to the by making the window's glass pane visible. And the Task.BlockingScope.APPLICATION version pops up a modal dialog for the action's duration. The blocking dialog's title/message/icon are defined by resources from the ResourceBundle named BlockingExample1:
 BlockingDialog.title = Blocking Application 
 BlockingDialog.message = Please wait patiently ...
 Action.BlockingDialog.icon = wait.png
 

All of the actions in this example just sleep for about 2 seconds, while periodically updating their Task's message/progress properties.

This class loads resources from the ResourceBundle called BlockingExample1. It depends on the example StatusBar class.

See Also: