ASDF , DZIADEK MRÓZ pytanie java
adam: ASDF , Dziadek Mróz − pytanie JAVA.
Utworzyłem sobie etykietę, pole tekstowe (oczywiście jest disabled) i listę rozwijaną.
Następnie wywołałem pustą metode paint(Graphics g), i zamiast białego tła w etykiecie mam
szare. Jak to zniwelować?
http://s7.postimg.org/6a0jc43vb/java_background.png
4 lis 00:23
adam: Oczywiście po usunięciu metody paint, szare pole znika, ale ja właśnie potrzebuje owej metody.
4 lis 00:24
adam: Jeszcze mam pytanie jeśli chodzi o kontrolkę JLabel.
A mianowicie, gdy używam metody new ImageIcon po to by wsadzić do tej kontrolki obrazek, to
jest on nieprzeźroczysty nawet gdy załaduje plik o rozszerzeniu png. Czy znasz jakiś łatwy
sposób , aby tło było transparentne, czy po prostu muszę samemu od nowa napisać funkcję, która
tę sprawę załatwi?
4 lis 00:31
adam: dobra, problem z 00:23/24 rozwiązałem.
natomiast z 00:31 jest nadal aktualny
4 lis 01:49
adam: aha, jeszcze mam problem z focusem na polach tekstowych, cały czas są one zaznaczone jakbym
chciał coś do nich wpisać, i przez co nie mogę zaimplementować interfejsu mouselistener
4 lis 01:51
adam: −−aktualizacja
odwołując się do mojego postu z 00:31, obrazek jest faktycznie przezroczysty, ale tylko w danym
panelu, gdzie bg tego panelu ma dowolny kolor, ale nie względem okna.
4 lis 05:35
adam: ponadto gdy chcę wsadzić oba do jednego kontenera, to po prostu jeden zakrywa drugi, może jest
tam jakaś metoda, która przesuwa go do przodu
4 lis 05:49
Dziadek Mróz:
Szare pole jest wyłączone i nie można w nim pisać. Aby było transparentne to jest jakaś metoda
4 argumentowa (R, G, B, Transparentność).
Jeden na drugim bo nie są przestawione względem siebie, mają tę samą pozycję w kontenerze.
Musisz zmienić setLocation dla drugiego, np.
textox2.setLocation(textBox1.X, textBox1.Y + textBox1.height) ← jeden pod drugim
textox2.setLocation(textBox1.X + textBox1.width, textBox1.Y) ← jeden obok drugiego
Najlepiej to wstaw te pola w tableLayout o ile taki istnieje, nie pamiętam już.
4 lis 15:34
adam: 01:51 − nieaktualne już
nadal mam problem z 00:31
4 lis 16:25
4 lis 17:06
adam: Nie to nie jest to. Może nie jasno się wypowiedziałem.
Mam ramkę. W ramce znajduje się obrazek 1000 pix x 1000 pix (działa on jako tło).
Do tej samej ramki wpakowałem drugi obrazek o wymiarach 300 x 300 pix. Jest on typu png.
Oczywiście oba obrazki są załadowane do kontrolek JLabel.
To znaczy.
PierwszakontrolkaJLabel = imageicon(obrazek.jpg)
DrugakontrolkaJLabel = imageicon(obrazek.png).
Druga kontrolka jest nałożona na pierwszą. Problem jest taki, że gdy używam metody setopaque do
drugiej kontrolki, to ona nie przyjmuje tła jako pierwszą kontrolkę.
Mogę ustawić tło drugiej kontrolki metodą .setColor. Ale wtedy to będzie kolor, a nie zawartość
za tą kontrolką, czyli obrazek − pierwszakontrolkaJLabel.
4 lis 17:14
asdf: 1)"A mianowicie, gdy używam metody new ImageIcon po to by wsadzić do" − w tym przypadku
tworzysz obiekt..operator new − znasz podstawy?
2) moze tak sie dziac, ze wszystko jest rzucane do bitmapy − sprawdz czy tak nie jest.
3) jak juz piszesz jakiej metody uzywasz to napisz tez parametry, a najlepiej wtedy podeslij
kod, bo nic z tego nie jest zrozumialego, ze sobie napiszesz "a przeciez korzystam z metody X"
− nikt nie uczy sie takich rzeczy na pamiec − od tego jest kod zeby go przeczytac, a jak nie −
zapytac.
4 lis 17:39
adam: 1)tak, pomyliłem się
2)nie wiem jak to sprawdzić, jedyny pomysł mi jaki przychodzi do głowy to, to użycie metody
setBackground(Color c) do kontrolki label, gdzie jest wczytany obrazek.png. Tło obrazka jest
przeźroczyste i reaguje na zmianę tła. W takim razie mogę stwierdzić, że obrazek jest
poprawnie załadowany do JLabel. To tak na moje rozumowanie.Ale potrzebuję metody na ustawienie
tła z grafiki.
3) ok
4 lis 18:06
adam: włączę komputer, to wrzucę kod
4 lis 18:09
asdf: zróbmy jeszcze inaczej ok?
do każdej metody weź mi podeślij linka do dokumentacji − ty wyczytasz i ja bede wiedziec o
ktory chodzi
4 lis 18:26
4 lis 18:27
adam: zrobione, dzięki za link do strony.
6 lis 18:44