Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/378.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:如何根据选择项目菜单或JTree节点来更改JPanel的内容?_Java_Swing_Jpanel_Jtree_Jmenuitem - Fatal编程技术网

Java:如何根据选择项目菜单或JTree节点来更改JPanel的内容?

Java:如何根据选择项目菜单或JTree节点来更改JPanel的内容?,java,swing,jpanel,jtree,jmenuitem,Java,Swing,Jpanel,Jtree,Jmenuitem,我是一名web开发人员,是Java新手,我想知道在选择JTree的任何节点或菜单项时如何更改JPanel的内容。因为我不想在单击任何选项时显示很多窗口,但只会重新加载程序的一部分,就像它是Web中的ajax调用一样 IE我想根据选择的选项在JPanel中显示不同的内容,但现在如何显示 如果您能给我一些提示、要使用的项目、更好的选择或一些示例,我将不胜感激。如果您是一名web开发人员,那么它应该很简单,因为它的工作方式与JavaScript类似:您需要在树(TreeSelectionListene

我是一名web开发人员,是Java新手,我想知道在选择JTree的任何节点或菜单项时如何更改JPanel的内容。因为我不想在单击任何选项时显示很多窗口,但只会重新加载程序的一部分,就像它是Web中的ajax调用一样

IE我想根据选择的选项在JPanel中显示不同的内容,但现在如何显示


如果您能给我一些提示、要使用的项目、更好的选择或一些示例,我将不胜感激。

如果您是一名web开发人员,那么它应该很简单,因为它的工作方式与JavaScript类似:您需要在树(
TreeSelectionListener
)和菜单项上注册事件侦听器(
ActionListener
)。当用户选择节点或菜单项时,您感兴趣的事件(选择的节点或对菜单项执行的操作)将被触发,您的侦听器将被调用,此侦听器只需用新的内容替换面板内容


阅读和获取更多指导。

是的,但是如何替换或更新面板的内容?即,当选择其他选项时,删除面板上的当前内容元素并使用新内容进行更新?我建议使用包含唯一内容面板的容器面板。单击菜单项时,创建一个全新的内容面板,用您需要的组件,并从容器面板中删除当前内容面板,然后将新内容面板添加到容器面板。或者,如果您不想每次重新创建新内容面板,您可以使用,并要求它显示相应的面板。根据您的解释,您给了我另一个想法,认为CardLayout用于这是一个例子吗?因为这就是我想做的。它可以使用一个。或者它可以动态生成面板。对!谢谢你的时间、解释和想法!!