📄 pantool.java
字号:
package mapcenter.maptools;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import mapcenter.service.*;
public class PanTool extends MapTool{
private static final Log log = LogFactory.getLog("WebGIS");
private int x1,y1,x2,y2;
private boolean draggFlag = false;
public PanTool() {
super("/image/pan1.gif","/image/pan2.gif","平移","平移工具",'O');
ImageIcon icon = new ImageIcon(getClass().getResource("/image/pan.gif"));
Cursor cursor = Toolkit.getDefaultToolkit().createCustomCursor(icon.getImage(),new Point(0,0),"漫游");
super.cursor = cursor;
}
public void actionPerformed(ActionEvent evt) {
super.actionPerformed(evt);
}
//============= MouseListener接口实现 =============
public void mouseEntered(MapMouse evt) {}
public void mouseExited(MapMouse evt) {}
public void mousePressed(MapMouse evt) {
x1 = evt.getX();
y1 = evt.getY();
}
public void mouseDragged(MapMouse evt) {
x2 = evt.getX();
y2 = evt.getY();
Image image = mapView.getMapHandle().getImg();
Image buffimg = mapView.getBuffImg();
Graphics buffg = buffimg.getGraphics();
int w = mapView.getWidth();
int h = mapView.getHeight();
int marginH = (image.getWidth(null) - w)/2;
int marginV = (image.getHeight(null) - h)/2;
buffg.clearRect(0, 0, w, h);
buffg.drawImage(image, x2-x1-marginH, y2-y1-marginV, null);
mapView.getGraphics().drawImage(buffimg, 0, 0, null);
draggFlag = true;
}
public void mouseReleased(MapMouse evt) {
try{
Image renderImage = mapView.getMapHandle().getImg();
double mapWidth = renderImage.getWidth(null);
double mapHeight = renderImage.getHeight(null);
double containW = mapView.getWidth();
double containH = mapView.getHeight();
double marginHor = (mapWidth - containW) / 2;
double marginVer = (mapHeight - containH) / 2;
if(draggFlag == true){
mapView.getMapHandle().panMap(x2-x1,y2-y1);
}else{
//mapView.getMapHandle().panMap(containW/2,0);
//zoomMoveing(marginHor,mapHeight/2,1);
}
mapView.renderMap();
draggFlag = false;
}catch(Exception ee){log.error(ee);}
}
public void mouseMoved(MapMouse evt) {}
public void mouseClicked(MapMouse evt) {}
//============= KeyListener接口实现 =============
public void keyTyped(KeyEvent evt) {}
public void keyPressed(KeyEvent evt) {}
public void keyReleased(KeyEvent evt) { }
//============= MapPainter接口实现 ===============
public void paintOnMap(Graphics g) { }
//============= ToolTipTextSetter接口实现 ========
public String getToolTipText(MapMouse evt) {return "平移";}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -