Newsgroup: it.comp.java
Titolo: Problema di compilazione

 ----------------------
-- 
+---------------------------------------------------------------------+
|****** AndreA "DylanD" Peltrin ******|            e-mail:            |
|"She'll come back as fire to burn all|     
and...@interplanet.it
     |
|the liars, and leave a blanket of ash|       ZOO Software Page:      |
|on the ground."<-<-<-<-<-<- K. Cobain| 
http://www.interplanet.it/zoo
 | 
+---------------------------------------------------------------------+

Qualche settimana fa ho comprato un libro che spiega la programmazione
Java che pur essendo uscito in Italia nel 1996, e' originariamente
inglese e del 1995.
Per questo motivo credo che l'errore che risulta dalla compilazione di
una classe riportata come esempio nel libro sia dovuto alla
"vecchiaia" dello stesso.
Il fatto e' che l'esempio spiega come utilizzare Java per creare e
gestire finestre e frames, e se non riesco a farlo girare, non potro'
mai sfruttare questa potenzialita' di Java.
Qui di seguito riporto tutto il codice in modo che possiate intuire
meglio quale puo' essere la sulozione al mio problema.
Il codice dovrebbe costruire una finestra con due bottoni, uno Quit e
l'altro Provami, una scritta Ciao e un'immagine che appare e scompare
ogni volta che viene premuto il bottone Provami.
import java.applet.Applet;
import java.awt.*;
interface buttonReturn {
	public void buttonPressed(String s);
}
class NewButton extends Button {
	buttonReturn obj = null;
	String n=null;
	public NewButton(String label, String name, Window w) {
		super(label);     // il libro riportava 
//super(label,name,w);
                                              // ma era sbagliato
		n=name;
		obj=(buttonReturn)w;
	}
	public void selected(Component c, int pos) {
		obj.buttonPressed(n);
	}
}
class StandAloneGraphics extends DisplayItemWindow implements  //*****
buttonReturn {
	static WServer ws;
	static Frame frame;
	static Graphics graphic;
	static DisplayItemWindows window;
	static NewButton quit;
	static NewButton imgB;
	static Image img=null;
	static boolean displayImg=false;
	public StandAloneGraphics (Frame frame) {
		super(frame,"new");
	}
	public static void main(String argv[]) {
		ws= new awt.WServer();
		ws.start();
		frame=new Frame(ws, true, null, 500, 500,
Color.lightGray);
		frame.setTitle("Stand Alone Graphics");
		window=new StandAloneGraphics(frame);
		graphic=new Graphics(window);
		quit=new NewButton("Quit","quit",window);
		quit.move(100,10);
		quit.map();
		imgB=new NewButton("Provami","imgB",window);
		imgB.move(10,50);
		imgB.map();
		img=window.createImage(new GifImage("2.gif"));
		frame.map();
	}
	public void update() {
		paint(graphic);
	}
	public void paint(Graphics g) {
		g.drawString("Ciao",10,10);
		if(displayImg)
			g.drawImage(img,100,50);
		else g.clearRect(100,50,100+img.width,50+img.height);
	}
	public void buttonPressed(String s) {
		if(s.equals("imgB")) {
			displayImg=(displayImg)?false:true;
			update();
		}
		else if(s.equals("quit")) {
			stop();
		}
	}
	public void stop() {
		frame.dispose();
		System.exit(0);
	}
}
L'errore ch ricevo e' nella riga contraaegnata dagli asterischi sulla
destra ovvero:
class StandAloneGraphics extends DisplayItemWindow implements
buttonReturn {
e mi viene detto che non riesce a trovare la classe DisplayItemWindow.
Effettivamente in SDK-Docs non ho trovato nulla riguardo a questa
classe, ma credo che esista una soluzione per poter far girare questo
applet, probabilmente estendendo un'altra classe, ma la mia ignoranza
per quanto riguarda Java mi costringere a chiedere aiuto a voi.
Grazie per l'attenzione e scusate per la lunghezza del msg.
