Создать апплет, в котором будет карта - Java
Формулировка задачи:
Уважаемые программисты, помогайте срочно.
Создать апплет в котором будет картинка карты.
При двойном нажатии появляются 2 точки и между ними считывается расстояние.
Решение задачи: «Создать апплет, в котором будет карта»
textual
Листинг программы
package priv;
import java.applet.Applet;
import java.awt.Graphics;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
public class Map extends Applet implements MouseListener, MouseMotionListener {
/**
*
*/
private static final long serialVersionUID = 1L;
String msg1 = "";
String msg2 = "";
int curX = 0,
curY = 0,
k = 0;
int x1,y1,x2,y2;
double r;
Object image;
//Image picture;
//BufferedImage scaled;
public void init()
{
addMouseListener(this);
addMouseMotionListener(this);
//picture = getImage(getDocumentBase(), getParameter("src//1.jpg"));
try {
image = ImageIO.read ( new File( "src//1.jpg" ));
} catch ( IOException ex ) { }
}
public void mouseClicked(MouseEvent event) {
//TODO Auto-generated method stub
curX = event.getX();
curY = event.getY();
if (k == 0) k = 1;
if (k == 1)
{
x1 = curX;
y1 = curY;
msg1 = "1.";
}
else
if (k==2)
{
x2 = curX; y2 = curY;
msg2 = "2.";
}
repaint();
}
public void mouseEntered(MouseEvent e) {}
public void mouseExited(MouseEvent e) {}
public void mousePressed(MouseEvent e) {}
public void mouseReleased(MouseEvent e) {}
public void mouseDragged(MouseEvent e) {}
public void mouseMoved(MouseEvent e) {
showStatus("Koordinati: " + e.getX() + ", " + e.getY());
}
public void paint (Graphics g) {
//scaled = new BufferedImage(200, 200, BufferedImage.TYPE_INT_RGB);
// Graphics2D g = scaled.createGraphics();
//g.drawImage(picture, 0, 0, 200, 200, null);
//g.drawImage(picture, 0, 0, this) ;
if (k==1)
{
g.drawString(msg1, x1, y1); k=2;
}
else
if (k==2)
{
g.drawString(msg1, x1, y1);
g.drawString(msg2, x2, y2);
g.drawLine(x1, y1, x2, y2);
r = Math.sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
g.drawString("Расстояние: "+r, x2, y2+30);
k=1;
}
} // paint
} // meline1