O víkendu probíhá na FIT VUT v Brně konference OpenAlt 2026 o otevřeném softwaru a datech, IT bezpečnosti, DIY a IoT. Na programu je spousta zajímavých přednášek. Pokud jste v Brně, stavte se. Vstup zdarma. Přednášky lze sledovat i online na VHSky a YouTube.
Qualcomm uzavřel víceletou dohodu se SpaceX. Bude dodávat rádiové technologie, baseband jednotky a software pro plánovanou pozemní 5G síť Starlink Mobile. Výstavba má zahrnovat desítky tisíc základnových stanic v USA. Zahájení nasazování se očekává v roce 2027. Qualcomm dohodu označuje za svůj dosud největší 5G kontrakt.
Google rozšířil Cloud Vulnerability Reward Program. Nově nabízí odměnu až 250 tisíc dolarů za vysoce závažné architektonické bezpečnostní chyby označované jako Root-in-Cloud.
V březnu byla oznámena spolupráce GrapheneOS s Motorolou. Nejnovější vlajka Motorola Signature 27 je první Motorola s oficiální podporou GrapheneOS. GrapheneOS (Wikpedie) je varianta Androidu zaměřující se na bezpečnost a soukromí.
Omarchy (Wikipedie) je linuxová distribuce s dlaždicovým správcem oken Hyprland. Založena je na Arch Linuxu. Vydána byla v nové verzi 4.5.0. Nově také pro Apple Silicon, konkrétně pro M1/M2/M3/Neo MacBooky.
Byla vydána nová stabilní verze 8.3 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 156 s bezpečnostními opravami z Chromia 157. Přehled novinek i s náhledy v příspěvku na blogu.
Multimediální přehrávač mpv byl vydán ve verzi 0.42.0. Jde o větší balík změn po bezmála roce. Mimo jiné se lépe integruje s Waylandem nebo rozšiřuje podporu DVD/Blu-ray, např. umožňuje přehrávat rovnou obrazy médií (soubory iso).
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?
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).
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()));
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.
Jak se lisi textova url od cesty k souboru?
/etc/passwd, URL je file:///etc/passwd.
Tiskni
Sdílej: