import java.applet.*;
import java.applet.Applet;
import java.awt.*;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.event.*;
import java.awt.event.ComponentAdapter;
import java.awt.event.ComponentEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.geom.Ellipse2D;
import java.awt.Graphics;
import java.awt.Image.*;
import java.awt.image.BufferedImage;
import java.awt.Point;
import java.io.*;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.io.LineNumberReader;
import java.io.Serializable;
import java.math.BigInteger;
import java.net.*;
import java.net.Socket;
import java.net.MalformedURLException;
import java.net.URL;
import java.text.*;
import java.text.DateFormat;
import java.text.DecimalFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.List;
import java.util.Random;
import java.util.Stack;
import java.util.Vector;
import javax.imageio.ImageIO;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.ImageIcon;
import javax.swing.JApplet;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.table.DefaultTableModel;
import javax.swing.WindowConstants;
public class Landkarte extends JFrame
{
//---------------------------------------------------------------------------
Container cp;
private JLabel hintergrundLabel = new JLabel(new ImageIcon("bilder/hintergrund.jpg"));
private BufferedImage image;
static final int PunktGroesse = 12;
public ArrayList<Point> punkteArray;
private Panel linkesPanel = new Panel();
private Panel rechtesPanel = new Panel();
private Panel mittleresPanel = new Panel();
private Panel oberesPanel = new Panel();
private Panel unteresPanel = new Panel();
private JButton neueKarteButton = new JButton();
private JButton beendenButton = new JButton();
private ImagePanel hintergrundPanel2 = new ImagePanel();
//---------------------------------------------------------------------------
public Landkarte(String title) {
super(title);
this.image = image;
this.punkteArray = new ArrayList<Point>();
cp = getContentPane();
cp.setLayout(new BorderLayout());
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
int frameWidth = 800;
int frameHeight = 800;
setSize(frameWidth, frameHeight);
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
int x = (d.width - getSize().width) / 2;
int y = (d.height - getSize().height) / 2;
setLocation(x, y);
setResizable(true);
setVisible(true);
//---------------------------------------------------------------------------
Panel oberesPanel = new Panel();
oberesPanel.setBackground(Color.RED);
add(oberesPanel, BorderLayout.NORTH);
Panel unteresPanel = new Panel();
unteresPanel.setBackground(Color.BLUE);
add(unteresPanel, BorderLayout.SOUTH);
Panel linkesPanel = new Panel(new GridLayout(3,3,10,40));
linkesPanel.setBackground(Color.GREEN);
add(linkesPanel, BorderLayout.WEST);
Panel rechtesPanel = new Panel();
rechtesPanel.setBackground(Color.YELLOW);
add(rechtesPanel, BorderLayout.EAST);
Panel mittleresPanel = new Panel();
mittleresPanel.setBackground(Color.WHITE);
add(mittleresPanel, BorderLayout.CENTER);
//---------------------------------------------------------------------------
JButton neueKarteButton = new JButton();
neueKarteButton.setBounds(20, 10, 10, 33);
neueKarteButton.setLabel("Alle auswählen");
linkesPanel.add(neueKarteButton);
JButton beendenButton = new JButton();
beendenButton.setBounds(20, 10, 100, 100);
beendenButton.setLabel("Beenden");
beendenButton.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
beendenButton_ActionPerformed(evt);
}
});
linkesPanel.add(beendenButton);
mittleresPanel.add(hintergrundLabel);
mittleresPanel.add(hintergrundPanel2);
mittleresPanel.addMouseListener(new MouseAdapter()
{
@Override
public void mouseClicked(MouseEvent e)
{
punkteArray.add(e.getPoint());
hintergrundPanel2.repaint();
}
});
}
//---------------------------------------------------------------------------
class ImagePanel extends JPanel {
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
if (image!=null)
{
g.drawImage(image, 0, 0, null);
g.setColor(Color.RED);
for (int i=0 ; i< punkteArray.size() ; i++ )
{
Point aktuellerPunkt = new Point();
aktuellerPunkt = punkteArray.get(i);
int xwert = aktuellerPunkt.x;
int ywert = aktuellerPunkt.y;
g.fillOval(xwert - 10, ywert - 34, PunktGroesse, PunktGroesse);
if (i==0)
{
}
else
{
Point alterPunkt = new Point();
alterPunkt = punkteArray.get(i-1);
int alterxwert = alterPunkt.x;
int alterywert = alterPunkt.y;
g.drawLine(xwert - 10, ywert - 34, alterxwert - 10, alterywert - 34);
}
}
}
}
}
//---------------------------------------------------------------------------
public void beendenButton_ActionPerformed(ActionEvent evt)
{
System.exit(0);
}
//---------------------------------------------------------------------------
public static void main(String[] args)
{
new Landkarte("Route festlegen");
}
}