Første |
|
|
Tidligere java-versioner serie, Planche nr. 12 |
 |
Udskrift af : Tidligere java-versioner
|
Planche 1 : Tidligere java-versioner
Det er nødvendigt at kende til og bruge ældre udgaver af JDK,
hvis man ikke kan bestemme, hvad ens "kunder" anvender.
Planche 2 : Problemområder
- Udviklingsversioner
- Kun AWT-klasser
- Eventmodel 1.0
Planche 3 : Skarpe hjørner
- JDK 1.02 mest udbredte
- JDK 1.02 Eventmetode brugt til JDK 1.1.4
- Netscape indtil V.4.0.7 leveret med JDK 1.1.2!
- Inklusive alle danske versioner
- Nuværende versioner af NS og IE svarer til JDK 1.1.5
- Seneste JDK i den serie 1.1.8
Netscape V.6 (beta) for Windows indeholder JDK 1.3!
Planche 4 : Det Swinger ikke!
- Swing biblioteket er add-on i JDK 1.1.x
- INGEN browser har det indbygget!
- Swing v. 1.0.1 (Visual Cafe 2.x default) dur ikke
- Swing v. 1.0.2 og 1.0.3 kan downloades og installeres
- Eller brug plug-in (JRE v. 1.1.1 eller 1.1.2)
- Automatisk download og installation mulig
Planche 5 : AWT biblioteket
AWT biblioteket (java.awt.*) er
- en forenklet (oprindelig) udgave af JFC.
- Fjern J foran JFC klassenavnet og se, om det findes i awt.
- Kun "native" look&feel
- Kan generelt ikke modificeres
- Ikke genvejstaster (mnemonic)
- Ikke popup-hjælp (toolTipText)
Men...
- Indbygget i de fleste browsere m. javasupport
Planche 6 : Eventmodel 1.0
- Overskriv handleEvent() metoden
public bolean HandleEvent (Event e) {
... kig på e, for at se, om det var en hændelse du kan bruge
return true ; // hvis du har "brugt" eventet
..
return false ; // hvis du ikke har "brugt" eventet
}
- eller en af undermetoderne.
-
action()
-
mouseEnter()
-
mouseExit()
-
mouseMove()
-
mouseDown()
-
mouseDrag()
-
mouseUp()
-
keyDown()
-
keyUp()
-
gotFocus()
-
lostFocus()
Planche 7 : Begrænsninger
Man bør ikke anvende model 1.0 fordi:
- HandleEvent() skal håndtere ALT
- Flere komponenter => Flere betingelser
- meget kompliceret at vedligeholde
- Man kan kun overskrive i subklasser
- Man kan altså ikke modificere standardklassers action()-metode
Planche 8 : Fordele
Man bør anvende model 1.0 når:
- Man vil lave applets til internettet
Planche 9 : Eksempel
/*
* Eksempel paa en GUI applet, hvor de grafiske elementer ligger
* i selve applettens omraade
*/
import java.awt.* ; // brug alle klasser i pakken java.awt
public class GUIapp extends java.applet.Applet {
/* variable */
Label etiket1 = new Label("Tekst til venstre",Label.LEFT);
Label etiket2 = new Label("Tekst i midten",Label.CENTER);
Label etiket3 = new Label("Tekst til hoejre",Label.RIGHT);
// 3 Label-objekter dannes og gemmes i lokale variable
Button knap1 = new Button("<< skift");
Button knap2 = new Button("skift >>");
// 2 knap-objekter dannes og gemmes lokalt
/*
* Dannelsen sker samtidig med, at klassen realiseres
*/
public void init() {
// overskriver applet standard-rutinen.
// setLayout(null); // slet første // for at se effekt
// Layoutmanageren arbejder direkte på appletten (eller Frame)
// Der er ingen contentPane.
add(etiket1) ; // tilfoej etiketter direkte til applet
add(etiket2) ;
add(etiket3) ;
add(knap1) ; // tilfoejer de to knapper
add(knap2) ;
}
// Her kommer så den metode, der når den overskrives "henter"
// et event
public boolean action(Event e, Object arg) {
// action() er deprecated - foraeldet. Derfor giver
// javac en 'warning'. action () er event model 1.0
// der svarer til 1.1 s actionPerformed()
//
// e er et eventobjekt (klasse Event) med en
// public variabel 'target' som peger på det objekt
// der blev aktiveret:
if (e.target == knap1) {
knap1_Aktion();
// en lokal metode, der goer alt arbejdet
return true;
// signaler, at vi har "taget" eventet
} else if (e.target == knap2) {
knap2_Aktion();
return true;
}
else return false;
// Det var ikke et event, vi kendte til.
}
/*
* De to lokale metoder - de kendes ikke uden for denne klasse
*
*/
void knap1_Aktion() {
etiket2.setAlignment(Label.LEFT);
}
void knap2_Aktion() {
etiket2.setAlignment(Label.RIGHT);
}
}
Planche 10 : Opgave
Lav en "Swing"-applet ligesom LoginApplet, men med
- Eventmodel 1.0
- AWT-komponenter
Kald den AWTApplet.java
Planche 11 : Installation af Swing i JDK 1.1.x
- Download Swing 1.0.3
- Unzip til Swing-1.0.3 katalog
- SET JAVA_HOME til JDK-katalog
- SET SWING_HOME til Swing-1.0.3 katalog
- tilføj jar-files fra SWING_HOME til CLASSPATH
- SET CLASSPATH=.;%CLASSPATH%;%SWING-HOME%\swingall.jar
SET-kommandoerne tilføjes til autoexec og der rebootes
Det først punktum efter = i CLASSPATH er KRITISK!
Planche 12 : Installation (Netscape)
Hvis man kun vil se Swing-applets (f.eks. hos brugere),
og man benytter Netscape:
- Kopier alle *.jar-filer
- til Netscapes CLASSES-katalog
- (Se efter andre jar-filer)
- Kun Netscape fra v.4.0.7 (JDK V.1.1.5)
Installation i Internet Explorer som for JDK 1.1
© 2000 BLA*net - Leif E. Andersen,
leander@blanet.dk