Создать апплет, в котором будет карта - 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

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 3.933 из 5
Похожие ответы