NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!

Diskuze – Lekce 5 - Upomínač narozenin v Java Swing - Logická vrstva

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Avatar
Jakub Krsička:31.3.2019 23:06

Vzhledem k tomu, že tady věci už na sebe nenavazují musím docela improvizovat a googlovat, napřiklad místo listu vuživám ArrayList, misto Calendar LocalDate atp.

Ovšem problem je v tom jak vytvořím u Správce osob metodu getOsoby, tak abych je mohl následně importovat do JListu v Prehed frame docela si nad tím lámu hlavu.

Kod:

public ArrayList <Osoba> getPersons()
    {
        return list;
    }

kod v PrehledJFrame:

public PrehledJFrame() {
        initComponents();
        dateNowjLabel3.setText(dateNow.format(DateTimeFormatter.ofLocalizedDate(FormatStyle.FULL)));
        spravce.addTestPersons();
        personsjList1.setModel((ListModel<String>) spravce.getPersons());


    }

Jak převezt osoby z arrayListu, tak aby se s nimi dalo dále pracovat?

 
Odpovědět
31.3.2019 23:06
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Jakub Krsička
David Hartinger:31.3.2019 23:13

Co na sebe nenavazuje? List je rozhraní, ne kolekce, takže nemůžeš používat ArrayList místo listu, protože jedno je rozhraní a druhé je třída. Calendar je stále validní pokud vím, jelikož se v Javě datum a čas tolikrát změnil, tak ve všech tutoriálech to ještě není promítnuté, ale na funkčnost to nemá vliv.Jestli používáš něco jiného, tak ti to nemusí jít, to ale není, že to na sebe nenavazuje. Jak se to propojuje máš v článcích ukázané, pokud ti cokoli nejde, stáhni si zdrojové kódy, jsou vždy přiložené.

Odpovědět
31.3.2019 23:13
New kid back on the block with a R.I.P
Avatar
Petr Štechmüller:9.4.2019 21:48

Článek a zdrojové kódy byly aktualizovány. Nyní se používá k uložení narozenin třída LocalDate.

Odpovědět
9.4.2019 21:48
Pokud spolu kód a komentář nekorespondují, budou patrně oba chybné
Avatar
Vašek Ka
Člen
Avatar
Vašek Ka:16.1.2020 8:06

Akorát bych pro nás úplné laiky () do článku ještě napsal, že se má do třídy naimportovat
import java.time.LocalDate atd. pak to funguje :D My úplní začátečníci, to holt nedáváme.

 
Odpovědět
16.1.2020 8:06
Avatar
Patrik Vala
Člen
Avatar
Patrik Vala:19.5.2020 21:16

Ahoj, jaký je rozdíl mezi ModelList a List?

 
Odpovědět
19.5.2020 21:16
Avatar
Dominik Bican:21.8.2020 15:42

Můj NetBeans hlásí chybu u metody níže:

public List<Osoba> getOsoby() {
    return Collections.list(osoby.elements());
}

Píše to: type List does not take parameters

 
Odpovědět
21.8.2020 15:42
Avatar
Atrament
Člen
Avatar
Odpovídá na Dominik Bican
Atrament:22.8.2020 16:17

Pravděpodobně importuješ špatný List, koukni jestli neimportuješ java.awt.List místo java.util.List

 
Odpovědět
22.8.2020 16:17
Avatar
Odpovídá na Atrament
Dominik Bican:23.8.2020 17:48

Díky moc, bylo to tak, jak v NetBeans můžeš kliknout na tu žlutou žárovku s nápovědou, co importovat, tak tam bylo na výběr obojí a já zvolil to špatné, pak už se bohužel to správné vůbec neukazovalo.
Takže tento problém vyřešen, nicméně mám jiný problém.
I přesto, že jsem kód nakonec zcela zkopíroval z tutoriálu, nejde mi přidat nová osoba.
V JDialog při kliknutí na OK se okno nezavře a dole vyskočí chyba, viz. níže. Pořád to nějak odkazuje na naši metodu naparsuj, jak parsujem datum z textu do proměnné, ale nevím proč. Když spustím tu apku z tutoriálu, běží v pohodě.

Exception in thread "AWT-EventQueue-0" java.time.format.DateTimeParseException: Text '' could not be parsed at index 0
        at java.base/java.time.format.DateTimeFormatter.parseResolved0(DateTimeFormatter.java:2050)
        at java.base/java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1878)
        at Datum.naparsuj(Datum.java:34)
        at OsobaJDialog.okJButtonActionPerformed(OsobaJDialog.java:106)
        at OsobaJDialog$1.actionPerformed(OsobaJDialog.java:53)
 
Odpovědět
23.8.2020 17:48
Avatar
Odpovídá na Atrament
Dominik Bican:23.8.2020 17:49

Díky moc, bylo to tak, jak v NetBeans můžeš kliknout na tu žlutou žárovku s nápovědou, co importovat, tak tam bylo na výběr obojí a já zvolil to špatné, pak už se bohužel to správné vůbec neukazovalo.
Takže tento problém vyřešen, nicméně mám jiný problém.
I přesto, že jsem kód nakonec zcela zkopíroval z tutoriálu, nejde mi přidat nová osoba.
V JDialog při kliknutí na OK se okno nezavře a dole vyskočí chyba, viz. níže. Pořád to nějak odkazuje na naši metodu naparsuj, jak parsujem datum z textu do proměnné, ale nevím proč. Když spustím tu apku z tutoriálu, běží v pohodě.

Exception in thread "AWT-EventQueue-0" java.time.format.DateTimeParseException: Text '' could not be parsed at index 0
        at java.base/java.time.format.DateTimeFormatter.parseResolved0(DateTimeFormatter.java:2050)
        at java.base/java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1878)
        at Datum.naparsuj(Datum.java:34)
        at OsobaJDialog.okJButtonActionPerformed(OsobaJDialog.java:106)
        at OsobaJDialog$1.actionPerformed(OsobaJDialog.java:53)
 
Odpovědět
23.8.2020 17:49
Avatar
Odpovídá na Atrament
Dominik Bican:23.8.2020 17:50

Díky moc, bylo to tak, jak v NetBeans můžeš kliknout na tu žlutou žárovku s nápovědou, co importovat, tak tam bylo na výběr obojí a já zvolil to špatné, pak už se bohužel to správné vůbec neukazovalo.
Takže tento problém vyřešen, nicméně mám jiný problém.
I přesto, že jsem kód nakonec zcela zkopíroval z tutoriálu, nejde mi přidat nová osoba.
V JDialog při kliknutí na OK se okno nezavře a dole vyskočí chyba, viz. níže. Pořád to nějak odkazuje na naši metodu naparsuj, jak parsujem datum z textu do proměnné, ale nevím proč. Když spustím tu apku z tutoriálu, běží v pohodě.

Exception in thread "AWT-EventQueue-0" java.time.format.DateTimeParseException: Text '' could not be parsed at index 0
        at java.base/java.time.format.DateTimeFormatter.parseResolved0(DateTimeFormatter.java:2050)
        at java.base/java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1878)
        at Datum.naparsuj(Datum.java:34)
        at OsobaJDialog.okJButtonActionPerformed(OsobaJDialog.java:106)
        at OsobaJDialog$1.actionPerformed(OsobaJDialog.java:53)
 
Odpovědět
23.8.2020 17:50
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 15.