Jak kolorować pojedyncze pixele w JPanel ?

Jak kolorować pojedyncze pixele w JPanel ?
Qbisiek
  • Rejestracja:około 12 lat
  • Ostatnio:około 10 lat
  • Postów:160
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 ?


KK
  • Rejestracja:około 12 lat
  • Ostatnio:ponad 11 lat
  • Postów:135
0

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

Qbisiek
  • Rejestracja:około 12 lat
  • Ostatnio:około 10 lat
  • Postów:160
0

Nie muszę używać JPanel, potrzebuję właśnie jakby takiego płótna, ale z tego co przeczytałem tutaj: 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 ?


edytowany 2x, ostatnio: Qbisiek
KK
  • Rejestracja:około 12 lat
  • Ostatnio:ponad 11 lat
  • Postów:135
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.

Qbisiek
  • Rejestracja:około 12 lat
  • Ostatnio:około 10 lat
  • Postów:160
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.


KK
  • Rejestracja:około 12 lat
  • Ostatnio:ponad 11 lat
  • Postów:135
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ę.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.