====== Evidence veterinárních pacientů ====== Evidence údajů o jednotlivých pacientech (včetně fotografií) a jejich majitelích. Možnost uložit celou "databázi" do souboru a znovu načíst. Editace pacienta bude probíhat ve zvláštním (patrně modálním) dialogu. ===== Harmonogram ===== * týden 26.11. - 2. 12. - práce na úloze, konzultace (moje **středeční** cvičení odpadá ((tj. samostatná práce na úloze, případně konzultace o mých konz. hodinách; na disku H: v ukázkách bude k dispozici jednoduchá ukázka na TableModel a kostra projektu "Evidence"; tip jak se dostat na H: z internetu máte na mé uvodní stránce)) ) * týden 3. - 9. 12. - práce na úloze, konzultace * týden 10. - 16. 12. - odevzdání úlohy (nejpozději den před svým cvičením odeslat mailem, na cvičení osobně předvést) ===== Screenshot ===== {{evidence.png|Screenshot}} ===== "Hinty" ===== * javax.swing.JTable * javax.swing.JFileChooser * JFileChooser.getSelectedFile().getPath() * javax.swing.JToolBar.Separator SUN Tutorial: Using Swing Components * [[http://java.sun.com/docs/books/tutorial/uiswing/components/list.html|How to Use Lists]] * [[http://java.sun.com/docs/books/tutorial/uiswing/components/table.html|How to Use Tables]] ===== Zadání bonusu ===== Rozšiřte model o třídu Návštěva (1:N z Pacienta) s vlastnostmi: datum, typ, popis. Datum se bude provádět výběrem pomocí vhodné existující komponenty/dialogu ("kalendáře"). Typ se bude vybírat z pevného seznamu pomocí list-boxu ("Běžná návštěva", "Kontrola", "Výjezd k pacientovi"). Dialog pacienta rozšiřte o tabulku návštěv a související tlačítka (přidat, smazat, upravit návštěvu). Panel s údaji návštěvy můžete umístit buď v rámci dialogu pacienta nebo v novém dialogu. Zajistěte, aby se data o návštěvách ukládala (serializovala) do souboru spolu s ostatními daty. ===== FAQ ===== :?: **Proč se mi u tabulky nezobrazují záhlaví sloupců (headers) ?** Záleží, zda používáte JScollPane nebo ne, viz [[http://java.sun.com/javase/6/docs/api/javax/swing/JTable.html|dokumentace k JTable třídě]] (hned v "úvodním povídání") nebo [[http://www.chka.de/swing/table/faq.html|jiná FAQ]], obvyklé řešení vypadá takto: JTable table = new JTable(dataModel); JScrollPane scrollpane = new JScrollPane(table); somePanel.add(scrollpane);