Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在JFrame中显示的jTabbedPane之间切换_Java_Swing_Joptionpane_Jtabbedpane - Fatal编程技术网

Java 在JFrame中显示的jTabbedPane之间切换

Java 在JFrame中显示的jTabbedPane之间切换,java,swing,joptionpane,jtabbedpane,Java,Swing,Joptionpane,Jtabbedpane,我有一个数学游戏,有两种模式,每种模式有五个难度。我希望让玩家可以选择查看游戏历史的图表表示,以及表格表示(出于我的目的,这是一个beta测试)。表格部分,我已经做过了,但现在的问题是如何实现我的图表想法。因此,我的想法是: 制作只有两个菜单项的菜单(两种游戏模式) 对于每种模式,制作一个JTabbedPane,其中包含五个图表(五个难点) 问题是,尽管我可以使菜单项相互排斥(很简单!),但使它只显示一个JTabbedPane,而另一个动物显示另一个JTabbedPane。默认情况下,我可以

我有一个数学游戏,有两种模式,每种模式有五个难度。我希望让玩家可以选择查看游戏历史的图表表示,以及表格表示(出于我的目的,这是一个beta测试)。表格部分,我已经做过了,但现在的问题是如何实现我的图表想法。因此,我的想法是:

  • 制作只有两个菜单项的菜单(两种游戏模式)
  • 对于每种模式,制作一个JTabbedPane,其中包含五个图表(五个难点)
问题是,尽管我可以使菜单项相互排斥(很简单!),但使它只显示一个JTabbedPane,而另一个动物显示另一个JTabbedPane。默认情况下,我可以从菜单中选择一个项目(默认情况下会显示一个JTabbedPane),我知道我可以检查选择了哪个JMenuItem,然后执行如下操作:

if (otherTabbedPaneIsShowing)
{
    tableFrame.remove(otherTabbedPane);
}
tableFrame.add(desiredTabbedPane);
//这当然是伪代码,但你明白了。
我主要关心的是这种方法隐藏的算法复杂性。这会是一项耗时的工作吗?如果是的话,有没有“更好”的方法来完成我想做的事情?

我根本不知道有这样的方法存在!我现在不在学校,我从这样的经历和像你这样的人身上学到了很多!非常感谢。我可能需要研究一个这样的例子;我在我的(旧的)Java6书中找不到它……而且由于JTabbedPane是一个组件,我可以简单地将两个JTabbedPane添加到CardLayout中!另一种选择模式和难度的方法被引用。