Code:
public class PrimjerZaTextPoljeIAplet extends Applet implements ActionListener,
Runnable {
String poruka1="Moj prvi aplet";
TextField ime, prezime;
String porukabutton="";
Button pritisni;
Thread t=null;
int stanje;
boolean oznakaZaKraj;
Font f = new Font("SansSerif", Font.BOLD, 50);
public void init() {
setBackground(Color.white);
setForeground(Color.black);
pritisni=new Button("pritisni");
Label imep=new Label ("Ime: ",Label.RIGHT);
Label prezimep=new Label("Prezime: ",Label.RIGHT);
ime=new TextField(10);
prezime=new TextField(20);
add(pritisni);
add(imep);
add(ime);
add(prezimep);
add(prezime);
pritisni.addActionListener(this);
ime.addActionListener(this);
prezime.addActionListener(this);
}
public void start() {
t= new Thread(this);
oznakaZaKraj=false;
}
public void run() {
char ch;
for (; ;) {
try {
repaint(200,200,poruka1.length(),15);
Thread.sleep(250);
ch=poruka1.charAt(0);
poruka1=poruka1.substring(1,poruka1.length());
poruka1+=ch;
if(oznakaZaKraj)
break;
}
catch (InterruptedException e) {}
}
}
public void stop() {
oznakaZaKraj=true;
t=null;
}
public void paint(Graphics g) {
g.drawString("Ime: "+ ime.getText(),6,60);
g.drawString("Oznaceni tekst u imenu: "+ime.getSelectedText(), 6,80);
g.drawString("Prezime: "+ prezime.getText(), 6,100);
g.setFont(f);
g.setColor(Color.red);
g.drawString(poruka1, 200, 200);
}
public void actionPerformed(ActionEvent e) {
String str=e.getActionCommand();
if (str.equals("pritisni")){
t.start();
}
repaint();
}
}
Zaboravila sam da napisem da sam prebacila da izvrsavanje niti pocne tek u metodi ActionPerformed ali da tekst apleta jos uvijek dobijam pri pokretanju programa...Odnosno tekst mi se ispisuje iz metode paint pa ga zbog toga imam odmah na startu..Medjutim ja kada stavim neke argumente u metodi repaint() koja je na kraju kako bi mi se update-ova samo jedan dio prozora program potpuno poludi...