r
24 /« Kielecki # Jam 2
clieJc - new ButtonfClick Me");
•ddlclłck);
cllek.addActlonLlstonerI new ActlonLletenerO I public vold
eetlonPerforaed(ActionEvent evt)
‘. -£■ *
greet •
updatt (getGraphice O);
SerIng nane - getNeae("-■> "j greet(nonę);
)
String geCMone(String proapt)
lnp - new InputStrcamPcador (System,in): tokens - new ScreaaTokenizer(inp); String nonę ■ "cluauny"; double ege - 0;
inc EOF • StreaaTokenlzer.TT EOF; try (
Syetea.out.prlnt(proapt); wt>ile(tokene.nextToken() !- EOF) ( SCrlng tapNaae ■ tokens.evel; tokens.nextTokenI); if(Cokene.nvel > egei ( nonę - tapNeae; ege - tokena.nvel;
I
Systen.out.print(prospt);
I
cetcMIOException e) f
j.
return neae;
vold greet(String neae)
greet • "Heli© ■ • neae; repelntO;
Public void point(Graphics gDC)
gDC.drewStnng(greet, 10, 20);
Dołączanie kodu w C++
4
Po upewnieniu się. że program działa poprawnie (dla uproszczenia przyjęto, że dane są dostarczane bezbłędnie), można przystąpić do wymiany metody fctName na funkcję napisaną w C++.
Krok /. Usunięcie z programu definicji metody getName i zastąpienie je) deklaracją funkcji rodzime)
natlve String getNas* (String proapt);
Krok 2. Wstawienie do programu inicjatora ładującego bibliotekę Greet. dii, w której zostanie umieszczony skompilowany kod funkcji rodzimej
statlc {
System.loadLibrary("Greet");
I
Krok J. Skompilowanie programu
Program po zmianach
<applet code-Master width-300 height-100> </applet> import Java.applet import ]svs.«wt.*; import )svs.sMt.«vsnt.*; import ]ava.io.*/
class Master extends Applct I
String greet • mus InputStreaaAeader lnp; ScreaaTokenizer tokens;
Button cllck;
statlc f
Syatom. loadLibrary ("Greet") ;
I
public vold lnitO |
cllck - new Button("Click Me"); add(cllck);
cllck.addActlonblscener(