想在程序中把菜单项隐藏,设置属性setVisible(FALSE)后菜单隐藏了,但是与Jmenu关联的快捷键无法使用,问下有其他方法来实现么?private JMenuBar createMenuBar() {
final JMenuBar menuBar = new JMenuBar();
JMenu menuOperate = new JMenu("Operate");
                
JMenuItem menuItemLeft = new JMenuItem("back step");
                
menuItemLeft.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_J, 0));
menuItemLeft.addActionListener(new ActionListener()
{ @Override
public void actionPerformed(ActionEvent e)
{
KeyEvent key = new KeyEvent(menuBar, 0, 0, 0, KeyEvent.VK_J, 'J');
JSlider sliderScrub = panelClipBrowser.getSliderScrub();
JSlider vtrSliderScrub = vtrViewer.getSliderScrub();
if (KeyEvent.VK_J == key.getKeyCode())
{
if (0 == index)
{
value = sliderScrub.getValue();
if (value < 0)
{
value = 0;
}
else
{
value -= 1;
}
sliderScrub.setValue(value);
}
if (3 == index)
{
tempValue = vtrSliderScrub.getValue();
if (tempValue < 0)
{
tempValue = 0;
}
else
{
tempValue -= 1;
}
}
vtrSliderScrub.setValue(tempValue);
}
}
});
JMenuItem menuItemRight = new JMenuItem("forward step");
menuItemRight.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_L, 0));
menuItemRight.addActionListener(new ActionListener()
{ @Override
public void actionPerformed(ActionEvent e)
{
KeyEvent key = new KeyEvent(menuBar, 0, 0, 0, KeyEvent.VK_L, 'L');
JSlider sliderScrub = panelClipBrowser.getSliderScrub();
JSlider vtrSliderScrub = vtrViewer.getSliderScrub();
if (KeyEvent.VK_L == key.getKeyCode())
{ if (0 == index)
{
value = sliderScrub.getValue();
if (value > sliderScrub.getMaximum())
{
value = sliderScrub.getMaximum();
}
value += 1;
sliderScrub.setValue(value);
}
if (3 == index)
{
tempValue = vtrSliderScrub.getValue(); if (tempValue > vtrSliderScrub.getMaximum())
{
tempValue = vtrSliderScrub.getMaximum();
}
tempValue += 1; vtrSliderScrub.setValue(tempValue);
}
} }
});
menuOperate.add(menuItemLeft);
menuOperate.add(menuItemRight);
menuBar.add(menuOperate);
                menuOperate.setVisible(false);
return menuBar;
}