AddAction というコールバック アクションがあります。AddAction が押されたら、TopComponent のすべてのコンポーネントを有効にし、ツールバーの他のいくつかのアクションを無効にします。次に、SaveAction を押すと、データがデータベースに保存され、他のアクションが有効になり、TC のすべてのコンポーネントが無効になります。
現在、すべてのコンポーネントを有効にする AddAction セットアップがありますが、他のアクションも無効にする方法がわかりません。
AddAction
@ActionID(
category = "1",
id = "com.waudware.Actions.AddAction")
@ActionRegistration(
iconBase = "com/waudware/Actions/Icons/add.png",
displayName = "#CTL_AddAction",
key = "AddAction")
@ActionReferences({
@ActionReference(path = "Menu/Record", position = 3333),
@ActionReference(path = "Toolbars/AddEditDelete", position = 100)
})
@Messages("CTL_AddAction=Add")
public final class EditAction implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
}
}
トップコンポーネント
public RouteTopComponent() {
initComponents();
setName(Bundle.CTL_RouteTopComponent());
setToolTipText(Bundle.HINT_RouteTopComponent());
getActionMap().put("AddAction", new AbstractAction(){
@Override
public void actionPerformed(ActionEvent e) {
addRoute(true);
}
});
}
private void addRoute(boolean add) {
txtRoute.setEnabled(add);
}