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.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 {
|
// 对于未实现功能,显示开发中提示
|
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;
|
}
|
}
|