Performing Actions
We'll look at PhotoViewerTopComponent in a moment, but there are a few more items we need to look at before moving on to that.
PhotoNode overrides two additional methods, which are as follows:
@Override
public Action[] getActions(boolean context) {
return new Action[]{SystemAction.get(OpenAction.class)};
}
@Override
public Action getPreferredAction() {
return SystemAction.get(OpenAction.class);
} Unsurprisingly, the getActions() method returns an array of Actions for this Node. Actions are an abstraction (from Swing, not NetBeans) that allow us to add items to menus, and provide a means for a user to interact with the system. Each entry you see in the main menu or a context menu is backed by an Action. In our case, we're associating the NetBeans-defined OpenAction with our node, which will, when clicked, look for an OpenCookie instance in the Node's lookup and call OpenCookie.open(), which we defined previously.
We also override...