我想在用户单击按钮时最大化JFrame内的JPanel。实现此目的的最佳方法是什么。视图和数据模型应在两个面板(即JFrame和最大化。请给我建议解决方案。
我的要求是:我有一个名为4个JPanels的JFrame,名为
JPanelA,JPanelB,JPanelC,JPanelD
这里的JPanelD包含一个JList和
下方的按钮说“最大化”
“面板”按钮。JList有一个JTree
在里面。有时JList可能
有大量的数据,但不是
对用户清晰可见。
因此,他需要单独最大化此JPanelD才能清楚地查看JList的内容。为此,他单击“ MAXIMIZE PANEL”按钮。单击动作之后,JFrame中的JPanelD保留在那里,还有一个具有相同JList数据的新JPanel(即,应该弹出JPanelD的副本(例如JPanelDMaximized)。这就是我想要做的..
最佳答案
进一步澄清问题的方法:
拿我的代码,然后删除:
maximizedFrame.setUndecorated( true );
并在显示之前放大框架的尺寸。那应该满足您所需的最大化行为。
另一个问题是您不能将JPanelD添加到两个JFrame中。弹出框架必须具有其自己的唯一JPanel对象(我们将其称为JPanelE)。因此,您需要:
像执行JPanelD一样初始化和布局JPanelE。这意味着给JPanelE自己的JList(以及JTree,依此类推)。
与JPanelE的JList共享JPanelD的JList中的ListModel,依此类推。成功执行此操作的可行性和细节取决于实现的细节,并且超出了原始问题的范围。