© 2013 All rights reserved.
0

Java: jednoduchý prohlížeč obrázků #1

Ve dvou dílech si vytvoříme jednoduchý prohlížeč obrázků, který bude umožňovat načíst obrázky z určitého adresáře a vykreslit je nebo spustit jejich presentaci.

V tomto prvním díle si vytvoříme jednoduchý formulář, ve kterém budeme mít možnost vybrat adresář s obrázky.

Po výběru adresáře program zjistí, kolik tento adresář obsahuje fotografií, inoformaci uživateli zobrazí a nabídne spuštění presentace.

Formulář (GUI)

Pro skupinu programů, které si budeme postupně dělat, jsem si vytvořil GUI, do kterého budu tyto programy načítat přes InternalFrames. Z toho bude taky vyplývat struktura programu.

InternalFrame

V ovládacím okně prohlížeče bude, jak jsem napsal, možnost výběru adresáře s fotografiemi. Po jeho výběru se zobrazí informace o nalezených fotografiích a zobrazí se možnost spuštění presentace.

Pro tyto operace si vytvoříme okno, které bude obsahovat:

  • Adresu k obrázkům – editable bude nastavena na false a zobrazí se v ní adresa až po výběru adresáře.
  • Tlačítko procházet – po kliknutí se spustí metoda pro procházení adresářů.
  • Tlačítko pro spuštění presentace – Visible bude nastaveno na false, přenastaví se na true až po nalezení obrázků.
  • Textové pole pro výpis informací

Vytvoříme si třídu SearchImages a například do konstruktoru umístíme formulář:

Takto vytvořená třída vytiskne nefunkční formulář, ve kterém bude needitovatelný TextField a tlačítko pro procházení adresářů.

U tlačítka je přímo vytvořen actionListener, ve kterém se volá metoda search_method(). Tato metoda bude sloužit pro vytvoření dialogu k hledání adresáře.

JFileChooser

Pro hledání použijeme JfileChooser, který je pro tuto událost přímo vytvořený:

Po výběru adresáře se spouští metoda selected, která nastaví textové pole s adresou:

Navíc metoda volá další metodu, tentokrát setlabel().

Hledání obrázků

SetLabel prohledá vybraný adresář a najde v něm všechny soubory typu .jpg nebo .png. Pro jejich hledání použijeme velmi jednoduchou funkci endsWith(), která umožňuje porovnání podle konce řetězce.

Seznam obrázků budeme ukládat Listu:

Po nalezení obrázků vytiskneme uživateli informace o počtu nalezených obrázků a v případě nalezení zobrazíme tlačítko pro spuštění presentace.

Vstupní parametr je adresář, ve kterém budeme obrázky hledat. Tento adresář projdeme a všechny soubory, které obsahuje zkontrolujeme na koncovku:

Pokud jsou nalezeny obrázky, odkryje se tlačítko a vypíší se informace pro uživatele.

V příští části si naprogramujeme třídu pro zobrazování těchto obrázků. Bude umožňovat přepínání se mezi obrázky a spuštění presentace obrázků.

Nakonec si ještě můžete prohlídnout celý dnešní kód:

Comments are closed for this page

About
Hi, i am programmer from the Czech Republic. I love web development (Ruby, Ruby on Rails, PHP, Nette) and iOS development (Objective-C, Cocoa).
To cooperate, here is my phone:
+420 608 836