使用CardLayout在登录窗格和工作窗格之间切换是否很好?

问题描述 投票:0回答:1

我正在学习Swing。我有一个JFrame哪个JPanel个容器-布局是一个CardLayout。现在,当您填写用户和密码字段时,面板会切换并显示“工作中的”。

我想再添加一个面板来选择一些选项,然后再进入工作窗格。

CardLayout cl = new CardLayout();
setLayout(cl);
loginPane = new LoginPanel();
devicePane = new DevicePanel();
workingPane = new WorkingPanel();

add(loginPane,"1");
add(devicePane,"2");
add(workingPane, "3");

[LoginPanelDevicePanelWorkingPanel都是扩展JPanel的Java类。

这是遵循的好习惯,还是我应该考虑做其他事情?因为我开始看到必须从这些面板创建侦听器才能传达框架的操作。

java swing jframe jpanel cardlayout
1个回答
0
投票

使用CardLayout在登录窗格和工作窗格之间切换是否很好?”

是。实际上,除非在对话框中包含一个或多个面板(JDialogJOptionPane)是有意义的,否则要选择CardLayout

我开始看到我必须从这些面板中创建侦听器以传达框架的操作。

这里的问题是扩展了可能不需要扩展的组件。我的意思是,LoginPanelDevicePanelWorkingPanel应该都是纯JPanel实例。通过扩展面板,代码可能具有封装的组件和侦听器,这些组件和侦听器应全部属于一个类。

作为一个类来做会否定这个问题,因为所有组件和侦听器都具有相同的作用域(和可达性)。

© www.soinside.com 2019 - 2024. All rights reserved.