Un zona de texto
Iste passo es un sorte de parenthese : nos va adder un zona de texto al applet, de maniera que nos evitara utilisar le methodo repaint() pro testar le cliques del mure.
TextField
Le instruction sequente permitte de declarar un objecto TextField :
TextField T = new TextField("si", 5);
Le texto "si" apparera per defecto in le zona de texto. Ille zona habera un longitude de 5 characteres.
Si vos ne vole que un texto appare per defecto, vos pote simplemente scriber :
TextField T = new TextField(5);
Il es etiam possibile de declarar un catena de characteres vacue (String t = new String("");), postea donar lo un valor (t = "Si";), e passar ille catena de characteres al zona de texto con le methodo setText() :
String t = new String("");
TextField T = new TextField(t, 5);
t = "Si";
T.setText(t);
add() e init()
Postea, nos debe placiar ille zona de texto super le applet. Illo es facibile per le methodo add(), de ille maniera :
add(T);
Uno debe notar que, per ille methodo, le zona de texto non poteesser placiate a un loco precise del applet. Le zona de texto apparera post le elementos jam inserte con ille methodo.
Uno debe etiam notar que ille methodo debe apparer intra le methodo init() que es lanceate al cargamento del applet :
import java.awt.*;
public class applet13 extends java.applet.Applet
{
String t = new String("");
TextField T = new TextField(t, 5);
public void init()
{
t = "Non !";
T.setText(t);
add(T);
}
}
E ecce le resultato :
Le codice preste al uso
Application al applet del rectangulo cliccabile : in loco de lancear le methodo repaint(), le clic lancea le methodo T.setText().
import java.applet.*;
import java.awt.*;
public class applet14 extends Applet
{
Rectangle r = new Rectangle(10,30,20,20);--- le ordinata es abassate
boolean intra;
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)
{
intra =(r.inside(x,y)) ? true : false;
if (intra)
{
t="Si";
T.setText(t);
}
return true;
}
public boolean mouseUp(Event evt, int x, int y)
{
t="Non";
T.setText(t);--- le texto Non es inviate si tosto que le button del mure es laxate
return true;
}
}
E ecce le resultato :
Le codice preste al uso
|