1

请告诉代码和/或逻辑使用 JXMapkit。我在 Eclipse IDE 中使用 swingx-ws-1.0.jar 包。如果有更好(更新)的软件包可用,请发布下载链接。我尝试使用以下代码将 JXMapkit 添加到 JPanel 上,但我也没有成功:

import javax.swing.JFrame;
import javax.swing.JPanel;
import org.jdesktop.swingx.JXMapKit;
import java.awt.*;

public class Main {
public static void main(String[] args) {
       JFrame frame = new JFrame();
       JXMapKit kit = new JXMapKit();
       JPanel parentPanel = new JPanel();
       parentPanel.setLayout(new BorderLayout());
       parentPanel.add(kit, BorderLayout.CENTER);
       frame.setContentPane(parentPanel);
       frame.pack();
       frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
       frame.setVisible(true);
   }

}

错误在于以下行:

parentPanel.add(kit, BorderLayout.CENTER);
4

2 回答 2

4

我在以下链接中找到了答案:

http://www.jarvana.com/jarvana/view/org/swinglabs/swingx-ws/1.0/swingx-ws-1.0-sources.jar!/org/jdesktop/swingx/JXMapKit.java?format=ok

完美运行。它需要以下参考库:

  • swingx-all-1.6.3.jar
  • swingx-ws-1.0.jar
于 2012-05-21T06:43:08.487 回答
0

您可以使用此代码,它将起作用

           JFrame frame = new JFrame();
       JXMapKit kit = new JXMapKit();
       kit.setDefaultProvider(JXMapKit.DefaultProviders.OpenStreetMaps);
       JPanel parentPanel = new JPanel();
       parentPanel.setLayout(new BorderLayout());
       parentPanel.add(kit, BorderLayout.CENTER);
       frame.setContentPane(parentPanel);
       frame.pack();
       frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
       frame.setVisible(true);
于 2014-02-05T04:59:54.643 回答