首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MapPane地质工具

MapPane地质工具
EN

Stack Overflow用户
提问于 2015-02-18 10:41:22
回答 1查看 832关注 0票数 1

我使用Geotools,我有一个主Jframe,我使用JMapPan来显示地图。但是我有一个带有工具栏的问题,如何添加光标按钮和按钮来识别特征,我只是添加了缩放按钮。源代码:

代码语言:javascript
复制
    final MapContent map = new MapContent();
    map.setTitle("The Map");

    Layer rasterLayer = new GridReaderLayer(reader, rasterStyle);
    map.addLayer(rasterLayer);

    Layer shpLayer = new FeatureLayer(shapefileSource, shpStyle);
    map.addLayer(shpLayer);

    JMapPane mapPane = new JMapPane(map);

    JFrame frame = new JFrame("The Map");

    frame.setLayout(new BorderLayout());
    frame.add(mapPane, BorderLayout.CENTER);  


    JPanel buttons = new JPanel();
    JButton zoomInButton = new JButton(new ZoomInAction(mapPane));
    buttons.add(zoomInButton);

    JButton zoomOutButton = new JButton(new ZoomOutAction(mapPane));   
    buttons.add(zoomOutButton);

    JButton pamButton = new JButton(new PanAction(mapPane));       
    buttons.add(pamButton);

    //how to add cursor button and identify features button.

    frame.add(buttons, BorderLayout.NORTH);
    frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    frame.setSize(600, 400);
    frame.setVisible(true);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-23 09:47:05

最简单的方法是使用JToolbar提供的JMapFrame。

代码语言:javascript
复制
JMapFrame frame = = new JMapFrame(mapContent);
frame.enableToolBar(true);
JToolBar toolBar = frame.getToolBar();

但是,如果您真的必须构建自己的程序,那么快速查看一下JMapFrame代码

代码语言:javascript
复制
if (toolSet.contains(Tool.PAN)) {
  btn = new JButton(new PanAction(mapPane));
  btn.setName(TOOLBAR_PAN_BUTTON_NAME);
  toolBar.add(btn);
  cursorToolGrp.add(btn);
  toolBar.addSeparator();
}
if (toolSet.contains(Tool.INFO)) {
   btn = new JButton(new InfoAction(mapPaneif(toolSet.contains(Tool.PAN))     {
        btn = new JButton(new PanAction(mapPane));
        btn.setName(TOOLBAR_PAN_BUTTON_NAME);
        toolBar.add(btn);
        cursorToolGrp.add(btn);
        toolBar.addSeparator();
    }
    if (toolSet.contains(Tool.INFO)) {
        btn = new JButton(new InfoAction(mapPane));
        btn.setName(TOOLBAR_INFO_BUTTON_NAME);
        toolBar.add(btn);
        toolBar.addSeparator();
    }));
    btn.setName(TOOLBAR_INFO_BUTTON_NAME);
    toolBar.add(btn);
    toolBar.addSeparator();
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28581568

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档