KeyListener on an Array (2D Dungeon Crawler)

Hey, I have a little school projekt and we have to build a 2D Dungeon Crawler
At this time I created an Array and included all pictures:

http://s1.directupload.net/images/130517/g4oh8qck.jpg

Now I just want to add a Key input, so that Array field 1 changes to 2 etc.
Here is my Map:

package game;

import java.awt.FlowLayout;

import javax.swing.BoxLayout;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JPanel;

/**
 * erstellt die Spielfelder
 * @author Denise
 *
 */
public class Spielfeld {  
	
	static String direction = System.getProperty("user.dir");
	
	static Icon iconRasen = new ImageIcon(direction+"/src/game/Images/Rasen.jpg");
	static Icon iconGrenze = new ImageIcon(direction+"/src/game/Images/Grenze.jpg");
	static Icon iconPudel = new ImageIcon(direction+"/src/game/Images/Pudel.jpg");
	static Icon iconGegner = new ImageIcon(direction+"/src/game/Images/Gegner.jpg");
	static Icon iconZiel = new ImageIcon(direction+"/src/game/Images/Ziel.jpg");	
 
 	/* erstellt das Array; 0: freies Feld, 1: Baum, 2: Pudel, 3: Gegner */
 	public static void level1() {

		int [][] feld1 = {{1,1,1,1,1,1,1,1},
						  {1,2,0,1,0,0,0,1},
						  {1,0,0,1,0,0,0,4},
						  {1,0,0,0,0,0,0,1},
						  {1,0,0,1,0,0,0,1},
						  {1,1,1,1,1,1,1,1}};
		
		JPanel panel = new JPanel();
		panel.setLayout(null);
		
		/*erstellt verschiedene Icons für jedes Bild*/
		JLabel[] labels=new JLabel[48];
		
				for (int i = 0; i < feld1.length; i++) {	
					    for (int j = 0; j < feld1[i].length; j++) {	
					    	
					    	/*Versuch die Bilder an die passenden Stellen zu setzen*/
					    	if (feld1[i][j]==0){
								labels[i]=new JLabel(iconRasen);
								panel.add(labels[i]);
								labels[i].setBounds(j*100,i*100,100,100);
							}
					    	else if (feld1[i][j]==1){
								labels[i]=new JLabel(iconGrenze);
								labels[i].setBounds(j*100,i*100,100,100);
								panel.add(labels[i]);  
							}
					    	else if (feld1[i][j]==2){
								labels[i]=new JLabel(iconPudel);
								labels[i].setBounds(j*100,i*100,100,100);
								panel.add(labels[i]);
							}
					    	else if (feld1[i][j]==4){
								labels[i]=new JLabel(iconRasen);
								labels[i].setBounds(j*100,i*100,100,100);
								panel.add(labels[i]);
							}
						Frame.f.setContentPane(panel);
					   }
				}	
 	}
 	
 	public static void level2() {

		int [][] feld2 = {{1,1,1,1,1,1,1,1},
						  {1,0,0,0,0,0,0,1},
						  {2,0,1,0,1,1,1,1},
						  {1,1,1,0,0,0,0,1},
						  {1,0,0,0,1,0,0,4},
						  {1,1,1,1,1,1,1,1}};
		
		JPanel panel = new JPanel();
		panel.setLayout(null);
		
		/*erstellt verschiedene Icons für jedes Bild*/
		JLabel[] labels=new JLabel[48];
		
				for (int i = 0; i < feld2.length; i++) {	
					    for (int j = 0; j < feld2[i].length; j++) {	
					    	
					    	/*Versuch die Bilder an die passenden Stellen zu setzen*/
					    	if (feld2[i][j]==0){
								labels[i]=new JLabel(iconRasen);
								panel.add(labels[i]);
								labels[i].setBounds(j*100,i*100,100,100);
							}
					    	else if (feld2[i][j]==1){
								labels[i]=new JLabel(iconGrenze);
								labels[i].setBounds(j*100,i*100,100,100);
								panel.add(labels[i]);  
							}	
					    	else if (feld2[i][j]==2){
								labels[i]=new JLabel(iconPudel);
								labels[i].setBounds(j*100,i*100,100,100);
								panel.add(labels[i]);
							}
					    	else if (feld2[i][j]==3){
								labels[i]=new JLabel(iconGegner);
								labels[i].setBounds(j*100,i*100,100,100);
								panel.add(labels[i]);
							}
					    	else if (feld2[i][j]==4){
								labels[i]=new JLabel(iconRasen);
								labels[i].setBounds(j*100,i*100,100,100);
								panel.add(labels[i]);
							}
						Frame.f.setContentPane(panel);
					   }
				}	
 	}
 	
 	public static void level3() {

		int [][] feld3 = {{1,1,1,1,1,1,1,1},
						  {1,0,3,0,0,0,0,1},
						  {1,0,0,0,1,0,0,5},
						  {1,1,1,0,1,0,0,1},
						  {2,0,0,0,1,0,3,1},
						  {1,1,1,1,1,1,1,1}};
		
		JPanel panel = new JPanel();
		panel.setLayout(null);
		
		/*erstellt verschiedene Icons für jedes Bild*/
		JLabel[] labels=new JLabel[48];
		
				for (int i = 0; i < feld3.length; i++) {	
					    for (int j = 0; j < feld3[i].length; j++) {	
					    	
					    	/*Versuch die Bilder an die passenden Stellen zu setzen*/
					    	if (feld3[i][j]==0){
									labels[i]=new JLabel(iconRasen);
									panel.add(labels[i]);
									labels[i].setBounds(j*100,i*100,100,100);
								}
							
					    	else if (feld3[i][j]==1){
								labels[i]=new JLabel(iconGrenze);
								labels[i].setBounds(j*100,i*100,100,100);
								panel.add(labels[i]);  
							}
							
					    	else if (feld3[i][j]==2){
								labels[i]=new JLabel(iconPudel);
								labels[i].setBounds(j*100,i*100,100,100);
								panel.add(labels[i]);
							}
							
					    	else if (feld3[i][j]==3){
								labels[i]=new JLabel(iconGegner);
								labels[i].setBounds(j*100,i*100,100,100);
								panel.add(labels[i]);
							}
					    	else if (feld3[i][j]==4){
								labels[i]=new JLabel(iconRasen);
								labels[i].setBounds(j*100,i*100,100,100);
								panel.add(labels[i]);
							}
					    	else if (feld3[i][j]==5){
					    		labels[i]=new JLabel(iconZiel);
								labels[i].setBounds(j*100,i*100,100,100);
								panel.add(labels[i]);
							}
					    Frame.f.setContentPane(panel);
					    }
				}	
 	}
}

 	


And my Frame:

package game;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.io.File;
import java.io.IOException;

import javax.imageio.ImageIO;
import javax.swing.*;

/** diese Klasse erzeugt sowohl das Menüfenster,
 * als auch das Spielfenster. Die Buttons im Menüfenster
 * sind anklickbar und bewirken das Schließen des Fensters,
 * oder das Öffnen des Spielfensters.
 */
public class Frame extends JFrame {
	
	public static JButton start;
	public static JButton ende;
	
	public static Frame f = new Frame();
	public static Frame F = new Frame();
	
	
	/* ruft das Menüfenster auf*/
	public static void main(String[] args) { 
		Menufenster();
	}
	
	
	/*erzeugt das Menüfenster mit zwei Buttons und einem Label*/
	public static void Menufenster() {	
		
		String direction = System.getProperty("user.dir");
		
		/*setzt das Hintergrundbild. Wenn es nicht gefunden wird erscheint ein Text*/
		try{
			F.setContentPane(new JLabel(new ImageIcon(ImageIO.read(new File(direction+"/src/game/Images/Startscreen.jpg")))));
		}
		catch(IOException a) {
			System.out.println("das Bild kann nicht gefunden werden");
		}
		
		/*Eigenschaften des Menüfensters (Größe, Schließbar, mittig setzen,..)*/
		F.setResizable(false);
		F.setTitle("Menu");
		F.setSize(800,600);
		F.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);	
		F.setLocationRelativeTo(null);
		F.setVisible(true);
		F.setLayout(null);
		
		/*erstellt Label mit Text, setzt seine Position fest und setzt es auf das Menüfenster*/
		JLabel label = new JLabel ("Made by Pinky and the Gang");
		label.setBounds(500,550,200,40);
		F.add(label);
		
		start = new JButton("Spiel starten");
		start.setBounds(400,350,200,40);
		F.add(start);
		
		ende = new JButton("Beenden");
		ende.setBounds(400,400,200,40);
		F.add(ende);
		
		/*registriert Mausklick auf Button start und öffnet das Spielfenster*/
		 ActionListener alstart = new ActionListener() {
		      public void actionPerformed( ActionEvent e ) {		
		    	  Spielfenster();
		      }
		    };
		
		 ActionListener alende = new ActionListener() {
		      public void actionPerformed( ActionEvent e ) {
		    	  System.exit(0);
		      }
		    };
		 start.addActionListener(alstart);
		 ende.addActionListener(alende);
		  }
	
	/* public void keyTyped(java.awt.event.KeyEvent e) {
	        // do nothing
	    }

	    public void keyPressed(java.awt.event.KeyEvent e) {
	        if (e.getKeyCode() == KeyEvent.VK_LEFT) feld1[i][j] = feld1[i-1][j];
	        if (e.getKeyCode() == KeyEvent.VK_RIGHT) feld1[i][j] = feld1[i+1][j];
	        if (e.getKeyCode() == KeyEvent.VK_UP) feld1[i][j] = feld1[i][j-1];
	        if (e.getKeyCode() == KeyEvent.VK_DOWN) feld1[i][j] = feld1[i][j+1];
	    }

	    public void keyReleased(java.awt.event.KeyEvent e) {
	        //do nothing
	    }*/
	
	/* Eigenschaften des Spielfeldes*/
	public static void Spielfenster() {
		
		f.setResizable(false);
		f.setTitle("Erna's Adventure");
		f.setSize(805,630);
		f.setLayout(null);
		f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);	
		f.setLocationRelativeTo(null);
		f.setVisible(true);
		
		Spielfeld.level1();
	}
} 

I have no idea how to make it work, i read something about boolean etc. but after several hours I still dont know how to include it.
I hope anyone of you could help me with that! ??? ??? ???

(I hope my english is good enough, I’m from Germany)