SuperMap iObjects Java组件开发——在IntelliJ IDEA中创建SuperMap的UI界面

本文详细描述了如何在IntelliJIDEA中使用SuperMapiObjectsJava组件创建GIS应用的UI界面,包括创建顶级容器、设置布局管理器、添加监听事件以及加载数据和显示功能,如工作空间、地图、场景的关联和显示。

目录

前言

一、实现思路

1.1 创建顶级容器

1.2 设置布局管理器

1.3 添加监听事件

1.3.1 监听JFrame窗口

1.3.2 监听JTabbedPane选项卡

1.4 显示GUI界面

1.5 加载数据并显示

1.5.1 打开工作空间

1.5.2 打开地图

1.5.3 地图与图层相关联

1.5.4 打开场景

1.5.5 场景与图层相关联

二、完整代码

三、运行结果


前言

        SuperMap iObjects Java是一款强大的地理信息系统(GIS)开发工具包,可以用于构建各种GIS应用程序。本文将介绍如何在IntelliJ IDEA中创建SuperMap的UI界面,并进行相关的开发。需要参考CSDN博客提前部署好环境。SuperMap iObjects Java组件开发——环境部署(IntelliJ IDEA)_nannan^_^的博客-CSDN博客SuperMap iObjects Java 是面向GIS应用系统开发者的组件式GIS开发平台,具有强大的地理数据管理、编辑、显示、分析等功能,并且其具有极强的易用性和丰富的帮助资源,适宜快速开发大型GIS应用系统。本文将介绍如何在IntelliJ IDEA集成开发环境中进行SuperMap iObjects Java组件的环境部署。https://blog.csdn.net/nan620403/article/details/133810990

一、实现思路

1.1 创建顶级容器

       创建一个继承自JFrame的类,作为顶级容器。

 // 创建 JFrame 窗口
        JFrame frame = new JFrame("SuperMap UI 窗口");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//表示在关闭窗口时直接退出程序
        frame.setSize(1400, 800);
        frame.setExtendedState(Frame.MAXIMIZED_BOTH);//使 JFrame 窗口在显示时占据整个屏幕的空间,最大化窗口的宽度和高度,以便最大程度地利用可用的显示区域。

1.2 设置布局管理器

       设置顶级容器的布局管理器,以控制窗口的位置和大小。创建JSplitPane窗口,将窗口分割成三个区域,左侧分割窗口的顶部加载工作空间管理器,底部加载图层管理器,右侧风格窗口添加存储场景和地图的JTabbedPane选项卡。

 JPanel panel = new JPanel();
        panel.setLayout(new BorderLayout());//是将 JPanel 的布局管理器设置为 BorderLayout,以便使用 BorderLayout 的布局规则来摆放该面板上的组件。
        //创建分割窗格
        JSplitPane jSplitPane = new JSplitPane();//用于创建可拖动的分割窗格,可以将两个组件放置在水平或垂直方向上的分割线两侧。
        jSplitPane.setDividerSize(10);//将设置分割窗格的分割线大小为 10 像素。
        jSplitPane.setDividerLocation(260);// 将设置分割窗格的分割线位置为距离容器起始位置 260 像素的位置。

        JSplitPane leftsplitPane = new JSplitPane();//创建左侧分割窗口
        leftsplitPane.setOrientation(JSplitPane.VERTICAL_SPLIT);//表示垂直分割,即将容器分割为上下两部分。
        leftsplitPane.setDividerLocation(250);// 将设置分割窗格的分割线位置为距离容器起始位置 250 像素的位置。
        /*
        在左侧分割窗口的顶部窗口添加带有标签和线框的panel1,panel1里添加工作空间管理器控件
         */
        JPanel panel1 = new JPanel();
        panel1.setLayout(new BorderLayout());//是将 JPanel 的布局管理器设置为 BorderLayout,以便使用 BorderLayout 的布局规则来摆放该面板上的组件。
        panel1.setBorder(new TitledBorder("工作空间管理器"));
        panel1.add(workspaceTree);
        leftsplitPane.setTopComponent(panel1);//在左侧分割窗口设置顶部组件


        JTabbedPane jTabbedPane = new JTabbedPane();
        // 将选项卡添加到 JTabbedPane
        jTabbedPane.addTab("地图窗口", mapControl);
        jTabbedPane.addTab("场景窗口", sceneControl);
        jSplitPane.add(jTabbedPane, JSplitPane.RIGHT);//将选项卡容器加到右侧分割面板


         /*
        在左侧分割窗口的底部窗口添加带有标签和线框的panel2,panel2里添加图层管理器控件
         */
        JPanel panel2 = new JPanel();
        panel2.setLayout(new BorderLayout());//是将 JPanel 的布局管理器设置为 BorderLayout,以便使用 BorderLayout 的布局规则来摆放该面板上的组件。
        panel2.setBorder(new TitledBorder("图层管理器"));
        panel2.add(layersTree);
       
        leftsplitPane.setBottomComponent(panel2);//在左侧分割窗口设置底部组件

        jSplitPane.add(leftsplitPane, JSplitPane.LEFT);//将leftsplitPane分割窗口添加到左侧分割面板
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值