Diskuze: Kód který se spustí před ukončením aplikace uživatelem
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.
Člen
Zobrazeno 18 zpráv z 18.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.
Předpokládám, že mluvíš o aplikaci napsané pomocí Swingu a o okně vytvořeném pomocí JFrame. Nejprve musíš zakázat, aby se okno vůbec dalo 'křížkem' zavřít, takže někde v inicializaci toho JFrame udělej:
setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
dále pak potřebuješ odchytit tu událost, kdy se někdo pokusí okno zavřít, ať už pomocí 'křížku' nebo i pomocí nějaké klávesové zkratky. To se dělá tak, že opět do inicializace JFrame přidáš WindowAdapter s overridnutou metodou windowClosing:
addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
//Tady dej kód co se má spustit, když se někdo pokusí zavřít okno
}});
Hele sorry jsem úplnej noob co je Swing a JFrame?
Aha to seš hádám na špatným fóru, tady se diskutuje o programování v Javě
no taky že jo: jak naprogramovat aplikaci v jave která před zavřením vykoná nějakou část kódu
No ale pokud nevíš co je Swing a JFrame, tak by ses nejprve asi měl ptát jenom: jak naprogramovat aplikaci v Javě A na to tu máme <a href='https://www.itnetwork.cz/java/swing'>šikovný seriál.</a>
Dobře nějak jsem si projel první tři epizody á... co je inicializace JFrame? tak nějak nepobírám to slovní spojení
Inicializace = nastavení počátečních hodnot. Prostě to místo v programu, kde píšeš co má JFrame obsahovat, případně jak má vypadat - typicky konstruktor a nebo metoda volaná v konstruktoru.
inicializace není nastavení:) když už, tak to mají nejvíc na starost
přístupové metody.
inicializace znamená vytváření nové instance třídy.
a takový výraz si vzal
kde?:D
zkus si to jen z prdele dát do googlu:D
Když vytváříš instanci třídy, jde o instanciaci, tento výraz se v češtině nepoužívá sice moc často ale google vrací pár výsledků a v angličtině je úplně běžný:) Když chceš tomuto vytvářenému objektu nastavit nějaké počáteční hodnoty provádíš jeho inicializaci... Odkazu výše si nevšímej, chtěl jsem původně odkázat na anglickou verzi kde je ten výraz jasně použit a nějak jsem to zkonil https://en.wikipedia.org/…uter_science)
ok, tak proč teda java bere jako instancializovaný objekt dejme tomu například už jen při vytvoření (PRÁZDNÉ) kolekce?
ArrayList<Object> arrayOfObjects = new ArrayList<>();
a že bych této instanci nastavoval nějaká data, to se mi fakt nezdá
PS: mrkni ještě jednou na ty odkazy, nevím jestli jenom mě, ale ta
anglická verze nějak nic nenachází:)
a ještě malinkatý doplněk - ohánět se wikinou, kór při správné syntaxi
není moc dobrý nápad:) Na wikinu píše tolik volů takové nesmysli... už
jsem se tam i dočetl, že třeba 2. světovou válku vyhráli američané za
pomocí Britů:D
Takže wikina není zrovna to pravé ořechové
A jestlis myslel zrovna toto....
https://en.wikipedia.org/…uter_science)
tak popravdě co to čtu, tak v každém odstavci vidím plno nesmyslů (i z
pohledu Javy)
tak například:
...object, existing usually during the runtime of a computer program
když už, tak Java jako taková nepracuje ani s procesy systému, ale přes JVM pracuje s vlákny. "computer program" svědčí o profesionalitě článku;)
The creation of an instance is called instantiation
radši bez komentáře, to je možná ten výkvět, ze kterého ty prameníš
objects are created from classes by subroutines called constructors
já ti čoveče nevím, ale není náááhodou konstruktor vyjímečný případ metody (funkce), jehož návratový typ není uveden, protože ve své podstatě vrací instanci třídy? tato věta je pěkná blbost
> and destroyed by destructors
uznávám, že tam žvatlají obecně o instanci, ale aspoň tam mohli dát
krátkou větičku, že Java něco jako destruktor nemá. Ta přišla s GC a
teď se to snaží zavést všechny OOP jazyky. Zbytek odstavce nemá cenu
komentovat, stejně tam nic podstatného neříká, ani kdyby použil správnou
terminologii
Each time a program runs, it is an instance of that program
jak je teda možné, že program může pracovat s několika instancemi?:D takto to položit začátečníkům a mají z toho v hlavě maďarský guláš
An important distinction is between the data type, which is interface, and the class, which is implementation.
mě jebne....
The meaning of the term "type" in computer science is rather similar to the meaning of the word "type" in everyday language. For example, a barman can ask a client what type of beverage does he or she want – coffee, tea or beer?
Tak tohle je nejlepší ukázka příkladu datových typů, jakou jsem kdy viděl. Když už pominu že by všechny chlasty, co tu uvedl/a mohli být objektového datového typu třeba Drink, není přece jen lepší uvádět a pracovat ze začátku s primitvními datovými typy? to že se to nějak dělí, to tam vůůůůbec není ani zmíněné.
Prostě wikina není relevantní zdroj. Konkrétně autor tohoto článku si zjistil pár termínů, ještě je zkomolil a dal je k sobě tak, jako největší čuně.
Na takovýto článek platí krásná věta:
Nepužívejte odborové termity, abyste při jejich nekorektních uskutečnění
nevyzařovali jako obrovští dominogové.
Ve své rádoby kritice wikipedie cituješ věty vytržené z kontextu,
přičemž následně píšeš úplně o něčem jiném, jenom abys zněl
chytře a kriticky... například hned ten první skvost:
>>když už, tak Java jako taková nepracuje ani s procesy systému, ale
přes JVM pracuje s vlákny.
Jak to souvisí s tou větou, kterou jsi citoval?
Jinak z wikipedie pojem instanciace určitě nemám, jsem si jistý že jsem
ho viděl používat a sám jsem ho používal dávno před tím než vůbec
nějaká wikipedie existovala. Jak jsem psal vídávám ho mnohem častěji v
angličtině, ale existuje a používá se i v češtině. Zkusil jsem si co jsi
mi navrhoval a zadal jsem ten pojem do google.
Namátkou prvních pár relevantních:
http://ktiml.mff.cuni.cz/…viceni05.pdf
http://www.fit.vutbr.cz/…rants.php.cs?…
https://www.fi.muni.cz/…-handout.pdf
Takže místo švejkování a plané snahy dokazovat mi, že ten výraz neexistuje, by ses mohl pochlapit a přiznat si žes ho prostě neznal
ok, tak fajn... tak polopatě i pro tebe...
Každý program má svůj proces. Systém jako takový pracuje s procesy. Když
tam hnětli tu blbost o běhu programu, tak jsem předpokládal, že toto víš
i ty. Zmílil jsem se, omlouvám se a příště to budu rozepisovat do
detailů, abys to pochopil i ty.
Jestli teda není jen na wikině, tak mi prosím pošli ten odkaz. Já to čoveče fakt nemůžu nějak najít
k těm tvým odkazům:D
http://ktiml.mff.cuni.cz/…viceni05.pdf - Instanciace
promnných (excelentní:D) proměnná je dokonalý příklad instance:D
a v těch druhých dvou si zkus zas namátko vyhledat termín inicializace -
vůbec ho ani nepoužívají. Tudíž soudím jasná záměna.
A máš pravdu, takový výraz jsem nikdy neslyšel ani v práci, ani ve
škole ani tady na networku a čoveče na žádném jiném foru:D
Ale nechám tě v tom, říká se, že když se s blbem hádáš víc jak dvě
minuty, si sám blb a já nemám fakt sebemenší důvod ani chuť dokazovat ti,
že je to zkomolenina, kterou nikde nenajdeš (v žádné literatuře a v 99%
webů. To 1% je nejspíš zapříčiněno tím, že jsi tam přispíval ty
sám)
čus a mysli si třeba, že jsi vyhrál:D ale prosím tě, neval takovéto
sračky nováčkům do hlavy. Jen je zblbneš
Takže články tady na itnetwork, kde je tento pro tebe neexistující pojem použit:
https://www.itnetwork.cz/…-konstruktor
https://www.itnetwork.cz/…ail-produktu
https://www.itnetwork.cz/…ni-operatoru
https://www.itnetwork.cz/…-konstruktor
Tímto s tebou tuto planou diskusi končím, sám jsi ničím k původnímu dotazu nepřispěl, jenom jsi tu přišel předvést svoji aroganci a neznalost, takže tě prosím - příště se do diskuse nezapojuj pokud nemáš nic k tématu.
Zobrazeno 18 zpráv z 18.