FrazPC.pl - Programy - Pogoda - Gry - Hosting


Aktualności Programy Artykuły GSM RTV Board
Intel Pineview | HTC HD2 | Westmere | Profil | Loguj | Stats |






| Wątek przeczytany 277 razy |
| Dodany 01-02-2010 20:01 |
| Odpowiedzi 14 |
| Śledzony 1 |
| Autor: Seraphim |
| Wątków : 5 | Odpowiedź: 15 |

[ Lista wątków ] [ Odśwież tę stronę ] [ Statsy wątku ]

java - painting

Witam,

Mam taki problem - chciałbym wykorzystywać wątki do rysowania na utworzonej planszy. Szkielet programu przedstawia się następująco:

class A extends Thread
{
public run()
{
.. tutaj chciałbym dostać się do g2d klasy B i narysować coś ..
}
}

class B extends JPanel
{
public paintcomponent(Graphics g)
{
super.paintComponent(g);
Graphics2D g2d = (Graphics2D)g;

tutaj wykorzystuję g2d to rysowania
}
}

Byłbym wdzięczny za każdy pomysł w tej sprawie




Odpowiedzi

adrianpirat
01-02-2010 20:12

Wątki: 229 Odpowiedzi: 1550 
Ottawa

w

konstruktorze klasy A robisz referencje do obiektu klasy B
tak żeby klasa a miała dostęp do tego obiektu typu B

Zbieram na kompa!! nr konta 38 1140 2004 0000 3402 3890 1656 lub szukam pracy w okolicach wawy/ minsk maz.
Seraphim
01-02-2010 20:26

Wątki: 5 Odpowiedzi: 15 
Bielsko-Biała

re

Tworząc obiekt klasy B w klasie A będę w każdym wątku tworzył od nowa plansze .. to nie jest ani wydajne ani odpowiednie do tego programu. Przez getGraphics() to nie działa.

 
rusty
01-02-2010 20:30

Wątki: 40 Odpowiedzi: 3376 
Gdansk

...

wg adrianpirat: nie tworzysz nowego obiektu klasy B w klasie A tylko zachowujesz referencje do istniejacego.






terrible lie
Seraphim
01-02-2010 20:40

Wątki: 5 Odpowiedzi: 15 
Bielsko-Biała

re

Tak jak już pisałem przy użyciu referencji czyli "B b;", a następnie b.getGraphics gdyż B dziedziczy po JPanel - getGraphics zwraca null.

 
rusty
01-02-2010 20:51

Wątki: 40 Odpowiedzi: 3376 
Gdansk

...

znam dobrze .net i chcialem przeniesc analogie do javy ale poczytalem o referencjach w javie i wymieklem chyba nie dziwie sie, dlaczego java odchodzi w przeszlosc...







terrible lie
adrianpirat
01-02-2010 20:51

Wątki: 229 Odpowiedzi: 1550 
Ottawa

.

 
class A extends Thread
{
B b;
public A(B b)
{
this.b=b;
}
public run()
{
this.b.robcos;
}
}

class B extends JPanel
{
public paintcomponent(Graphics g)
{
super.paintComponent(g);
Graphics2D g2d = (Graphics2D)g;

tutaj wykorzystuję g2d to rysowania
}
}
class C //wywołanie
{
public C()

{

B b=new B();
A a=new A(b);
a.start();
A a2=new A(b);
a2.start();
}

}





Zbieram na kompa!! nr konta 38 1140 2004 0000 3402 3890 1656 lub szukam pracy w okolicach wawy/ minsk maz.
adrianpirat
01-02-2010 20:58

Wątki: 229 Odpowiedzi: 1550 
Ottawa

rusty

czy ja wiem czy java przechodzi do historii??
jesli chodzi o tworzenie aplikacji użytkowych to tak ale cały czas ma potencjał duży jeśli chodzi o tworzenie stron www.

jesli chodzi o referencje jest to na początku trudne, ja teraz nie myśle o tym jak pisze programy.

Zbieram na kompa!! nr konta 38 1140 2004 0000 3402 3890 1656 lub szukam pracy w okolicach wawy/ minsk maz.
Seraphim
01-02-2010 21:01

Wątki: 5 Odpowiedzi: 15 
Bielsko-Biała

re

Spróbuje w ten sposób - dzięki Mam do napisania projekt w .net ale nie widzę tego - wszystko do wyklikania, ale jak się pojawi błąd to szukaj igły w stogu siana Czy ja wiem czy tak odchodzi w przeszłość ...

 
rusty
01-02-2010 21:16

Wątki: 40 Odpowiedzi: 3376 
Gdansk

Seraphim

z tego co czytalem to w momencie gdy robisz:

this.b = b;

tracisz referencje i robisz kopie obiektu.
co by bylo, gdybys w kostruktorze wywolal b.getGraphics? powinienes dostac oryginalne graphics. Inne pytanie to jest takie, czy mozesz zachowac w obiekcie A tak uzyskane graphics

na boku: .net to nie tylko "wyklikiwanie" aplikacji, mnostwo rzeczy jest nie do wyklikania i nigdy nie mialem problemow z debugowaniem (pisalem bardzo duza aplikacje typu client-server z uzyciem WCF).


adrianpirat: cala technologia ASP.NET jest oparta na platformie .NET i pisanie w niej aplikacji jest prawdziwa przyjemnoscia. mam nadzieje, ze zjawi sie Michoo i to potwierdzi





terrible lie
Seraphim
01-02-2010 21:24

Wątki: 5 Odpowiedzi: 15 
Bielsko-Biała

rusty

Gdy wywołam b.getGraphics które teoretycznie powinno mi zwrócić Graphics z paintcomponent - zwraca null. Także nie mogę stworzyć kopi B gdyż to jest tylko stworzenie planszy - a za pomocą A chcę umieszczać dowolną ilość obiektów na tejże planszy

 
adrianpirat
01-02-2010 21:30

Wątki: 229 Odpowiedzi: 1550 
Ottawa

.

this.b = b;
tu nie traci referencji.

Każdy lub to co umie dobrze. ASP.Net próbowałem sie nauczyć, ale wybrałem jave.

Wracając do tematu to kod który dostałem nie mam utworzenie obiektu typu A.

Zbieram na kompa!! nr konta 38 1140 2004 0000 3402 3890 1656 lub szukam pracy w okolicach wawy/ minsk maz.
Seraphim
01-02-2010 21:53

Wątki: 5 Odpowiedzi: 15 
Bielsko-Biała

adrianpirat

Nie ma w tym kodzie utworzenia obiektu typu A czyli bodajże Car gdyż będzie on tworzony do tablicy - na chwilę obecna skupiamy się na zdeklarowaniu obiektu A aby wyświetlał obiekty na planszy utworzonej przez B.

 
adrianpirat
01-02-2010 21:59

Wątki: 229 Odpowiedzi: 1550 
Ottawa

.

 


class Car extends Thread
{
EllipseTrace et;

public Car(EllipseTrace et)
{
this.et = et;
start();
}
@Override
public void run()
{
Graphics g = et.getGraphics();
g.setColor(Color.black);
g.fillRect(20,00,130,150);
et.repaint();
}
}



to powyżej narysuje czarny prostką

Zbieram na kompa!! nr konta 38 1140 2004 0000 3402 3890 1656 lub szukam pracy w okolicach wawy/ minsk maz.
rusty
01-02-2010 22:01

Wątki: 40 Odpowiedzi: 3376 
Gdansk

yup

tez wlasnie pomyslalem o subklasowaniu Thread i w nim zarzaniu grafika





terrible lie
>> Powrót na główną stronę boarda <<
>> Odśwież tę stronę <<





Aby pisać na boardzie należy najpierw się zalogować

Loguj Się

Ksywka 
Hasło

Po zamknięciu przeglądarki automatycznie wyloguj mnie z systemu

Jeżeli nie posiadasz konta możesz go założyć w dziale logowanie
Jeżeli nie pamietasz hasła możesz go odzyskać tutaj


Mini-Board

Najnowsze
 [OT] Pudzian vs Tim Silva potwierdzone!!!2policemanDziś 10:32
 [OT] spoznienie z zaplaceniem podatku, kosekwencje??8yoyo2oDziś 8:39
 opera 10.50 juz jest!18_skol_Dziś 8:17
 Backup serwera linux z poziomu windy (sieci) czym to zrobić?8BUDASTYDziś 7:46
 [GRY] Bad Company 2 - Media Markt8zigihammerDziś 6:13
Następny-Poprzednie
 [BLOG] oldschoolowy pad do ps211FaceHugger01-02-2010 21:10
 [BLOG] Sonda, czy lubisz cacodemona ?32cacodemon01-02-2010 21:05
 [GIEŁDA] Radeon 9700PRO 128MB/256bit chłodzenie ZALMAN9Adanos01-02-2010 20:21
 java - painting14Seraphim01-02-2010 20:01
 [OT] HT + PS = HS ?? 9Speeeed01-02-2010 19:57
 [KOM] News - 10. urodziny FrazPC.pl !!!108Mayor01-02-2010 19:41
 Was też wylogowuje na frazpc?21mikosss199001-02-2010 19:36
Podobne - (Wszystkie podobne)
 java - painting14Seraphim01-02-2010 20:01
 [OT] Body painting (18)41iron fOx09-08-2007 13:21
 [FUN] body painting na wesoło35314-ter12-05-2004 15:07
 Interactive painting guide for Athlon Thoroughbred3HimwDFiV09-02-2003 1:16
 [BLOG] trochę inny body painting (18)16pit_66608-04-2007 12:28
 Java9banan18-06-2002 18:15
 ! JAVA !5! ReD !28-06-2002 18:40



>> Powrót na główną stronę boarda <<
>> Odśwież tę stronę <<





Wszystkie Wątki




Redakcja serwisu FrazPC.pl nie ponosi odpowiedzialności za ewentualne szkody powstałe
w wyniku użytkowania jakichkolwiek materiałów ukazujących się na łamach FrazPC.pl.
Copyright © FrazPC.pl 1997-2010
| Online: 3982 | Online w dziale: 3140 | Odsłony: 609,782,790 | Czas generacji strony: 0.0135 s |