français
interlingua
 

Entajpebla linio

Tiu paŝo estas ia parentezo : ni aldonos entajpeblan linion al la retprogramo, tiamaniere ke ni ne plu uzos la metodon repaint() por testi la musklakojn.

TextField

La jena instrukcio ebligas deklari objekton TextField :
TextField T = new TextField("jes", 5);
La teksto "jes" defaŭlte aperos en la entajpebla linio. Tiu linio estos 5 karaktrojn longa.

Se oni ne deziras defaŭltan tekston, oni povas simple skribi
TextField T = new TextField(5);
Oni povas ankaŭ deklari malplenan signoĉenon (String t = new String("");), poste doni al ĝi valoron (t = "Jes";), kaj poste pasigi tiun signoĉenon al la entajpebla linio per la metodo setText() :

String t = new String("");
TextField T = new TextField(t, 5);
t = "Jes";
T.setText(t);

 

add() kaj init()

Poste, oni devas meti tiun entajpeblan linion sur la retprogramon. Tion oni faras per la metodo add(), tiel :
add(T);

Estas notinde, ke per tiu metodo oni ne povas meti la entajpeblan linion sur precizan lokon de la retprogramo. La entajpebla linio aperos post la elementoj, kiujn oni jam aldonis per tiu metodo.

Ankaŭ estas notinde, ke tiu metodo devas aperi ene de la metodo init(), kiu estas unue lanĉita :

import java.awt.*;
public class apleto13 extends java.applet.Applet
{
String t = new String("");
TextField T = new TextField(t, 5);

public void init()
{
t = "Ne !";
T.setText(t);
add(T);
}
}

 

Jen la rezulto :

La uzpreta kodo

Apliko al la retprogramo kun surklakebla rektangulo : anstataŭ lanĉi la metodon repaint(), la musklako lanĉas la metodon T.setText().

import java.applet.*;
import java.awt.*;

public class apleto14 extends Applet
{
Rectangle r = new Rectangle(10,30,20,20);--- la ordinato estas iom pli malalta
boolean ene;
String t = new String("");
TextField T = new TextField(t, 5);

public void init()
{
add(T);
}

public void paint(Graphics g)
   {
   g.setColor(Color.black);
   g.fillRect(r.x,r.y,r.width,r.height);
   }

public boolean mouseDown(Event evt, int x, int y)
   {
   ene =(r.inside(x,y)) ? true : false;
   if (ene)
      {
      t="Jes";
      T.setText(t);
      }
   return true;
   }

public boolean mouseUp(Event evt, int x, int y)
   {
   t="Ne";
   T.setText(t);--- la teksto Ne estas sendita, kiam la butono de la muso estas malpremita
   return true;
   }
}

 

Kaj jen la rezulto :

La uzpreta kodo