Newsgroup: it.comp.java
Titolo: addKeyListener(this); NON FUNGE - AIUTO

Aiuto non riesco a far compilare qusta classe qualcuno mi dice dove
sbaglio?
Grazie
import java.io.*;
import java.lang.*;
import java.applet.*;
import java.awt.*;
import java.net.*;
import java.util.*;
import java.awt.event.*;
import java.lang.String;
import java.awt.image.*;
public class MainPage implements KeyListener
{
	private int iNumPage;
 
	Button ConfButton = new Button("Configurazione", 100, 100);
	Button ChatButton = new Button("Entra in chat", 500, 100);
 
	public MainPage(int iNumPage)
	{
		this.iNumPage = iNumPage;
 
		addKeyListener(this);
 
	}
 
	public int getNumPage()
	{
		return this.iNumPage;
	}
 
	public int getNumPageFather()
	{
		return 0;
	}
 
	public void setNumPageFather()
	{
	}
 
	public void drawPage(Graphics g)
	{
 
		//ChatButton.setFocus(1);
		g.setColor(Color.red);
		ConfButton.drawButton(g);
		ChatButton.drawButton(g);
		//g.drawString("Ciao", 200, 200);
 
	}
 
	public void keyPressed(KeyEvent key) 
    {
    } 
    public void keyReleased(KeyEvent key) 
    {
    	System.out.println("TESSSSSSSSSSSSSSSSSSSSST: "+key);
    	switch (key.getKeyCode())
    	{
    		case KeyEvent.VK_LEFT: 
				ConfButton.setFocus(1);
			break;
 
        	case KeyEvent.VK_RIGHT:
        		ChatButton.setFocus(1);
        	break; 
 
        } 
    } 
    public void keyTyped(KeyEvent key) 
    {
    } 
}
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 sbaglio?
Sbagli a copiare ed incollare.
Non mi sembra che la tua classe definisca il metodo addKeyListener
(dimenticato di estenrede qualche altra classe???)
Poi non mi pare che Button esista con costruttore Button(String,int,int)
ed altri errori...
Ti passo ls sfilza di errori che da' il compilatore (cosa che è meglio
che posti tu la prossima volta che chiedi aiuto, altrimenti si può fare
ben poco).
<compiler-out>
MainPage.java:15: cannot resolve symbol
symbol  : constructor Button (java.lang.String,int,int)
location: class java.awt.Button
        Button ConfButton = new Button("Configurazione", 100, 100);
                            ^
MainPage.java:16: cannot resolve symbol
symbol  : constructor Button (java.lang.String,int,int)
location: class java.awt.Button
        Button ChatButton = new Button("Entra in chat", 500, 100);
                            ^
MainPage.java:22: cannot resolve symbol
symbol  : method addKeyListener (MainPage)
location: class MainPage
                addKeyListener(this);
                ^
MainPage.java:46: cannot resolve symbol
symbol  : method drawButton (java.awt.Graphics)
location: class java.awt.Button
                ConfButton.drawButton(g);
                          ^
MainPage.java:47: cannot resolve symbol
symbol  : method drawButton (java.awt.Graphics)
location: class java.awt.Button
                ChatButton.drawButton(g);
                          ^
MainPage.java:61: cannot resolve symbol
symbol  : method setFocus (int)
location: class java.awt.Button
                                ConfButton.setFocus(1);
                                          ^
MainPage.java:65: cannot resolve symbol
symbol  : method setFocus (int)
location: class java.awt.Button
                        ChatButton.setFocus(1);
                                  ^
7 errors
</compiler-our>
Insomma, c'è da seguire qualche tutorial qui...
Ciao
Giuseppe

 	}
[CUT]
L'oggetto MainPage deriva direttamente da java.lang.Object e quindi non 
ha il metodo
addKeyListener(KeyListener)
Sicuro che non devi estendere MainPage a (per esempio) una JFrame:
public class MainPage extends JFrame implements KeyListener {
-- 
Marco "Duff" Palermo
http://www.marcoduff.com/

Ciao Giuseppe,
ti spiego brevemente il progetto, allora sto sviluppando una applicazione
della quale i componenti grafici me li devo fare io.. in poche parole
Button ConfButton = new Button("Configurazione", 100, 100); per esempio
richiama una mia classe interna.
Un'altra cosa che non vi ho detto e' che il codice che ho postato prima
riguarda anche lui un mio componente (la pagina attualmente visualizzata)
Piu' ho meno ho progettato tutto cosi':
Classe Main --chiama--> Classe MainPage --chiama--> Classe Button
In poche parole ho una classe principale che richiama a seconda degli
eventi causati in precedenza la "pagina" giusta (Secondo step: Classe
MainPage potra' cambiare con classe Pippo ecc..).
Mi rendo conto che possa essere difficile da capire.. ma vi basti sapere
che tutto funziona correttamente.. l'unica cosa che non funge e' il
keyListener.
Un altra cosa.. ho esteso la classe a component e adesso compila tutto
ok.. soltanto che non riesco ad intercettare i tasti premuti nella Classe
MainPage. 
Mi sai dire dove sbaglio? quello che voglio fare e' impossibile (voglio
far intercettare i tasti alla classe MainPage invece che alla classe Main)?
Grazie, vi ringrazio molto per l'aiuto!!
P.S. adesso compila bene:
public class MainPage extends Component implements KeyListener
{
	private int iNumPage;
 
	Button ConfButton = new Button("Configurazione", 100, 100);
	Button ChatButton = new Button("Entra in chat", 500, 100);
 
	public MainPage(int iNumPage)
	{
		this.iNumPage = iNumPage;
 
		addKeyListener(this);
 


Ciao Marco,
ti spiego brevemente il progetto, allora sto sviluppando una applicazione
della quale i componenti grafici me li devo fare io.. in poche parole
Button ConfButton = new Button("Configurazione", 100, 100); per esempio
richiama una mia classe interna.
Un'altra cosa che non vi ho detto e' che il codice che ho postato prima
riguarda anche lui un mio componente (la pagina attualmente visualizzata)
Piu' ho meno ho progettato tutto cosi':
Classe Main --chiama--> Classe MainPage --chiama--> Classe Button
In poche parole ho una classe principale che richiama a seconda degli
eventi causati in precedenza la "pagina" giusta (Secondo step: Classe
MainPage potra' cambiare con classe Pippo ecc..).
Mi rendo conto che possa essere difficile da capire.. ma vi basti sapere
che tutto funziona correttamente.. l'unica cosa che non funge e' il
keyListener.
Un altra cosa.. ho esteso la classe a component e adesso compila tutto
ok.. soltanto che non riesco ad intercettare i tasti premuti nella Classe
MainPage. 
Mi sai dire dove sbaglio? quello che voglio fare e' impossibile (voglio
far intercettare i tasti alla classe MainPage invece che alla classe Main)?
P.S. adesso compila bene:
public class MainPage extends Component implements KeyListener
{
	private int iNumPage;
 
	Button ConfButton = new Button("Configurazione", 100, 100);
	Button ChatButton = new Button("Entra in chat", 500, 100);
 
	public MainPage(int iNumPage)
	{
		this.iNumPage = iNumPage;
 
		addKeyListener(this);
 


 P.S. adesso compila bene:
Ci credo, ma non so nemmeno "cosa" stai creando...
Ciao
Giuseppe

 MainPage. 
[CUT]
E no! Se hai fatto il tuo button devi creare anche il tuo Component!
O meglio era il tuo button che doveva estendere almeno Component...
Insomma, stai creando una nuova src di Java, non puoi pretendere una 
compatibilita' al 100%!
Credo che tu debba ricreare "l'ambiente Action*" di Java per adattarlo alle 
tue nuove classi...
Capisci che e' molto difficile rispondere al tuo quesito visto che non si 
conoscono tutti i componenti da te creati!
