Best View 1024 X 768

 

 

 

 

 

Home Page

 

W W W . J N E T W O R L D . C O M

 

Home > Tech > JAVA

 

Linguaggi

 

 

 

 

 


- Introduzione al Java

- Introduzione alla programmazione Java


 

INTRODUZIONE AL JAVA

 

Corso di JAVA

 

Java appena è uscito è stato accolto con molto entusiasmo dalla comunità mondiale dei progettisti di software e dei provider di servizi Internet, questo perché Java permetteva agli utenti di Internet di utilizzare applicazioni sicure e indipendenti dalla piattaforma, che si possono trovare in qualsiasi punto della rete.
Java è quindi nato come linguaggio per la rete, per affiancare l' Hyper Text Markup Language (HTML), il quale non è un linguaggio di programmazione vero e proprio, e per dargli quella sicurezza che l'HTML non ha. Da quando è nato Java sulla rete si è iniziato a poter parlare di numeri di carte di credito e di informazioni sicure, notizia che ha molto affascinato le grosse società mondiali, le quali hanno trasformato la vecchia Internet, rete ad appannaggio delle sole università e centri di ricerca, nell'attuale mezzo di comunicazione aperto a tutti.
Il linguaggio di programmazione Java è stato creato verso la metà degli anni novanta, è il più recente tra i suoi cugini, e per questo è ancora in fase evolutiva, tanto che ogni anno circa ne viene rilasciata una nuova relase.
Da linguaggio nato solo per la rete è divenuto un vero e proprio linguaggio di programmazione, paragonabile, dal punto di vista delle funzionalità, al più blasonato C++.
Java e la maggior parte degli altri linguaggi possono essere paragonati solo dal punto di vista delle funzionalità, perché sono fondamentalmente molto diversi, infatti Java compila i sorgenti dei suoi programmi in un codice detto Bytecode, diverso dal linguaggio della macchina su cui è compilato, mentre linguaggi come il C++ compilano i sorgenti dei programmi in un codice che è il codice della macchina ( per macchina intendo computer + sistema operativo ) su cui è eseguito. Quindi per eseguire un programma Java occorre avere uno strumento che è chiamato Java Virtual Machine, la quale interpreta il bytecode generato dal compilatore Java e lo esegue sulla macchina su cui è installato. Grazie alla Java Virtual Machine Java è indipendente dalla piattaforma, infatti il programma compilato Java è legato alla JVM e non al sistema operativo, sarà quindi possibile eseguire lo stesso programma Java, compilato una sola volta su una qualche macchina con un compilatore Java versione X, su una piattaforma Windows e su una piattaforma Linux, per fare questo però c'è bisogno che sia Windows che Linux abbiano installato una Java Virtual Machine che supporti la versione X di Java. Le due JVM installate sulle due piattaforme diverse sono lo stesso programma compilato una volta per Windows ed una volta per Linux, come avveniva con i programmi scritti in linguaggi come il C/C++.
Una Java Virtual Machine è implementata anche nei vari Browser (Come Netscape e Explorer) per poter eseguire i programmi Java incontrati nella rete, i cosidetti Applet.
Questo però, unito al fatto che Java ancora si evolve, causa degli ovvi problemi di incompatibilità, infatti capita sempre che il più moderno Browser supporti una versione precedente di Java rispetto all' ultima versione rilasciata dalla Sun Microsystem, inoltre bisogna tener presente che non tutti gli utenti di Internet navigano usando l'ultima versione di Netscape o di Explorer. Quindi volendo creare un' applet ed inserirlo in un nostro documento HTML, dobbiamo tenere presente questi problemi, e cercare di fare un programma che sia compatibile con la maggior parte delle JVM implementate nei vari browser.
Un altro problema da affrontare è quello della scelta del compilatore Java da utilizzare, infatti esistono vari ambienti integrati per editare, compilare, debuggare ed eseguire programmi Java, come quelli della Broland, della Microsoft, della Symantec. Tutti questi ambienti offrono dei tool di sviluppo eccellenti, come editori grafici di finestre, debugger molto interessanti, però hanno due problemi, il primo è che si pagano, anche molto, il secondo è sempre lo stesso della compatibilità, infatti essi spesso si trovano indietro alla relase della sun, ed inoltre aggiungono delle classi che poi le JVM implementate nei browser non hanno.
Il mio consiglio è quallo di usare le JDK ( Java Development Kit ) della Sun, le quali comprendono sia il compilatore che la Java Virtual Machine per eseguire i programmi da noi compilati, inoltre sono freeware (non costano niente) e sono scaricabili dalla rete ed i browser si adeguano pian piano a questa versione di Java.
Se volete scrivere applet per i vecchi browser dovete scaricarvi la versione 1.1 di Java, però questa versione è niente alla versione attualmente più gettonata, ovvero alla 1.2.2 ( Chiamata per qualche motivo a me oscuro Java 2 , la si può scaricare all'indirizzo http://java.sun.com/products/jdk/1.2/index.html ), alla quale farò riferimento anche io in questo corso e per la quale Netscape versione 4.0x ed Explorer 5 hanno implementato la Java Virtual Machine (quasi tutta, io ho avuto qualche problema con le Swing, che sono una libreria standard di Java 2).
Se avete intenzione di scaricarvi Java 2 vi consiglio di farlo la mattina verso tra le nove e le undici, perché il sito è affollato e lento, inoltre il file da scaricare è una ventina di mega, se volete potete scaricarvi anche la documentazione la quale è molto utile, però anch' essa è di circa venti mega.
Io ho appena scaricato e installato la prossima versione, ovvero la Relase Candidate del Java 2 Software Development Kit versione 1.3 Relase Candidate 1, e vi assicuro che se la 1.2.2 era eccezionale questa è incredibile, ho anche appena scoperto che è uscita la Relase Candidate 2 del JDK 1.3 e che a fine aprile uscirà finalmente la relase (Io la aspetto, non ho voglia di passare un'altra nottata in bianco per scaricarmi una cosa che verrà rimpiazzata dalla relase tra meno di un mese).
Per scaricarvi il prodotto dovrete iscrivervi, fatelo, l'iscrizione è gratuita.
Un ultimo problema che ha Java è la lentezza, infatti, come già detto, esso è interpretato, quindi le istruzioni Java prima di essere eseguite dalla macchina vengono interpretate dalla JVM, ovvero per eseguire ogni istruzione il computer eseguirà un numero di istruzioni macchina che è più del doppio delle istruzioni che eseguirebbe se la stessa istruzione fosse stata scritta in C, quindi avrete bisogno di computer veloci per eseguire bene programmi Java, e di questo vi sarete sicuramente accorti anche navigando sulla rete. Anche la memoria è importante, si compila e si esegue anche con soli 32Mb di RAM, ma per fare le cose velocemente ne occorrono almeno 64, pensate che l' ultimo ambiente integrato della Borland, il Jbuilder 3, ha come requisito minimo di RAM 96 Megabyte.
Per finire ritorno al Java Development Kit della Sun Microsystem, con questo è possibile produrre tutto il software che si vuole senza dover pagare diritti di uso del prodotto come avviene con il Borland Jbuilder, il Symantec Cafe, e il Microsoft Visual Java, vi consiglio di leggervi la licenza d'uso che troverete quando andrete a scaricare il JDK prima di cominciare a produrre software.

 

^ On Top

 

INTRODUZIONE ALLA PROGRAMMAZIONE JAVA

 

La principale differenza tra Java e gli altri linguaggi di programmazione ad oggetti è che mentre con questi ultimi è possibile anche porgrammare ad oggetti con Java si deve assolutamente programmare ad oggetti. Quindi punto fondamentale a questo punto è spiegare cosa vuol dire programmare ad oggetti. Sostanzialmente la programmazione avviene allo stesso modo dei linguaggi "normali", solo che sia i dati che le funzioni che li manipolano sono racchiusi in delle strutture dette classi.
Le classi sono dei prototipi di oggetti, ovvero sono delle strutture astratte ( non troppo vedremo ) che possono essere instanziate e quindi creare un oggetto (ma anche più di uno).
La classe definisce tutte le proprietà degli oggetti appartenenti a quella classe, detti attributi, e le funzioni che verranno usate per agire su di essi, detti metodi. Ad esempio è possibile definire una classe delle persone, come segue:


Inizio classe persone
   Attributo annodinascita
   Metodo calcolaetà (annoattuale)
Fine classe persone


La classe delle persone così definita ha un attributo che è annodinascita che sarà sicuramente un numero intero ed un metodo che in base all' anno attuale passatogli calcola l'età della persona. Usando il formalismo di Java,per definire la classe persone scriveremo:

class persone
{
   public int annodinascita;
   public int calcolaeta ( int annoattuale )
{
return ( annoattuale - annodinascita );
}
}


Come si vede abbiamo dichiarato sia il metodo che l'attributo come public, vedremo tra poco cosa significa, vediamo anche che la classe comincia con { e finisce con }, così anche i metodi. Questo ricorda molto il C, e devo dire che la sintassi di Java è molto simile, anzi quasi uguale a quella del C, mentre per chi non conosce il C, le parentesi graffe rappresentano il begin e l'end del pascal. La classe avrà un cosiddetto costruttore (o più di uno), che è un metodo particolare che di solito viene utilizzato per inizializzare gli attributi quando viene instanziata la classe in un oggetto, esso è una funzione che non ha nessun tipo di ritorno ed il nome uguale al nome della classe. Ho detto che i costruttori possono essere più di uno, che però il nome del costruttore deve essere lo stesso di quello della classe, chi è abituato a programmare con linguaggi non orientati agli oggetti troverà tutto questo strano, però è possibile perché Java fa il cosidetto overloading di funzioni, ovvero funzioni con lo stesso nome che hanno parametri diversi (detti in informatica parametri formali) sono diverse, e al momento dell'invocazione viene scelta la funzione in base al parametro (detto parametro attuale).
Questo vale per ogni metodo, non solo per i costruttori.


class persone
{
   public int annodinascita;
   public String Cognome=new String();
   // Costruttori
public persone(int annonascita)
{
this("Non Conosco");
this.annodinascita=annonascita;
}

public persone(String Cognome)
{
this(0);
this.Cognome=Cognome;
}

public persone(int annonascita , String Cognome)
{
annodinascita=annonascita;
this.Cognome=Cognome;
}

// Funzione che calcola l'età del soggetto;
public int calcolaeta ( int annoattuale )
{
return ( annoattuale - annodinascita );
}
}



Le linee che cominciano con // sono dei commenti, vengono ignorati dal compilatore, vi sono altri due tipi di commenti, quelli racchiusi tra /* e / che permettono di definire commenti su più linee e quelli racchiusi tra /** e */, che permettono sempre di definire commenti su più linee, sono detti commenti di documentazione, essi si devono trovare subito prima la dichiarazione di classi, di membri di classi (attributi o metodi) o costruttori, e vengono inclusi nella eventuale documentazione del codice generata automaticamente.

Nell'esempio vediamo che ci sono tre costruttori, diversi per i parametri formali, che hanno lo stesso nome, vediamo inoltre un nuovo attributo che è Cognome, esso è una Stringa, definita come public String Cognome=new String(); la parte prima dell'uguale è chiara, lo è meno quella a destra, quel new String() crea un nuovo oggetto della classe String, e ne invoca il costruttore che non ha parametri, questo è il modo standard usato da Java per instanziare gli oggetti di una classe. Non deve sorprendere che il tipo di dato stringa sia una classe, in Java è possibile usare oggetti che rappresentano tutti i tipi di dato del linguaggio, inseriti per completezza del linguaggio, detti involucri che a volte sono molto utili, è però possibile anche usare i valori.
Quindi ad esempio ci troveremo a lavorare sia con interi che con oggetti che rappresentano interi. Un ultima cosa che salta all'occhio dall'esempio è che i costruttori hanno volutamente dei parametri che hanno lo stesso nome degli attributi, anche questo è possibile in Java, il quale stabilisce che quando c'è un assegnamento alla sinistra dell'uguale ci deve essere l'attributo, e alla destra il parametro, comunque se non vogliamo confonderci possiamo usare il riferimento this, scrivendo ad esempio this.annodinascita intendiamo l'attributo. This è un riferimento all'oggetto, e nell'esempio lo troviamo anche come invocazione di funzione this(0), in questo caso esso è un riferimento ad un costruttore dell'oggetto, in questo caso chiama il costruttore persone (int annodinascita), con il valore 0. E' quindi possibile in un costruttore chiamare un costruttore diverso della classe stessa, a patto che l'invocazione sia la prima istruzione del costruttore e che il costruttore sia diverso da quello attuale.

 

^ On Top    ^ On Top Programmazione
A questo punto siamo pronti a creare oggetti appartenenti alla classe da noi appena definita, abbiamo tre modi per farlo, perché abbiamo creato tre costruttori, essi sono:

persone Pietro=new persone(1974);

oppure

persone Pietro=new persone("Castellucci");

oppure

persone Pietro=new persone(1974,"Castellucci");

ora vogliamo creare un altro oggetto della classe persone

persone Lina=new persone(1975);

oppure

persone Lina=new persone("Marucci");

oppure

persone Lina=new persone(1975,"Marucci");

a questo punto ho creato due oggetti della classe persone, essi sono in una relazione con la classe detta di inst_of, gli oggetti si chiamano uno Pietro e l'altro Lina, è possibile anche copiare i riferimenti degli oggetti, ad esempio è possibile scrivere:

persone Pietro2=Pietro;

Costruiti gli oggetti ne poso invocare i metodi, questo si fa indicando Oggetto.Metodo, ad esempio è possibile invocare i metodi:

Pietro.calcolaeta(2000);
Pietro2.calcolaeta(2000);
Lina.calcolaeta(2000);

 

^ On Top   ^ On Top Programmazione


Introduciamo adesso degli attributi e dei metodi particolari, i cosidetti membri statici. Per come abbiamo definito i membri della classe non ci è possibile referenziare direttamente dalla classe attributi e metodi ( persone.annodinascita è un errore), questo perché essi lavorano su una istanza della classe, ovvero su un oggetto, però a volte può essere utile scrivere metodi e attributi che possano essere invocati senza dover istanziare l'oggetto, ma direttamente dalla classe, per fare questo occorre dichiararli static, ad esempio:

class TitoliAziendaVattelapesca
{
public static int TassodiInteresse=3;
public String Proprietario=new String();
public static float InteressiMaturati (int Periodo)
{
return((Periodo * TassodiInteresse )/100)
}
TitoliAziendaVattelapesca(String nome)
{
Proprietario=nome;
}
}


Quindi potremo decidere ad esempio di instanziare un oggetto della classe TitoliAziendaVattelapesca solo se ci conviene, ad esempio facendo:

i
f (TitoliAziendaVattelapesca.InteressiMaturati(12)>1000)
CompraAzioni(10000);


Dove CompraAzioni(int X) è una funzione che instanzia X TitoliAziendaVattelapesca.

Introduciamo adesso la relazione is_a tra classi, data una classe è possibile creare una nuova classe da questa facendo come si dice in gergo una specializzazione della prima classe. La nuova classe creata è in relazione is_a con la prima. Creata una classe studente dalla classe (detta superclasse) persone, la nuova classe eredita dalla prima tutti i metodi e gli attributi, con la possibilità di definirne dei nuovo o di ridefinirne alcuni, in Java l'estensione di una classe si esplicita con la parola chiave extends.


class studente extends persone
{
int matricola;
// Costruttori
public studente(int annonascita)
{
super(annonascita,"Non Conosco");
}

public studente (String Cognome)
{
super(0,Cognome);
}

public studente(int annonascita , String Cognome)
{
super(annonascita,Cognome);
}

}


Come si vede dall'esempio la classe studente eredita tutti i metodi e gli attrubuti della classe persone, definisce un nuovo attributo matricola e nei suoi costruttori chiama i costruttori della classe persone, con super().
super() può essere, come this(), una invocazione di un altro costruttore (tra parentesi vanno i parametri eventuali) o un riferimento alla classe (alla superclasse in questo caso), quindi super.annodinascita rappresenta l'attributo annodinascita della superclasse persone. Le relazioni is_a e inst_of sono le due relazioni più importanti dei modelli ad oggetti. Adesso concludo con un esempio ed alcune considerazioni sull'esempio per spiegare il significato del public che abbiamo introdotto sopra, e del private e protected (attributi e metodi possono essere dichiarati come public, private e protected).


class A
{
public int a;
private int b;
protected int c;
// Suoi medodi, attributi e costruttori
}

class B extends A
{
public float a;
private float b;
protected float c;
// Suoi medodi, attributi e costruttori
}

class C
{
// Suoi medodi, attributi e costruttori
}


Abbiamo definito tre classi, A,B e C, B è definita da A ridefinendone i tre attributi, da interi a reali.
In A, nei suoi costruttori e nei suoi metodi ho libero accesso ai propri attributi di tipo intero, senza limitazioni, ovvero posso scriverli e leggerli a piacimento.
In B e C accade lo stesso per i propri attributi, ma vediamo cosa succede per quelli delle altre classi.
Ad esempio in B (in un suo metodo ) se scrivo espressioni con a,b e c, scriverò delle espressioni per dei float (in Java è importantissimo il tipo delle espressioni), per referenziare invece gli attributi omonimi di A da cui è ereditata, dobbiamo scrivere come sappiamo, super.a, super.b e super.c (e sono degli interi).
Il nostro compilatore Java non darà problemi per le prime due ma ci darà errore per la terza, questo perché il c di A è protected, questo vuol dire che è possibile leggere e scrivere quell'attributo solo all'interno della classe a cui appartiene, ma non è possibile leggerlo e scriverlo da classi estranee o da sottoclassi.
A questo punto mettiamoci in un metodo di C, instanziamo qui dentro un oggetto della classe B (lo chiamo b) e scriviamo le espressioni b.a, b.b e b.c , il nostro simpatico compilatore a questo punto ci darà buona solo la prima, questo perché la terza è protected ed è quindi visibile solo nella classe di appartenenza e la seconda è private, questo significa che è visibile solo alla classe di appartenenza e alle sue sottoclassi, e C non è sottoclasse di B.
Sopra ho un po' barato, ovvero ho parlato di attributi di classi e di oggetti come se fossero la stessa cosa, ma in effetti lo sono, solo con la piccola differenza che se accedo all'attributo di una classe ( NOMECLASSE.NOMEATTRIBUTO )questo sarà sicuramente static, e vi accederò solo in lettura, è in pratica una costante. Quando instanzierò la classe in un oggetto (NOMECLASSE NOMEOGGETTO= new NOMECLASSE (parametri); ), accedendo allo stesso attributo dell'oggetto ( NOMEOGETTO.NOMEATTRIBUTO ) accederò allo stesso valore di prima, e non potrò modificarlo (è static). Se cercherò invece di accedere ad un attributo non dichiarato static di una classe avrò ovviamente errore, infatti questo attributo verrà creato al momento della creazione dell'oggetto della classe, ed il più delle volte verrà inizializzato dal costruttore dell'oggetto.
Spero di essere stato abbastanza chiaro nella trattazione dell'argomento, però devo dirvi che i modelli ad oggetti sono piuttosto complicati, ed è impossibile spiegarli in dettaglio in un solo paragrafo, occorrerebbe un corso dedicato interamente a loro. Ovviamente quello che vi ho detto non è tutto sui modelli ad oggetti, ho solo introdotto alcuni concetti che ci basteranno per fare i nostri programmi in Java, se dovessi accorgermi durante il corso di avere tralasciato qualche punto importante per i nostri scopi il corso aprirà sicuramente una piccola parentesi.

 

^ On Top   ^ On Top Programmazione


Per il lettore che volesse approfondire l'argomento non mi sento di consigliare un testo, perché ve ne sono vari sull'argomento e tutti egregi, se invece vi accontentate di una introduzione all'argomento potreste vedere i capitoli iniziali di ogni buon manuale di programmazione per principianti di Linguaggi ad oggetti (C++ o Java), come ad esempio Java: Didattica e Programmazione di K.Arnold e J.Gosling (Ed. Addison-Wesley) Capitoli 2,3 e 4.
Mi raccomando però che sia per principianti, perché sui testi di programmazione avanzata l'argomento è dato per scontato.

 

Dopo questa introduzione dovresti esserti fatto un'idea di cosa è e di come opera il JAVA, quindi sei pronto/a ad affrontare il corso su  JAVA della SUN Microsystem su www.html.it . Il corso è strutturato in 23 lezioni con punti di approfondimento e la possibilità di scaricare gli esempi dimostrativi che vengono utilizzati. Questo corso è abbastanza complesso e quindi indirizzato agli utenti più esperti che comunque, se seguito approfonditamente, può dare solide basi anche ai principianti. Le lezioni sono le seguenti, clikka sull'argomento al quale sei interessato anche se ti consiglio (se sei alle prime armi) di seguire il corso punto per punto data la correlazione tra una lezione e l'altra. Buona fortuna. 

 

^ On Top

 

 

CORSO di JAVA di HTML.IT

Il package del linguaggio, diverse applicazioni Java e il primo programma.


1.
Cosa sono i Package di Java
I package sono delle collezioni di classi, racchiuse in una collezione che le accomuna. Sono in pratica delle librerie a cui l'utente può accedere e che offrono varie funzionalità.

2. Scrittura di applicazioni cosiddette "a console"
Le applicazioni più semplici da costruire, che non hanno grafica e che hanno interfaccia a caratteri, tipo le vecchie applicazioni DOS

3. Il nostro primo programma in Java
Sulla base di quanto esposto finora creiamo il primo programma in Java che faccia qualcosa

download Gli esempi delle prime 5 lezioni
Gli esempi di queste prime lezioni raccolto in un file .zip da 4Kb



Espressioni del linguaggio


4. Tipi primitivi di Java e valori
Per tipi primitivi di un linguaggio si intende i tipi di dato già definiti nel linguaggio e dai quali si può partire con la costruzione di espressioni, o di tipi composti.

5. Variabili
Le variabili sono dei valori modificabili, ovvero sono dei nomi che rappresentano un valore di un certo tipo, il valore associato al nome può essere variato

6. Operatori
Gli operatori del linguaggio Java sono gli stessi degli altri linguaggi, in più ogni nuovo tipo avrà i propri metodi che ne implementeranno nuovi operatori



I costruttori del linguaggio


7. Istruzioni
Istruzioni for, do-while, while, break, continue, Etichette e di return

8. Cenni sulle eccezioni e cenni sui thread
Le eccezioni sono un modo chiaro per controllare gli errori, senza confondere il codice con tante istruzioni di controllo dell'errore

download Gli esempi pratici dalla lezione 6 a 10
Gli esempi di queste prime lezioni raccolto in un file .zip da 13Kb


Potenzialità di Java


8. Java 2 Advanced Program Interface: il package java.lang
Esame di alcune funzionalita' del Package lang non viste nelle precedenti lezioni

9. Il package java.util
Questo package è molto utile, esso mette a disposizione 34 classi e 13 interfacce che implementano alcune tra le strutture dati più comuni, alcune operazioni su date e sul calendario, e altre cose.

10. I package java.util
In questa lezione vedremo la parte di java.util che tratta gli utilissimi file .zip e i .jar Iniziamo a vedere java.util.zip

11. I package java.net
Vari package per effettuare delle programmazione in Java.

12. Conclusioni sui package
Nelle lezioni precedenti abbiamo visto alcuni package contenenti le API del linguaggio Java, ma ce ne sono degli altri...

download Gli esempi pratici dalla lezione 11 a 15
Gli esempi di queste prime lezioni raccolto in un file .zip da 29Kb


Applicazioni VS Applet


13. Interfacce grafiche ed eventi
La programmazione di interfacce grafiche, quindi alla creazione di applet e di applicazioni a finestre.

14. Cosa è una applicazione a Finestre
E' l'applicazione che più spesso usiamo quando lavoriamo al computer, essa è una applicazione che viene eseguita in locale, che come interfaccia utente utilizza le tecnologia delle finestre

15. Cosa è un applet
Un'applet non è altro che una applicazione Java che gira su web. L'applet presenta qualche differenza con le applicazioni

16. Applicazioni miste
Possiamo creare delle appliczioni Java che usano altre applicazioni Java, cosa che non accade nei normali linguaggi di programmazione, ove è solo possibile invocare da un programma altri programmi.

download Gli esempi pratici dalla lezione 16 a 19
Gli esempi di queste quattro lezioni raccolto in un file .zip da 20Kb



Interfacce grafiche


17. GUI e AWT
La programmazione di interfacce grafiche, quindi alla creazione di applet e di applicazioni a finestre.

18. Le etichette ed i bottoni
Prima di cominciare questo che sarà uno dei capitoli più interessanti del corso, introduciamo il package awt e cosa è un componente GUI.

19. Contenitori e Gestione dei Layout
In questa lezione vedremo il funzionamento dei contenitori e dei layout, e come sfruttarli per rendere migliori le nostre interfacce.

20. Menu
Un menu in una applicazione non è altro che una MenuBar in cui vi sono vari menu. Si pensi ad un programma qualsiasi con le voci di menu File Edit ed Help.

A. 350 applet Java ordinate per argomento
In questa lezione esamineremo due componenti, i più semplici, le Label e i Bottoni. Le prime non hanno nessun evento associato mentre i secondi, a seconda del tipo di bottone hanno due tipi di eventi associati.

 

Torna a:

 

Introduzione al  JAVA

 

Introduzione alla programmazione JAVA

 

^ On Top

ICQ: 64895872 - E-mail: jnet@iol.it

Best view: 1024 x 768 / all right reserved © 2000/2001 The Last Day in the Web 

   

 

 

On Top