abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 00:44 | Nová verze

    Byla vydána nová verze 3.22.0 grafického vývojového prostředí a platformy Gambas (Wikipedie) založené na interpretru programovacího jazyka Basic s rozšířením o objektově orientované programování. Přehled novinek v poznámkách k vydání. Zdrojové kódy jsou k dispozici na GitLabu.

    Ladislav Hagara | Komentářů: 0
    včera 20:22 | Komunita

    FreeBSD odstranilo poslední GPL kód ze základního systému. Konkrétně dpv, libdpv, libfigpar a dialog. Instalátor před čtyřmi lety přešel z dialogu na bsddialog.

    Ladislav Hagara | Komentářů: 2
    včera 15:22 | IT novinky

    Sociální síti 𝕏 (dříve Twitter) má dnes 20 let. Pro veřejnost byla zpřístupněna 15. července 2006.

    Ladislav Hagara | Komentářů: 1
    včera 14:22 | Zajímavý software

    Insula Faktury je open source generátor faktur, který běží přímo ve webovém prohlížeči. Žádná registrace, žádné sledování, žádné omezení. Zdrojové kódy jsou k dispozici na Codebergu.

    Ladislav Hagara | Komentářů: 7
    včera 13:22 | Komunita

    První Mobile Linux Hackday v Plzni, tj. komunitní setkání věnované Linuxu na mobilních zařízeních, proběhne 24. července od 10:00. Akce je otevřená všem zájemcům – od zvědavců po zkušené vývojáře. Dopoledne proběhnou přednášky Davida Heidelberga a Petra Hodiny o aktuálním stavu mobilního Linuxu: proč vůbec chtít tučňáka v kapse, jaké telefony jsou dnes dobře podporované a co taková podpora obnáší. Po obědě se zaměříme na konkrétní

    … více »
    Ladislav Hagara | Komentářů: 0
    14.7. 19:33 | Nová verze

    3D software Blender byl vydán ve verzi 5.2 s prodlouženou podporou. Videopředstavení na YouTube.

    Ladislav Hagara | Komentářů: 0
    14.7. 16:55 | Zajímavý software

    SketchForge 3D (GitHub, reddit) je open source 3D editor / CAD běžící ve webovém prohlížeči bez nutnosti účtu nebo cloudového úložiště. Inspirovaný byl Tinkercadem. Doporučena je lokální instalace.

    Ladislav Hagara | Komentářů: 0
    14.7. 12:44 | Nová verze

    Byla vydána nová verze 11.9 webového prohlížeče Midori (Wikipedie, GitHub). S novým centrem ovládání, pokročilejším blokováním reklam, optimalizací výkonu…

    Ladislav Hagara | Komentářů: 1
    14.7. 04:22 | Zajímavý projekt

    Na Crowd Supply běží kampaň na podporu open source čtečky elektronických knih Open Book Touch. Postavena je na ESP32-S3. Má 4,26palcový dotykový e-papírový displej s rozlišením 480×800 pixelů, podsvícení, slot na microSD kartu. Cena je 149 dolarů a poštovné 12 dolarů. Dodání je plánováno na duben 2027.

    Ladislav Hagara | Komentářů: 9
    13.7. 18:00 | IT novinky

    Na Humble Bundle běží akce Linux: All the Things by O'Reilly a Picos, HATs, and More by Raspberry Pi Press. Elektronické knihy lze koupit se slevou a současně podpořit organizace Code for America a Raspberry Pi Foundation.

    Ladislav Hagara | Komentářů: 5
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (7%)
     (2%)
     (17%)
     (31%)
     (4%)
     (6%)
     (2%)
     (15%)
     (25%)
    Celkem 2131 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník


    Dotaz: Java getResource()

    7.8.2009 17:10 WikiDOG
    Java getResource()
    Přečteno: 631×

    V mem programu nacitam obrazky (jpg, png). Tyto obrazky jsou uvnitr vysledneho .jar souboru, proto je nacitam takto:

    imageIcon = new ImageIcon(getClass().getResource(filename)); 
    

    Pak jsem se rozhodl, ze dovolim uzivatelovi si nacist i vlastni obrazky, ktere ma ulozene nekde v filesystemu. Uzivatelovi tedy vybehne filechooser, on zvoli nejaky obrazek a jeho filename prijde do funkce, ktera obsahuje radek nahore. Jenze ten mi hodi chybu, ze obrazek nemuze najit. Na obrazky nacitane externe (mimo jar) mi funguje toto:

    imageIcon = new ImageIcon(filename);
    

    Proto jsem problem docasne (vim ze je to strasne prasarna) vyresil takto:

    try
    {
        imageIcon = new ImageIcon(getClass().getResource(filename));         
    }
    catch (NullPointerException ex)
    {
        imageIcon = new ImageIcon(filename);
    }
    

    Ted jsem z toho ale zmateny, proc musim pouzivat dva ruzne zpusoby nacitani obrazku? Existuje nejaky zpusob, kdy je jedno jestli obrazek nacitam z jar nebo externe?

    Odpovědi

    kouby avatar 7.8.2009 17:26 kouby | skóre: 27 | blog: init | Praha
    Rozbalit Rozbalit vše Re: Java getResource()

    Konstruktor třídy ImageIcon přijímá URL což je váš filename. Takže stačí udělat obecnou metodu:

    ImageIcon icon = getImageIcon(URL filename);

    Tato metoda přijme URL a načte ikonku z obecné URL. Před zavoláním metody dáte do filename jenom příslušnou URL, buď voláním getClass().getResource(filename) a převedete na URL. Nebo z fileChooseru new URL(filename).

     

    That's thirty minutes away. I'll be there in ten.
    7.8.2009 20:43 WikiDOG
    Rozbalit Rozbalit vše Re: Java getResource()

    Vami popisovany zpusob funguje v prvnim pripade (getClass().getResource(filename)), ale v pripade fileChooseru dostanu tuto chybu:

    java.net.MalformedURLException: no protocol: /home/wikidog/Downloads/pict/tree.jpg
    

    Dany radek vypada takto:

    loadImage(new URL(fc.getSelectedFile().toString()));
    
    7.8.2009 20:56 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Java getResource()
    Třída File má metodu toURI(), z URI získáte URL voláním toURL(). Váš kód je špatně, protože konstruktoru URL se jako parametr předává textové url, ne cesta k souboru.
    7.8.2009 22:26 WikiDOG
    Rozbalit Rozbalit vše Re: Java getResource()

    Jak se lisi textova url od cesty k souboru?

    7.8.2009 22:46 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Java getResource()
    Cesta k souboru je např. /etc/passwd, URL je file:///etc/passwd.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.