[ igracc @ 22.06.2007. 11:44 ] @
| 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.");
}
}
[Ovu poruku je menjao hyle dana 22.06.2007. u 14:40 GMT+1] |
[ bgd2500 @ 22.06.2007. 21:46 ] @
Nemoj da pises uvek na istu poziciju (50, 80), vec menjaj vrednosti po y osi.
[ Haker_od_Macve @ 22.06.2007. 22:11 ] @
Hajde dopuni primer ako znas! Citat: bgd2500: Nemoj da pises uvek na istu poziciju (50, 80), vec menjaj vrednosti po y osi.
[ bgd2500 @ 23.06.2007. 01:48 ] @
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.");
}
}
[ igracc @ 23.06.2007. 20:52 ] @
Pozdrav
Ok,hvala ti ! ! !
[ bgd2500 @ 23.06.2007. 22:14 ] @
Poenta nije u tome da ti neko drugi pise kod nego da ti to sam uradis.
[ Haker_od_Macve @ 23.06.2007. 23:16 ] @
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!
[ bgd2500 @ 24.06.2007. 23:18 ] @
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.
[ Haker_od_Macve @ 24.06.2007. 23:42 ] @
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!
[ bgd2500 @ 25.06.2007. 15:19 ] @
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 ;)
[ Haker_od_Macve @ 25.06.2007. 18:53 ] @
Nisi me razumeo za kretanje teksta levo-desno. Necu da mi string ide levo-desno vec njegov tekst!
[ bgd2500 @ 26.06.2007. 10:59 ] @
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.
[ Haker_od_Macve @ 26.06.2007. 18:45 ] @
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.");
}
}
}
//*******************************************************************************
[Ovu poruku je menjao Haker_od_Macve dana 27.06.2007. u 21:09 GMT+1]
[Ovu poruku je menjao Haker_od_Macve dana 27.06.2007. u 21:12 GMT+1]
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|