Gau*_*sad 1 java swing disabled-control jmenu
我在菜单栏中创建了一个菜单,我想创建一个菜单JCheckBoxMenuItem来设置突出显示剩余菜单项的条件.
像下面的伪代码:
if login(true)
then highlight remaining menuitems
else
un-highlight the menuitems
Run Code Online (Sandbox Code Playgroud)
我认为突出显示你的意思是启用/禁用JMenuItem.那是可能的.
使用setEnabled:
JMenuItem item;
item.setEnabled(false); //to disable
Run Code Online (Sandbox Code Playgroud)
像kleopatra建议的那样,最好的方法是为每个JMenuItem实现自己的操作,然后让你的动作根据状态启用/禁用按钮:
例如:
public class AMenuAction extends AbstractAction {
@override
public void actionPerformed(ActionEvent e) {
//implement your action behavior here
}
}
Run Code Online (Sandbox Code Playgroud)
然后用这样的动作构造你的JMenuItem:
AMenuAction afterLoginAction = new AMenuAction();
JMenuItem item = new JMenuItem(afterLoginAction );
Run Code Online (Sandbox Code Playgroud)
当用户登录/注出所需动作时调用setEnabled方法.
void Login()
{
afterLoginAction.setEnabled(true);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1939 次 |
| 最近记录: |