Jak kolorować pojedyncze pixele w JPanel ?

0

Chciałbym móc odwołać się jakoś do konkretnego pixela w JPanel i móc zmienić jego kolor. Nie znalazłem jednak takiej metody w Graphics czy Graphics2D. Szukałem również w dokumentacji i google, ale i to nie pomogło.

Jedyna metoda, która przychodzi mi do głowy to wykorzystanie fillRect(...) o rozmiarach 1x1, ale może jest jakieś bardziej eleganckie rozwiązanie ?

0

Potrzebny Ci ten JPanel? Może jednak coś, co służy do rysowania. Jakiś Canvas z AWT, albo coś takiego?

0

Nie muszę używać JPanel, potrzebuję właśnie jakby takiego płótna, ale z tego co przeczytałem tutaj: http://4programmers.net/Java/J2ME/Rysujemy_po_ekranie to korzysta on z obiektu Graphics, czyli dalej nie będę miał możliwości edycji pojedynczych pixeli ? Czy jakoś będzie można ?

0

Nie no.. Rysujesz po Graphic, a Canvas go wyświetla/odświeża. Efekt jest ten sam, więc nie wiem, czemu się przed tym wzbraniasz? JPanel jest komponentem, kontenerem przechowującym inne komponenty. Możesz mu wstawić jakiś komponent o rozmiarach 1x1 w konkretny miejscu, ale nie widzę sensu w tak karkołomnej konstrukcji. Wyobraź sobie JPanel, jako sztalugę, a nie płutno. Możesz coś do niego włożyć, to coś może mieć barwę i swoje miejsce, ale to nie jest dobry sposób tworzenia obrazu.

Standardem jest używanie obiektu Graphic lub różnego rodzaju scen i odświeżanie ich w Canvas (który może siedzieć w JPanel). Sam pomysł malowania bezpośrednio po JPanel jest dziwny i mało użyteczny.

0

Rozumiem koncepcję JPanel i Canvas i zgadzam się, że Canvas lepiej nadaje się do rysowania - ponieważ taką pełni funkcję, w przeciwieństwie do JPanel. Chodzi mi tylko o to, że bez względu czy użyję Canvas czy JPanel to chyba i tak nie mam możliwości odwołania się do konkretnych pixeli ? Pytam Ponieważ podałeś Canvas w odpowiedzi na moje pytanie dot. właśnie dobrania się do pojedynczych pixeli.

0

Programowanie Zorientowane Obiektowo wygląda tak, że czasami jak chcesz, np. coś wyświetlić na ekranie, to zamiast pobrania ekranu i wyświetlenia na nim, pobierasz ekran, z niego scenę, z niej kontekst, z niej grupę obiektów i dopiero do niej coś dodajesz. Tutaj jest podobnie. Nawet malując na płótnie (Canvas) nie zmieniasz płótna, tylko grafikę na nim (obiekt Graphic).

0

https://www.dropbox.com/sh/586wjfs3bbe3lmm/NdX3YI8UG7

Tam masz jak rysować (najszybciej) pixele na ekranie wykorzystując tylko jarbę.

1 użytkowników online, w tym zalogowanych: 0, gości: 1