在java中使用JXMapkit

时间:2012-05-18 08:10:45

标签: swing map

plz告诉代码和/或逻辑使用JXMapkit。我在eclipse IDE中使用swingx-ws-1.0.jar包。如果有更好的(更新的)软件包可用plz发布下载链接。我试图用以下代码将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);

2 个答案:

答案 0 :(得分:3)

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

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-全1.6.3.jar
  • swingx -WS-1.0.jar

答案 1 :(得分: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);