我有一个JMenuBar
,我有一个JTabbedPane
,当我创建多个选项卡时,JMenuBar
在所有选项卡上都这样做,例如我打开一个文件,它在每个选项卡中打开相同的文件。
然而,我只希望它在当前选项卡上打开一个文件。我已经添加了一个ChangeListener
,所以它知道它在什么标签,但它似乎没有帮助,即使它的工作。
tabbedPane.addChangeListener(new ChangeListener() {
public void stateChanged(ChangeEvent e) {
System.out.println("Tab=" + tabbedPane.getSelectedIndex());
}
});
getContentPane().add(tabbedPane, "Center");
pack();
我希望能够有多个选项卡打开,而菜单栏只对应于当前选项卡。
让提供每个选项卡内容的对象导出它自己特定的Action
实例。当用户更改选项卡时,使用setAction()
在全局菜单中设置每个可用JMenuItem
的所需操作。这里有一个相关的例子