import java.awt.event.*;
import java.awt.*;
import javax.swing.*;

class Karte2 implements ActionListener {
  GeoKarte karte;
  JFileChooser fc;
  String pfad = "H:\\Java-Archiv\\";
  	
  public Karte2() {
  	fc = new JFileChooser(pfad);
  	
  	JFrame fenster = new JFrame();
  	fenster.addWindowListener(new WindowAdapter() {
  		public void windowClosing(WindowEvent e) {
  			System.exit(0);
  		}
  	});
  	
    karte = new GeoKarte();
    
  	JButton wasser = new JButton("Wasser");
  	wasser.addActionListener(this);
  	JButton eis = new JButton("Eis");
  	eis.addActionListener(this);
  	JButton berge = new JButton("Berge");
  	berge.addActionListener(this);
  	JButton huegel = new JButton("Hügel");
  	huegel.addActionListener(this);
  	JButton wiese = new JButton("Wiese");
  	wiese.addActionListener(this);
  	JButton wald = new JButton("Wald");
  	wald.addActionListener(this);
  	JButton sumpf = new JButton("Sumpf");
  	sumpf.addActionListener(this);
  	JButton wueste = new JButton("Wüste");
  	wueste.addActionListener(this);
  	JButton ort = new JButton("Ort");
  	ort.addActionListener(this);
  	
  	
  	JPanel buttons = new JPanel(new GridLayout(9,1));
  	buttons.add(wasser);
  	buttons.add(eis);
  	buttons.add(berge);
  	buttons.add(huegel);
  	buttons.add(wiese);
  	buttons.add(wald);
  	buttons.add(sumpf);
  	buttons.add(wueste);
  	buttons.add(ort);
  	buttons.setBorder(BorderFactory.createTitledBorder("Legende"));
  	
  	JButton neu = new JButton("Neu");
  	neu.addActionListener(this);
  	JButton speichern = new JButton("Speichern");
  	speichern.addActionListener(this);
  	JButton laden = new JButton("Laden");
  	laden.addActionListener(this);
  	
  	JPanel action = new JPanel();
  	action.add(neu);
  	action.add(speichern);
  	action.add(laden);
  	action.setBorder(BorderFactory.createTitledBorder("Datei"));
   
    JPanel kartenPanel = new JPanel();
    kartenPanel.add(karte);
    kartenPanel.setBorder(BorderFactory.createTitledBorder("Karte"));
  	
  	JPanel inhalt = new JPanel(new BorderLayout());
  	inhalt.add(kartenPanel,"West");  	  	
  	inhalt.add(buttons,"East");
  	inhalt.add(action,"South");
  	
  	fenster.getContentPane().add(inhalt);
  	fenster.pack();
  	fenster.setLocation(200,100);
  	fenster.setVisible(true);
  }
	
  public static void main(String[] args) {
  	Karte2 map = new Karte2();
  }
  
  public void actionPerformed(ActionEvent e) {
  	String cmd = e.getActionCommand();
  	System.out.println(cmd);
  	
  	if (cmd == "Wasser") karte.aktuelleFarbe=0;
    if (cmd == "Eis") karte.aktuelleFarbe=1; 
    if (cmd == "Berge") karte.aktuelleFarbe=2;
    if (cmd == "Hügel") karte.aktuelleFarbe=3;
    if (cmd == "Wiese") karte.aktuelleFarbe=4;
    if (cmd == "Wald") karte.aktuelleFarbe=5;
    if (cmd == "Sumpf") karte.aktuelleFarbe=6;
    if (cmd == "Wüste") karte.aktuelleFarbe=7;
    if (cmd == "Ort") karte.aktuelleFarbe=8;
    if (cmd == "Speichern") {
        int returnVal = fc.showSaveDialog(null);
        if (returnVal == JFileChooser.APPROVE_OPTION) {
          String name = fc.getName(fc.getSelectedFile());
          karte.speichern(name);
        } 
        else System.out.println("Abbruch");
    }
    	
    if (cmd == "Laden") {
    	fc.showOpenDialog(null);
    }
    
    if (cmd == "Neu") karte.neu();
  }
}
  	
  	    
