examples
Class BlockingExample1

java.lang.Object
  extended by org.jdesktop.application.AbstractBean
      extended by org.jdesktop.application.Application
          extended by org.jdesktop.application.SingleFrameApplication
              extended by examples.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

Nested Class Summary
 
Nested classes/interfaces inherited from class org.jdesktop.application.Application
Application.ExitListener
 
Constructor Summary
BlockingExample1()
           
 
Method Summary
 Task blockAction()
           
 Task blockApplication()
           
 Task blockComponent()
           
 Task blockWindow()
           
static void main(java.lang.String[] args)
           
protected  void startup()
          Responsible for starting the application; for creating and showing the initial GUI.
 
Methods inherited from class org.jdesktop.application.SingleFrameApplication
configureWindow, getMainFrame, getMainView, setMainFrame, show, show, show, show, shutdown
 
Methods inherited from class org.jdesktop.application.Application
addExitListener, end, exit, exit, getContext, getExitListeners, getInstance, getInstance, hide, initialize, launch, quit, ready, removeExitListener
 
Methods inherited from class org.jdesktop.application.AbstractBean
addPropertyChangeListener, addPropertyChangeListener, firePropertyChange, firePropertyChange, getPropertyChangeListeners, removePropertyChangeListener, removePropertyChangeListener
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BlockingExample1

public BlockingExample1()
Method Detail

startup

protected void startup()
Description copied from class: Application
Responsible for starting the application; for creating and showing the initial GUI.

This method is called by the static launch method, subclasses must override it. It runs on the event dispatching thread.

Specified by:
startup in class Application
See Also:
Application.launch(java.lang.Class, java.lang.String[]), Application.initialize(java.lang.String[]), Application.shutdown()

blockAction

@Action(block=ACTION)
public Task blockAction()

blockComponent

@Action(block=COMPONENT)
public Task blockComponent()

blockWindow

@Action(block=WINDOW)
public Task blockWindow()

blockApplication

@Action(block=APPLICATION)
public Task blockApplication()

main

public static void main(java.lang.String[] args)