Odstranění obrázku – Java – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Odstranění obrázku – Java – Fórum – Programujte.comOdstranění obrázku – Java – Fórum – Programujte.com

 

Toto vlákno bylo označeno za vyřešené.
Noneus0
Návštěvník
20. 1. 2014   #1
-
0
-

Zdravím.

Dělám v GUI a přidal jsem obrázek asi takhle:

JLabel ok1 = new JLabel(new ImageIcon("G160079.gif"));
                ok1.setBounds(0, 0, 151, 189);
            JLabel txt1.add(ok1);

tzn, že se obrázek spustí, když zmáčknu čudlík. Ale v čudlíku mám taky switch, který má několik case, přičemž každý má načíst jiný obrázek. a když se tak má stát, obrázky se pak překrývají jeden přes druhý a to nechci. Jak mám předchozí obrázek odstranit, než se tam má zobrazit jiný? Jaký příkaz bych měl použít? Díky moc

Nahlásit jako SPAM
IP: 217.195.173.–
z
~ Anonymní uživatel
268 příspěvků
21. 1. 2014   #2
-
0
-

A co děláš v tom switchi ? Pokud budeš tomu labelu jen měnit obrázek, tak by tam měl být vždycky jen ten poslední. Třeba takhle nějak:

String obrazek = "vychozi";

switch (neco) {
case 1: obrazek = "prvni"; break;
case 2: obrazek = "druhy"; break;
...
}

ok1.setIcon(new ImageIcon(obrazek));
Nahlásit jako SPAM
IP: 88.101.8.–
Noneus0
Návštěvník
21. 1. 2014   #3
-
0
-

#2 z
no, ten switch vypadá takhle:

ok1 = new JLabel(new ImageIcon("G160820.gif"));

switch (cis1) {
            case 0:
                ok1.setIcon(new ImageIcon("G160079.gif"));
                ok1.setBounds(0, 0, 151, 189);
                txt1.add(ok1);
                txt1.setText(" ");
                break;

            case 1:
                ok1.setIcon(new ImageIcon("G160120.gif"));
                ok1.setBounds(0, 0, 151, 189);
                txt1.add(ok1);
                txt1.setText(" ");
                break;
            default:

trochu nechápu tvůj příklad, konkrétně ten String s obrázkem. Jak mám tedy ve switchi změnit ten obrázek?

Nahlásit jako SPAM
IP: 217.195.173.–
Flowy0
Věrný člen
21. 1. 2014   #4
-
0
-

vzdy ked volas tu funkciu tak do ok1 ukladas novy JLabel s novym obrazkom ... a vzdy stratis odkaz na ten stary ... teoreticky ked stratis odkaz na stary tak by sa onho mal garbage collector postarat ale kedze robis GUI tak niekde existuju odkazy na stary obrazok cize gc s tym nic nezmoze ... bud si vytvor JLabel len raz (povedzme ze pri init alebo podobnej metode) a potom len budes menit obrazok ktory ma zobrazovat alebo si pred vytvorenim vzdy ten stary jlabel odstran zo zobrazovania 

Nahlásit jako SPAM
IP: 95.102.43.–
https://github.com/Flowy
Noneus0
Návštěvník
21. 1. 2014   #5
-
0
-

#4 Flowy
mohl bys uvést příklad na tom mém kódu, jak postupovat v tom switchi? JLabael vytvořím ještě před switchem, jak mám výše a v jednotlivých case ten obrázek změním jakým příkazem? budu volat jen název toho JLabelu (tady je to ok1) a jak přesně  v tom case změním ten obr.?

Nahlásit jako SPAM
IP: 217.195.173.–
Flowy0
Věrný člen
21. 1. 2014   #6
-
0
-

v podstate to mas dobre (ak to funguje) len nevytvara novy jlabel vzdy ked ho chces zmenit

Nahlásit jako SPAM
IP: 95.102.43.–
https://github.com/Flowy
Noneus0
Návštěvník
21. 1. 2014   #7
-
0
-

#6 Flowy
Nefunguje to. První z obrázků je menší, ten se zobrazí....a při aktivaci jiného case se překryje druhým, větším. Když se ale aktivuje znovu case s menším obrázkem, už se nezobrazí, protože ho překrývá ten větší. Nešlo by třeba na začátku každého case ten obrázek co už tam je nějak odstranit? Jestli ano, nevím jak.

Nahlásit jako SPAM
IP: 217.195.173.–
Noneus0
Návštěvník
21. 1. 2014   #8
-
0
-

Už jsem na to přišel, ale i tak díky všem.

Nahlásit jako SPAM
IP: 217.195.173.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 15 hostů

Podobná vlákna

Odstranění diakritiky — založil gengar

Odstranění určitého textu — založil Mutagen

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý