我有一個名爲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) {
}
}
的TopComponent
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);
}
我想我可能被誤解的答案,但在NetBeans平臺沒有按」 t使用swing Action,它會自動生成一個實現ActionListener的類,並且據我所知它沒有setEnabled()方法。 – user1686524
不是,AbstractAction中的方法也是如此 – mKorbel