Adicionar um JFrame

pessoal estou com o seguinte codigo:

// demonstrando os eventos de pressionamento de tecla

import java.awt.Color;
import java.awt.event.KeyListener;
import java.awt.event.KeyEvent;
import javax.swing.JFrame;
import javax.swing.JTextArea;

public class KeyDemoFrame extends JFrame implements KeyListener
{
	private String line1 = ""; // linhas de textos que será exibido em textArea
	private String line2 = "";
	private String line3 = "";
	private String line4 = "";
	private JTextArea textArea; // lugar para exibir strings
	
	// construtor
	public KeyDemoFrame()
	{
		super("Demonstrando Keystroke eventos");
		
		textArea = new JTextArea(10, 15); // configura JTextArea
		textArea.setText("Pressione qualquer tecla no teclado...");
		textArea.setEnabled(false);
		textArea.setDisabledTextColor(Color.BLACK); // cor do texto a ser exibido
		add(textArea);
		
	
		addKeyListener(this);
	}
	
	// trata pressionamento de qualquer tecla
	public void keyPressed(KeyEvent event)
	{
		line1 = String.format("Tecla pressionada: %s", event.getKeyText(event.getKeyCode())); // gera saida da tecla pressionada
		line4 = (event.isShiftDown()) ? "Shift foi pressionado" : ""; // verifica o pressionamento do shift
		setLines2and3(event); // configura a saída das linhas dois e tres
	}
	
	// trata liberação de qualquer tecla
	public void keyReleased(KeyEvent event)
	{
		line1 = String.format("Tecla despressionada: %s", event.getKeyText(event.getKeyCode()));
		setLines2and3(event);
	}
	
	// trata pressionamento de uma tecla de ação
	public void keyTyped(KeyEvent event)
	{
		line1 = String.format("Tecla digitada: %s", event.getKeyChar());
		setLines2and3(event);
	}
	
	// configura segunda e terceira linhas de saida
	private void setLines2and3(KeyEvent event)
	{
		line2 = String.format("Essa tecla %sé uma tecla de ação",
				(event.isActionKey() ? "" : "não "));
		
		String temp = event.getKeyModifiersText(event.getModifiers());
		
		line3 = String.format("Tecla modificadora pressionada: %s ", (temp.equals("") ? "nenhuma" : temp)); // modificadores de saída
		
		textArea.setText(String.format("%s\n%s\n%s\n%s\n", line1, line2, line3, line4));
	}
}

no final do construtor temos:

		addKeyListener(this);

eu sei que estou adicionando o próprio frame do programa para passar a registrar as teclas digitadas. Minha duvida que não encontrei na busca, é se tem como eu adicionar o frame sem usar o this. Se tiver como, deixem o codigo para que eu teste e analise.

O addKeyListener (como o nome ja diz) adicionar um KeyListener. Como sua class implementa KeyListener ela passa a ser uma, por isso o uso do this. Mas por exemplo voce poderia fazer uma classe assim por exemplo:

//Usando os seus metodos:


public class EventosDoTeclado implements KeyListener{
  public void keyPressed(KeyEvent event)   
    {   
        line1 = String.format("Tecla pressionada: %s", event.getKeyText(event.getKeyCode())); // gera saida da tecla pressionada   
        line4 = (event.isShiftDown()) ? "Shift foi pressionado" : ""; // verifica o pressionamento do shift   
        setLines2and3(event); // configura a saída das linhas dois e tres   
    }   
       
    // trata liberação de qualquer tecla   
    public void keyReleased(KeyEvent event)   
    {   
        line1 = String.format("Tecla despressionada: %s", event.getKeyText(event.getKeyCode()));   
        setLines2and3(event);   
    }   
       
    // trata pressionamento de uma tecla de ação   
    public void keyTyped(KeyEvent event)   
    {   
        line1 = String.format("Tecla digitada: %s", event.getKeyChar());   
        setLines2and3(event);   
    }   
       
    // configura segunda e terceira linhas de saida   
    private void setLines2and3(KeyEvent event)   
    {   
        line2 = String.format("Essa tecla %sé uma tecla de ação",   
                (event.isActionKey() ? "" : "não "));   
           
        String temp = event.getKeyModifiersText(event.getModifiers());   
           
        line3 = String.format("Tecla modificadora pressionada: %s ", (temp.equals("") ? "nenhuma" : temp)); // modificadores de saída   
           
        textArea.setText(String.format("%s\n%s\n%s\n%s\n", line1, line2, line3, line4));   
    }   
}

Ai no teu JFrame:

...
class MyJFrame extends JFrame{
    public MyJFrame(){
      super("Demonstrando Keystroke eventos");   
           
        textArea = new JTextArea(10, 15); // configura JTextArea   
        textArea.setText("Pressione qualquer tecla no teclado...");   
        textArea.setEnabled(false);   
        textArea.setDisabledTextColor(Color.BLACK); // cor do texto a ser exibido   
        add(textArea);   
           
           
       
         EventosDoTeclado edt = new EventosDoTeclado();

        addKeyListener(edt);   

   }

}
...

ou ate mesmo usando os eventos da sua classe(KeyDemoFrame) noutro JFrame:


KeyDemoFrame kdf = new KeyDemoFrame();
super.addKeyListener(kdf);

Eu acho que é isso…

Flw espero ter ajudado

[]'s

entendi sim waldson e muito obrigado pela ajuda. Eu nem tinha notado que no lugar do this eu podia criar um handler que continha os métodos desejados. O super eu não achei muito util não em relação ao this. Outra coisa, não caiu a ficha que minha classe também era um KeyListener!!! to meio lerdo hj. E, Obrigado novamente.