Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 12 odgovora
  • 4.977 pregleda

Najnovija ↓

Mala pomoc oko ne tako teskog pitanja 22.06.2007. u 12:44 · pre 236 meseci
izmenjeno 1 put, poslednji put hyle 22.06.2007. u 14:40
  1. hyle22.06.2007. u 14:40zapis iz teksta poruke
#1
Pozdrav
Treba da uradim sledeci aplet:pomera tekst od dole na gore,sadrzaj teksta treba da se menja iz desne u levu stranu.
Ja sam napisao za pomeranje iz desne u levu stranu ,samo ne znam da napisem za pomeranje od dole ka gore
Evo koda:

Code:

import java.awt.*;
import java.applet.*;
/*
 <applet code="JednostavanNatpis" width=300 height=50>
 </applet>
 */

public class JednostavanNatpis extends Applet implements Runnable {
    String poruka="Ovo je tekst koji se pomera iz desne u levu stranu. ";
    Thread t=null;
    int stanje;
    boolean oznakaZaKraj;

    public void init(){
     setBackground(Color.cyan);
     setForeground(Color.red);
    }
    
    public void start(){
        t=new Thread(this);
        oznakaZaKraj=false;
        t.start();
    }
    
    public void run(){
        char ch;
        
        for( ; ; ){
            try{
                repaint();
                Thread.sleep(250);
                ch=poruka.charAt(0);
                poruka=poruka.substring(1,poruka.length());
                poruka+=ch;
                if(oznakaZaKraj)
                    break;
            }catch (InterruptedException e){}
        }
    }
    
   public void stop(){
       oznakaZaKraj=true;
       t=null;
   }
   
   public void paint(Graphics g){
       g.drawString(poruka,50,80);
       showStatus("Aplet pomera tekst od dole ka gore,i iz desne u levu stranu.");
   }
}
Re: Mala pomoc oko ne tako teskog pitanja 23.06.2007. u 02:48 · pre 236 meseci #4
Na primer ovako;
Code:

import java.awt.*;
import java.applet.*;
/*
 <applet code="JednostavanNatpis" width=300 height=50>
 </applet>
 */

public class JednostavanNatpis extends Applet implements Runnable {
    String poruka="Ovo je tekst koji se pomera od dole ka gore i iz desne u levu stranu. ";
    Thread t=null;
    int stanje;
    int y;
    boolean oznakaZaKraj;

    public void init(){
        setBackground(Color.cyan);
        setForeground(Color.red);
    }
    
    public void start(){
        t=new Thread(this);
        oznakaZaKraj=false;
        y = getHeight();
        t.start();
    }
    
    public void run(){
        char ch;
        
        for( ; ; ){
            try{
                repaint();
                Thread.sleep(250);
                ch=poruka.charAt(0);
                poruka=poruka.substring(1,poruka.length());
                poruka+=ch;
                if (y == 0) {
                    y = getHeight();
                } else {
                    y--;
                }
                if(oznakaZaKraj)
                    break;
            }catch (InterruptedException e){}
        }
    }
    
    public void stop(){
        oznakaZaKraj=true;
        t=null;
    }
   
    public void paint(Graphics g){
        g.drawString(poruka,50,y);
        showStatus("Aplet pomera tekst od dole ka gore,i iz desne u levu stranu.");
    }
}
Re: Mala pomoc oko ne tako teskog pitanja 24.06.2007. u 00:16 · pre 236 meseci #7
Kako da promenim smer kretanja teksta.Ne mogu da shvatim gde je taj deo koda koji to definise! Kada tekst dodje do vrha on treba da se vrati dole.I sve tako u krug.Kakav uslov da postavim?Nemam nikakvu literaturu pa se ne snalazim bas najbolje!Samo imam zapise sa casova koji su bas minimalni,a za ovaj zadatak mi ne mogu pomoci!
Re: Mala pomoc oko ne tako teskog pitanja 25.06.2007. u 00:18 · pre 236 meseci #8
Definisi promenljivu za smer kretanja na primer;

boolean nadole = false;

i izmeni deo za racunanje y koordinate teksta da zavisi od smera kretanja.
Umesto
Code:

...
if (y == 0) {
    y = getHeight();
} else {
    y--;
}
...

stavi nesto ovako
Code:

...
if (nadole) {
    y++;
    if (y == getHeight()) {
        nadole = false;
    }
} else {
    y--;
    if (y == 0) {
        nadole = true;
    }
}
...

I potrudi se da ukapiras sta radi kod, inace dzaba posao.
Re: Mala pomoc oko ne tako teskog pitanja 25.06.2007. u 00:42 · pre 236 meseci #9
Ubacio sam ovaj deo koda:

if (nadole) {
y--;
if (y == getHeight()) {
nadole = false;
}
} else {
y++;
if (y == 0) {
nadole = true;
}
}
**********************************************
Kada promenim y-- i y++ dobijem ono sto mi treba, da ide od gore pa na dole, ali ne pocinje sa vrha prozora vec sa neke pozicije pri sredini.Kako to da podesim? I ne znam kako da promenim pravac kretanja poruke(levo-desno).Sto se tice razumevanja koda, sve sto napises ja cu shvatiti!
Re: Mala pomoc oko ne tako teskog pitanja 25.06.2007. u 16:19 · pre 235 meseci #10
Ako hoces da ti ide od gore na dole i da krene od vrha, dodaj u start() metod

y = 0;
nadole = true;

Za levo-desno bi (analogno pomeranju gore-dole) trebalo da azuriras x koordinatu na kojoj se ispisuje text, a ne ovako kako sada radi.
Cenim da ces uspeti sam da se izboris sa tim ;)
Re: Mala pomoc oko ne tako teskog pitanja 26.06.2007. u 11:59 · pre 235 meseci #12
Napravio si da ti tekst ide u levo, zar ne. Ajde probaj da prepravis te 3 linije koda da tekst umesto u levo ide u desno (pogledaj u dokumentaciji sta radi substring). Kad to savladas, uvedi jos jednu promenljivu koja ce da ti kaze kako se trenutno pomera tekst, tipa

boolean nalevo = true;

Code:

public void run() {
    ...
    if (nalevo) {
        // pomeranje tekst u levo
        ch=poruka.charAt(0);
        poruka=poruka.substring(1,poruka.length());
        poruka+=ch;
    } else {
        // pomeranje teksta u desno (treba da napises sam)

    }
    ...
}

Kasnije sa

nalevo = true/false;

menjas smer kretanja teksta.
Re: Mala pomoc oko ne tako teskog pitanja 26.06.2007. u 19:45 · pre 235 meseci
izmenjeno 2 puta, poslednji put Haker_od_Macve 27.06.2007. u 21:12
  1. Haker_od_Macve27.06.2007. u 21:12zapis iz teksta poruke
  2. Haker_od_Macve27.06.2007. u 21:09zapis iz teksta poruke
#13
Evooooooooo resenjaaaaaaaaaaaaaa!!!

Code:

import java.awt.*;
import java.applet.*;
/*
<applet code="JednostavanNatpis" width=300 height=50>
</applet>
*/

public class KretanjeTeksta extends Applet implements Runnable {
String poruka="Ovo je tekst koji se pomera iz leve u desnu stranu.";
Thread t=null;
int y;
char nagore,nadole='0';
boolean oznakaZaKraj;
//***********************************************************************
public void init(){
setBackground(Color.yellow);
setForeground(Color.black);
}
//************************************************************************
public void start(){
t=new Thread(this);
oznakaZaKraj=false;
//tekst krece od 0
y=0;
t.start();

}
//*************************************************************************
public void run(){
char ch;
int w;

for( ; ; ){
try{

if(nadole=='0')
{
//kada je y==getHeight tekst ostaje na dnu
if(y==getHeight())
{

nadole='1';
nagore='1';
poruka="Ovo je tekst koji se pomera iz desne u levu stranu .";
}else{
repaint();
Thread.sleep(150);
w=poruka.length();
ch=poruka.charAt(w-1);
poruka=poruka.substring(0,w-1);
poruka=ch+poruka;

y++;
}
}

if(nagore=='1')
{

repaint();
Thread.sleep(150);
w=poruka.length();
ch=poruka.charAt(0);
poruka=poruka.substring(1,w);
poruka+=ch;

y--;
}


if(oznakaZaKraj)
break;
}catch (InterruptedException e){}
}
}
//*****************************************************************************
public void stop(){
oznakaZaKraj=true;
t=null;

}
//*****************************************************************************
public void paint(Graphics g){
g.drawString(poruka,100,y);
if(nadole=='0'){
showStatus("Aplet pomera tekst od gore ka dole i iz leve u desnu stranu.");
}
if(nadole=='1') {
showStatus("Aplet pomera tekst od dole ka gore i iz desne u levu stranu.");
}
}
}
//*******************************************************************************
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme