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:
    ApplicationContext, Application, Action, Task, TaskMonitor, StatusBar