package window; import dell_anchor.BaseStationAdjacentConfigPanel; import dell_anchor.BaseStationManagementPanel; import dell_anchor.BaseStationSyncConfigPanel; import dell_suanfa.GeneralAlgorithmPanel; import dell_suanfa.GroupManagementPanel; import dell_suanfa.LayerManagementPanel; import dell_system.CompanyManagementPanel; import dell_system.DepartmentManagementPanel; // 部门管理面板 import dell_system.MapManagementPanel; import dell_system.MessageViewPanel; import dell_system.QuickCalculationPanel; import dell_system.SerialCommPanel; import dell_system.SystemSettingsPanel; import dell_system.VersionInfoPanel; import dell_targets.BatteryRecordPanel; import dell_targets.DifferentialBaseStationManagementPanel; import dell_targets.TagManagementPanel; import dell_targets.TagTypeManagementPanel; import javax.swing.*; import dell_Fence.FenceDrawerFrame; import dell_Fence.FenceListPanel; import java.awt.*; import java.util.ResourceBundle; public class ContentPanelFactory { public static JPanel createContentPanel(String nodeName, ResourceBundle messages) { // 创建内容面板,使用BorderLayout布局 JPanel panel = new JPanel(new BorderLayout()); try { // 根据节点名称创建对应的内容面板 if (nodeName.equals(messages.getString("MAP_DISPLAY"))) { // 这里返回一个占位面板,实际打开地图的操作在Windows类中处理 JLabel label = new JLabel(messages.getString("CLICK_TO_OPEN_MAP"), SwingConstants.CENTER); panel.add(label, BorderLayout.CENTER); } else if (nodeName.equals(messages.getString("TAG_MANAGEMENT"))) { // 标签管理面板 panel.add(new TagManagementPanel(messages), BorderLayout.CENTER); } else if (nodeName.equals(messages.getString("BASE_MANAGEMENT"))) { // 基站管理面板 panel.add(new BaseStationManagementPanel(messages), BorderLayout.CENTER); } else if (nodeName.equals(messages.getString("GATEWAY_MANAGEMENT"))) { // 网关管理面板(占位符) panel.add(new JLabel(nodeName, SwingConstants.CENTER), BorderLayout.CENTER); } else if (nodeName.equals(messages.getString("DIFF_BASE"))) { // 差分基站面板 panel.add(new DifferentialBaseStationManagementPanel(messages), BorderLayout.CENTER); } else if (nodeName.equals(messages.getString("TAG_TYPE"))) { // 标签类型管理面板 panel.add(new TagTypeManagementPanel(messages), BorderLayout.CENTER); } else if (nodeName.equals(messages.getString("NEAR_CONFIG"))) { // 邻近配置面板 panel.add(new BaseStationAdjacentConfigPanel(messages), BorderLayout.CENTER); } else if (nodeName.equals(messages.getString("SYNC_CONFIG"))) { // 同步配置面板 panel.add(new BaseStationSyncConfigPanel(messages), BorderLayout.CENTER); } else if (nodeName.equals(messages.getString("FLOOR_SETTING"))) { // 楼层设置面板 panel.add(new LayerManagementPanel(messages), BorderLayout.CENTER); } else if (nodeName.equals(messages.getString("GROUP_SETTING"))) { // 分组设置面板 panel.add(new GroupManagementPanel(messages), BorderLayout.CENTER); } else if (nodeName.equals(messages.getString("GENERAL_ALGORITHM"))) { // 通用算法面板 panel.add(new GeneralAlgorithmPanel(messages), BorderLayout.CENTER); } else if (nodeName.equals(messages.getString("FENCE_DRAWING"))) { // 围栏绘制面板 panel.add(new FenceDrawerFrame(messages), BorderLayout.CENTER); } else if (nodeName.equals(messages.getString("FENCE_LIST"))) { // 围栏列表面板 panel.add(new FenceListPanel(messages), BorderLayout.CENTER); } else if (nodeName.equals(messages.getString("DEVICE_OFFLINE"))) { // 设备脱机面板(占位符) panel.add(new JLabel(nodeName, SwingConstants.CENTER), BorderLayout.CENTER); } else if (nodeName.equals(messages.getString("TRACK_RECORD"))) { // 轨迹记录面板(占位符) panel.add(new JLabel(nodeName, SwingConstants.CENTER), BorderLayout.CENTER); } else if (nodeName.equals(messages.getString("ACCESS_RECORD"))) { // 进出记录面板(占位符) panel.add(new JLabel(nodeName, SwingConstants.CENTER), BorderLayout.CENTER); } else if (nodeName.equals(messages.getString("ALARM_RECORD"))) { // 报警记录面板(占位符) panel.add(new JLabel(nodeName, SwingConstants.CENTER), BorderLayout.CENTER); } else if (nodeName.equals(messages.getString("HEALTH_RECORD"))) { // 健康记录面板(占位符) panel.add(new JLabel(nodeName, SwingConstants.CENTER), BorderLayout.CENTER); } else if (nodeName.equals(messages.getString("TAG_POWER"))) { // 标签电量面板(占位符) panel.add(new JLabel(nodeName, SwingConstants.CENTER), BorderLayout.CENTER); } else if (nodeName.equals(messages.getString("BASE_POWER"))) { // 基站电量面板(占位符) panel.add(new JLabel(nodeName, SwingConstants.CENTER), BorderLayout.CENTER); } else if (nodeName.equals(messages.getString("SYSTEM_SETTINGS"))) { // 系统设置面板 panel.add(new SystemSettingsPanel(messages), BorderLayout.CENTER); } else if (nodeName.equals(messages.getString("MESSAGE_VIEW"))) { // 消息查看面板 panel.add(new MessageViewPanel(messages), BorderLayout.CENTER); } else if (nodeName.equals(messages.getString("SYSTEM_DEBUG"))) { // 系统调试面板(占位符) panel.add(new JLabel(nodeName, SwingConstants.CENTER), BorderLayout.CENTER); } else if (nodeName.equals(messages.getString("COMPANY_MANAGEMENT"))) { // 公司管理面板 panel.add(new CompanyManagementPanel(messages), BorderLayout.CENTER); } else if (nodeName.equals(messages.getString("DEPARTMENT_MANAGEMENT"))) { // 部门管理面板 panel.add(new DepartmentManagementPanel(messages), BorderLayout.CENTER); } else if (nodeName.equals(messages.getString("VERSION_INFO"))) { // 版本信息面板 panel.add(new VersionInfoPanel(messages), BorderLayout.CENTER); } else if (nodeName.equals(messages.getString("HISTORY_POWER"))) { // 历史电量面板 panel.add(new BatteryRecordPanel(messages), BorderLayout.CENTER); } else if (nodeName.equals(messages.getString("MAP_MANAGEMENT"))) {// 地图管理 panel.add(new MapManagementPanel(messages), BorderLayout.CENTER); } else if (nodeName.equals(messages.getString("Quick_Calc"))) {// 快捷计算 panel.add(new QuickCalculationPanel(messages), BorderLayout.CENTER); } else if (nodeName.equals(messages.getString("Serial_Port_Tool"))) {// 串口工具 panel.add(new SerialCommPanel(messages), BorderLayout.CENTER); } else { // 对于未实现功能,显示开发中提示 JLabel label = new JLabel(messages.getString("DEVELOPING") + ": " + nodeName, SwingConstants.CENTER); panel.add(label, BorderLayout.CENTER); } } catch (Exception e) { // 异常处理,显示错误信息 JLabel errorLabel = new JLabel("初始化错误: " + e.getMessage(), SwingConstants.CENTER); errorLabel.setForeground(Color.RED); panel.add(errorLabel, BorderLayout.CENTER); e.printStackTrace(); } // 返回创建好的内容面板 return panel; } }