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?? ^^