Non riesco ad implementare KeyListener
  • In diretta da GamesVillage.it
    • News
    • -
    • In Evidenza
    • -
    • Recensioni
    • -
    • RetroGaming
    • -
    • Anteprime
    • -
    • Video
    • -
    • Cinema

Visualizzazione risultati da 1 a 2 di 2

Discussione: Non riesco ad implementare KeyListener

Cambio titolo
  1. #1
    :D L'avatar di Xboxman
    Registrato il
    09-03
    Località
    Napoli
    Messaggi
    7.867

    Non riesco ad implementare KeyListener

    Ciao a tutti... rieccomi per l'ennesimo problema con java Semplicemente, non riesco ad implementare KeyListener... questo il sorgente:
    Codice:
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    public class Erasechar extends JFrame implements
    ActionListener,KeyListener
    {
    	private JTextField rigaIns;
    	private JTextField rigaEle;
    	private JTextField rigaFin;
    	private String stringa;
    	private int el;
    	public Erasechar()
    	{
    		super("Elimina carattere");
    		setSize(200,115);
    		setLocationRelativeTo(null);
    		setResizable(false);
    		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		setLayout(new FlowLayout());
    		
    		MouseHandler handler = new MouseHandler();
    		
    		rigaIns = new JTextField("Inserisci stringa",15);
    		rigaIns.addMouseListener(handler);
    		rigaIns.addKeyListener(this);
    		add(rigaIns);
    		
    		rigaEle = new JTextField("Inserisci elemento da eliminare",15);
    		rigaEle.addActionListener(this);
    		rigaEle.addMouseListener(handler);
    		add(rigaEle);
    		
    		rigaFin = new JTextField(15);
    		rigaFin.setEditable(false);
    		rigaFin.setDisabledTextColor(Color.BLACK);
    		add(rigaFin);
    		
    		setVisible(true);
    	}
    	public void keyPressed(KeyEvent event)
    	{
    		stringa = rigaIns.getText();
    		if (event.getSource() == rigaIns)
    		{
    			if (stringa.equals(""))
    			{
    				rigaIns.setText("");
    			}
    		}
    	}
    	public void actionPerformed(ActionEvent event)
    	{
    		if (event.getSource() == rigaEle)
    		{
    			el = Integer.valueOf(rigaEle.getText()).intValue();
    			stringa = rigaIns.getText();
    			stringa = stringa.substring(0,el-1) + stringa.substring(el+1,stringa.length());
    
    			rigaFin.setText(stringa);
    		}
    	}
    	private class MouseHandler extends MouseAdapter
    	{
    		public void mousePressed(MouseEvent event)
    		{
    			if (event.getSource() == rigaIns)
    			{
    				rigaIns.setText("");
    			}
    			else if (event.getSource() == rigaEle)
    			{
    				rigaEle.setText("");
    			}
    		}
    	}
    	public static void main(String[] args)
    	{
    		new Erasechar();
    	}
    }
    Mi da il seguente errore quando tento di compilare: "Erasechar is not abstract and does not override abstract method keyReleased(java.awt.event.KeyEvent) in java.awt.event.KeyListener"

    Dandomi errore alla riga 4 che ho evidenziato in grassetto... qualcuno mi aiuta?? ^^
    Ultima modifica di Xboxman; 8-02-2008 alle 17:39:32

  2. #2
    Bannato
    Registrato il
    11-05
    Messaggi
    634
    Erasechar is not abstract and does not override abstract method keyReleased
    Devi implementare anche quel metodo (keyReleased). Se non ti serve semplicemente crea un listener che non fa nulla.

Regole di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •