- 浏览: 356227 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
tianshawang:
楼主你好偏心啊,把代码给谷歌不给这里
java 实现windows资源管理器 -
tianshawang:
其实我是也想要资源管理器的代码来的。。
java 实现windows资源管理器 -
hcmfys:
lonuery 写道open file 是获取要进行复制的文件 ...
JAVA 复制 带进度条 时间 百分比 -
qq657052171:
怎么没有代码呢?
java 实现windows资源管理器 -
IT女民工:
楼主,求资源管理器代码~~~~
java 实现windows资源管理器
/** * @(#)GisApp.java * hcmfys@163.com * GisApp application * @author * @version 1.00 2010/7/25 */ import com.mapinfo.beans.tools.*; import com.mapinfo.beans.vmapj.VisualMapJ; import com.mapinfo.mapj.LabelProperties; import com.mapinfo.mapj.Layer; import com.mapinfo.mapj.Layers; import com.mapinfo.mapj.MapJ; import com.mapinfo.util.DoublePoint; import javax.swing.*; import javax.swing.filechooser.FileNameExtensionFilter; import java.awt.*; import java.awt.event.*; import java.beans.PropertyVetoException; import java.io.IOException; import java.util.Enumeration; import java.util.concurrent.atomic.AtomicReference; public class GisApp extends JFrame { private VisualMapJ mapCtrl = null; private JStatusBar myBar = null; private MapToolBar toolBar; private JPopupMenu popMenu = null; private final int MOVE2LEFT = 1; private final int MOVE2RIGHT = 2; private final int MOVE2UP = 3; private final int MOVE2DOWN = 4; public GisApp() { this.setSize(1000, 468); this.setTitle("java gis "); initToolBar(); initContextMenu(); makeCenter(this); mapCtrl = new VisualMapJ(); mapCtrl.addMouseWheelListener(new MouseWheelListener() { public void mouseWheelMoved(MouseWheelEvent e) { int type = e.getWheelRotation(); int x = e.getX(); int y = e.getY(); try { double zoom = mapCtrl.getMapJ().getZoom(); myBar.getStatus(1).setText(String.format("zoom=%f", zoom)); DoublePoint dp = mapCtrl.getMapJ().transformScreenToNumeric(new DoublePoint(x, y)); myBar.getStatus(1).setText(String.format("zoom=%f", zoom)); if (type == -1) { zoom = zoom / 2; mapCtrl.getMapJ().setZoomAndCenter(zoom, dp); mapCtrl.repaint(); } else { zoom = zoom * 2; mapCtrl.getMapJ().setZoomAndCenter(zoom, dp); mapCtrl.repaint(); } } catch (Exception ex) { } } } ); mapCtrl.addMouseMotionListener(new MouseMotionAdapter() { public void mouseMoved(MouseEvent e) { int x = e.getX(); int y = e.getY(); try { DoublePoint dp = mapCtrl.getMapJ().transformScreenToNumeric(new DoublePoint(x, y)); myBar.getStatus(0).setText(String.format("x=%f y=%f", dp.x, dp.y)); double zoom = mapCtrl.getMapJ().getZoom(); myBar.getStatus(1).setText(String.format("zoom=%f", zoom)); } catch (Exception e1) { e1.printStackTrace(); } } } ); mapCtrl.addMouseListener(new MouseAdapter() { public void mouseClicked(MouseEvent e) { if (e.getButton() == e.BUTTON3) { popMenu.show(GisApp.this, e.getX(), e.getY()); } } } ); setLayerAttribute(mapCtrl.getMapJ()); this.setLayout(new BorderLayout()); this.getContentPane().add(toolBar, BorderLayout.NORTH); this.getContentPane().add(mapCtrl, BorderLayout.CENTER); initStatusBar(); this.setVisible(true); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } private void initStatusBar() { JPanel sPanel = new JPanel(); sPanel.setSize(600, 30); int widths[] = {200, 150, 150, 160}; myBar = new JStatusBar(widths, sPanel); this.getContentPane().add(sPanel, BorderLayout.SOUTH); } private void initToolBar() { toolBar = new MapToolBar(); JButton btJb; toolBar.removeAllMapTools(); toolBar.add(btJb = new JButton("open")); toolBar.add(new ZoomInMapTool()); toolBar.add(new ZoomOutMapTool()); toolBar.add(new PanMapTool()); toolBar.add(new RecenterMapTool()); toolBar.add(new RulerMapTool()); toolBar.add(new InfoMapTool()); toolBar.add(new RectangleSelectionMapTool()); toolBar.add(new RadiusSelectionMapTool()); btJb.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { JFileChooser chooser = new JFileChooser(); FileNameExtensionFilter filter = new FileNameExtensionFilter("GST files", "gst"); chooser.setFileFilter(filter); int returnVal = chooser.showOpenDialog(GisApp.this); if (returnVal == JFileChooser.APPROVE_OPTION) { String fileName = chooser.getSelectedFile().getAbsolutePath(); String dir = chooser.getCurrentDirectory().getAbsolutePath(); try { mapCtrl.getMapJ().loadGeoset(fileName, dir, null); mapCtrl.repaint(); Enumeration toolList = toolBar.getMapTools(); while (toolList.hasMoreElements()) { MapTool tool = (MapTool) toolList.nextElement(); try { if (tool instanceof PanMapTool) { tool.setSelected(true); break; } } catch (PropertyVetoException e1) { e1.printStackTrace(); } } } catch (IOException e1) { e1.printStackTrace(); } } } }); } private void makeCenter(Component c) { int x; int y; Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); this.setSize(screenSize.width, screenSize.height - toolBar.getHeight() - 1); x = screenSize.width / 2 - c.getWidth() / 2; y = screenSize.height / 2 - c.getHeight() / 2; c.setLocation(x, y); } private void zoomIn() { double zoom = 0; try { zoom = mapCtrl.getMapJ().getZoom(); myBar.getStatus(1).setText(String.format("zoom=%f", zoom)); zoom = zoom / 2; mapCtrl.getMapJ().setZoom(zoom); mapCtrl.repaint(); } catch (Exception e) { e.printStackTrace(); } } private void zoomOut() { double zoom = 0; try { zoom = mapCtrl.getMapJ().getZoom(); myBar.getStatus(1).setText(String.format("zoom=%f", zoom)); zoom = zoom * 2; mapCtrl.getMapJ().setZoom(zoom); mapCtrl.repaint(); } catch (Exception e) { e.printStackTrace(); } } /** * @param curTool */ private void selectTool(MapTool curTool) { Enumeration toolList = toolBar.getMapTools(); while (toolList.hasMoreElements()) { MapTool tool = (MapTool) toolList.nextElement(); try { if (tool.toString().equals(curTool.toString())) { tool.setSelected(true); break; } } catch (PropertyVetoException e1) { e1.printStackTrace(); } } } /** * @param actionType */ private void moveAction(int actionType) { try { double x = mapCtrl.getMapJ().getCenter().x; double y = mapCtrl.getMapJ().getCenter().y; double dx = mapCtrl.getMapJ().getBounds().width() / 2; double dy = mapCtrl.getMapJ().getBounds().height() / 2; switch (actionType) { case MOVE2LEFT: x += dx; break; case MOVE2RIGHT: x -= dx; break; case MOVE2UP: y -= dy; break; case MOVE2DOWN: y += dy; break; default: break; } mapCtrl.getMapJ().setCenter(new DoublePoint(x, y)); mapCtrl.repaint(); } catch (Exception ex) { } } private void setLayerAttribute(MapJ mapj) { Layers lys = mapj.getLayers(); int len = lys.size(); for (int i = 0; i < len; i++) { Layer la = lys.elementAt(i); LabelProperties lp = new LabelProperties(la.getLabelProperties()); com.mapinfo.graphics.Rendition re = lp.getRendition(); re.setValue(com.mapinfo.graphics.Rendition.FONT_FAMILY, "宋体"); lp.setRendition(re); la.setVisible(true); } } private void initContextMenu() { popMenu = new JPopupMenu(); JMenuItem zoomIn = new JMenuItem("放大"); zoomIn.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { zoomIn(); } }); popMenu.add(zoomIn); JMenuItem zoomOut = new JMenuItem("缩小"); zoomOut.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { zoomOut(); } }); popMenu.add(zoomOut); popMenu.addSeparator(); JMenuItem move2Left = new JMenuItem("向左移动"); move2Left.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { moveAction(MOVE2LEFT); } }); popMenu.add(move2Left); JMenuItem move2Right = new JMenuItem("向右移动"); move2Right.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { moveAction(MOVE2RIGHT); } }); popMenu.add(move2Right); JMenuItem move2Up = new JMenuItem("向上移动"); move2Up.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { moveAction(MOVE2UP); } }); popMenu.add(move2Up); JMenuItem move2Down = new JMenuItem("向下移动"); move2Down.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { moveAction(MOVE2DOWN); } }); popMenu.add(move2Down); } public static void main(String[] args) { GisApp app = new GisApp(); /* ImageRequestComposer imageRC = ImageRequestComposer.create(mapj, 256, Color.blue, "image/gif"); MapXtremeImageRenderer renderer =new MapXtremeImageRenderer("http://localhost:8080/mapxtreme45/servlet/mapxtreme"); renderer.render(imageRC); renderer.toFile("e:/12.gif"); */ } }
发表评论
-
Java服务器的JSON数据包三重加密算法(转载)
2015-06-03 19:30 1280mina的粘包拆包其实是蛮简单的,只是一开始没搞清楚原理。 J ... -
java ssl (转载)
2014-12-25 17:50 824某项目的业务系统要求 ... -
table
2014-05-27 00:13 801table ... -
java 删除目录
2013-08-01 21:45 878import java.io.File; pub ... -
负载均衡方法
2013-06-05 22:26 1079•随机:负载均衡方法 ... -
&#x 格式数据转换
2013-05-22 11:52 3114import java.io.UnsupportedEnc ... -
Java数据库连接
2012-11-22 10:42 843Java数据库连接(JDBC)由一组用 Java 编程语言编写 ... -
http post
2012-10-31 11:51 938package test.net; import ... -
Java proxy 代理访问网络(转)
2012-10-31 10:12 1489How to make your Java applicati ... -
java版mini编辑器
2012-10-11 15:40 873习惯用Editplus来查看源代码,但是没有代码导航功能,想看 ... -
java excel 导入
2011-12-16 18:04 2228import java.io.FileNotFoundExce ... -
excel 导入
2011-12-16 18:03 1089package *.*; import java.uti ... -
EVAL_BODY_INCLUDE
2011-08-09 10:19 1398EVAL_BODY_INCLUDE:把Body读入存在的输出流 ... -
jrebel的使用
2011-07-06 18:21 968-noverify -javaagent:E:\jrebe ... -
java 实现windows资源管理器
2011-06-27 00:00 2166最近在使用linux的界面,有时候觉得界面很难用,不如wind ... -
Linux下java环境变量设置的完整步骤
2010-10-29 13:32 988从java.sun.com上下载JDK的安装文件,一般是jdk ... -
设置头部,直接下载文件
2010-09-26 10:34 1034string dir = SysSetting.Wave ... -
中国移动 联通 电信 模拟网关服务器
2010-03-29 21:55 1996/Files/hcmfys/SngServer.rar -
basic64
2010-02-09 14:29 1762using System; using System. ... -
JAVA 复制 带进度条 时间 百分比
2008-05-22 09:27 2333写得不太好。如果喜欢就下载/** * @(#)Jprogr ...
相关推荐
6. **缩放与平移**:为了方便查看和编辑大地图,编辑器通常会提供缩放和平移功能。 7. **预览功能**:在编辑过程中实时预览地图,确保设计效果符合预期。 8. **资源管理**:集成资源管理器,方便查找和管理使用的...
Java游戏地图编辑器是一款专为游戏开发者和爱好者设计的工具,用于创建和编辑游戏中的地图。这个编辑器基于Java编程语言开发,具有跨平台的特性,可以在多种操作系统上运行,如Windows、Mac OS X和Linux。它提供了一...
- **桌面应用**:在桌面环境中,OpenMap可以作为地图查看器,用于数据分析和报告制作。 - **移动应用**:虽然OpenMap主要针对桌面环境,但通过Java ME或Android的Java API,可以将其功能应用于移动设备。 **6. 社区...
6. **缩放和平移**:为了适应不同大小的屏幕和查看范围,地图编辑器必须支持缩放和平移操作。这通常通过双指缩放或滑动屏幕来实现。 7. **渲染优化**:由于J2ME平台资源有限,渲染效率至关重要。可以使用视口...
在地图编辑领域,理解如何使用JAVA地图编辑器如MAPWIN是非常重要的技能,这可以帮助专业人员在城市规划、地理信息分析、环境研究等多个领域进行高效的数据处理和可视化工作。通过深入学习和实践,用户能够充分利用...
"JavaRPG游戏-地图编辑器"正是这样一个专为Java RPG游戏设计的地图编辑软件。 该编辑器的主要功能可能包括以下几点: 1. **图形化界面**:地图编辑器通常配备了一个用户友好的图形界面,使得开发者可以通过拖拽、...
1. **Minecraft地图编辑器**:地图编辑器,通常称为MCEdit,是为《我的世界》设计的一款强大的第三方工具,它允许玩家编辑和修改游戏内的地图数据。通过地图编辑器,用户可以轻松地进行地形改造、结构创建、物品布置...
在本项目中,“电子地图 java项目”是一个使用Java编程语言实现的软件模块,旨在提供一个交互式的地图界面,用户可以通过该界面查看地理位置、导航、搜索地点等。该项目不仅有助于提升开发者对Java技术的理解,也是...
"2DJAVA地图编辑器"是一款专为手机游戏设计的地图编辑工具,支持2D和2.5D(即伪3D)地图的制作。这款编辑器允许开发者和游戏设计师们轻松创建、编辑并管理游戏中的地形、物体和交互元素,为玩家提供丰富多彩的游戏...
这个项目可能是一个用Java实现的程序,能够从特定的地图服务提供商下载地图数据,供用户离线查看或者进行其他地理信息相关的分析。 在Java编程中,主要涉及到以下几个关键知识点: 1. **网络编程**:地图数据的...
具体的内容需要解压后查看,通常会包括JSON或XML文件存储地图数据,CSS文件定义样式,以及可能的图片或SVG文件用于图形渲染。 总结来说,实现"java js 不规则区域地图 中国 省份 加亮图"这一功能,开发者需要掌握...
1. **源代码**:可能包含了地图编辑器的完整源代码,用某种编程语言(如C++, Java, Python或JavaScript)编写,用于展示地图编辑器的实现逻辑。 2. **文档**:可能包括用户手册、开发者指南或API参考,帮助用户理解...
2. **用户交互**:玩家需要能够移动角色和查看地图状态,因此需要设计友好的用户界面,包括键盘控制、地图显示和提示信息。 3. **地图编辑器设计**:地图编辑器应包含画布、工具栏、属性设置等元素,让玩家可以自由...
Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码截图如上所示。 Java 数字签名、数字证书生成源码 2个目标文件 摘要:JAVA源码,...
采矿地图 渲染您的世界的精美地图! 将它们放在网络服务器上,然后在浏览器...一个查看器,用于在基于的浏览器中显示和导航地图。 地图渲染器受到极大启发,但已从头开始以C ++实现,以实现最高性能。 查看者希望地图
在IT行业中,尤其是在地理信息系统(GIS)开发领域,Java是一种常用的语言,用于处理各种类型的数据,包括空间数据...通过上述步骤,开发者可以实现自定义的GIS应用,比如离线地图查看器或者结合3D元素的复杂模拟系统。
只需双击即可启动,无需复杂的安装过程,这使得Tiled地图编辑器能在任何支持Java的平台上快速运行,极大地拓宽了其适用范围。 `mapwin和Tiled游戏地图编辑器使用指南.rar`包含了Tiled的使用教程。这份指南详细阐述...
在没有网络连接的情况下,这些工具能够帮助用户提前下载地图数据,以便在需要时查看和使用。标题中的"各种离线地图下载工具"表明这是一类能够支持多种地图源的软件,能够满足用户对不同地图平台的需求。 描述中提到...
这款下载器使得用户能够在离线环境下查看和使用谷歌地图的部分功能。 在互联网上,地图数据通常被分割成小块的图像,称为瓦片(Tile),这种分块方式便于高效传输和加载。GoogleMap瓦片地图下载器能够下载这些瓦片...
1、资源丰富;内置700+地图瓦片资源,包括国内高德、百度、天地图;及国外arcgis 等主流地图; 2、地图瓦片范围可使用KML或gpx 自动裁切;...可预览查看; 6、内含瓦片下载后加载示例,瓦片资源预览及说明;