IT rekvalifikácia. Seniorní programátori zarábajú až 6 000 €/mesiac a rekvalifikácia je prvým krokom. Zisti, ako na to!

Diskusia – 5. diel - PRIPOMIENKOVÉ narodenín v Java Swing - Logická vrstva

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
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?

 
Odpovedať
31.3.2019 23:06
Avatar
David Hartinger
Vlastník
Avatar
Odpovedá 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é.

Odpovedať
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.

Odpovedať
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.

 
Odpovedať
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?

 
Odpovedať
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

 
Odpovedať
21.8.2020 15:42
Avatar
Atrament
Člen IT Redactor Gang
Avatar
Odpovedá 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

 
Odpovedať
22.8.2020 16:17
Avatar
Odpovedá 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)
 
Odpovedať
23.8.2020 17:48
Avatar
Odpovedá 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)
 
Odpovedať
23.8.2020 17:49
Avatar
Odpovedá 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)
 
Odpovedať
23.8.2020 17:50
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zatiaľ nikto nevložil komentár - buď prvý!