import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.io.*; /** *Trida Gui *graficke prostredi celeho programu *@author M.Kales */ public class Gui extends JFrame { JTextField souborBel, souborZprav, souborLit, slovo; Button Vytvorit, Hledej; Choice Vyber, VyberFind; JLabel nadpis, label_vyber, label_souborBel, label_souborZprav, label_souborLit, label_slovo, label_hledej, label_vysledky; BufferedReader bfr; JList lstVysledky; /** *konstruktor tridy Gui */ public Gui() { getContentPane().setLayout(null); setupGUI(); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } /** *metoda pro vytvoreni grafickeho prostredi se vsemi potrebnymi komponenty */ public void setupGUI() { setTitle("Semestrální práce"); setSize(600,400); setLocation(200,200); setVisible(true); setResizable(false); nadpis = new JLabel(); nadpis.setLocation(180,20); nadpis.setSize(220,35); nadpis.setText("Semestrální práce z předmětu KIV/PT"); getContentPane().add(nadpis); label_souborBel = new JLabel(); label_souborBel.setLocation(20,100); label_souborBel.setSize(220,25); label_souborBel.setText("Vstupní soubor (Beletrie) :"); getContentPane().add(label_souborBel); label_souborZprav = new JLabel(); label_souborZprav.setLocation(20,150); label_souborZprav.setSize(220,25); label_souborZprav.setText("Vstupní soubor (Zpravodajství) :"); getContentPane().add(label_souborZprav); label_souborLit = new JLabel(); label_souborLit.setLocation(20,200); label_souborLit.setSize(220,25); label_souborLit.setText("Vstupní soubor (Odborná literatura) :"); getContentPane().add(label_souborLit); souborBel = new JTextField(); souborBel.setLocation(20,125); souborBel.setSize(220,25); souborBel.setText("beletrie.txt"); souborBel.setColumns(10); getContentPane().add(souborBel); souborZprav = new JTextField(); souborZprav.setLocation(20,175); souborZprav.setSize(220,25); souborZprav.setText("zpravodajstvi.txt"); souborZprav.setColumns(10); getContentPane().add(souborZprav); souborLit = new JTextField(); souborLit.setLocation(20,225); souborLit.setSize(220,25); souborLit.setText("odbornaLiteratura.txt"); souborLit.setColumns(10); getContentPane().add(souborLit); Vytvorit = new Button(); Vytvorit.setLocation(110,325); Vytvorit.setSize(80,25); Vytvorit.setLabel("OK"); getContentPane().add(Vytvorit); Vytvorit.addActionListener( new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { try{ bfr=new BufferedReader(new FileReader(souborBel.getText())); Text textBel=new Text(bfr); textBel.soubor=souborBel.getText(); if (Vyber.getSelectedIndex()==0){ textBel.SeraditAbecedne(); } if(Vyber.getSelectedIndex()==1){ textBel.SeraditCetnost(); } bfr.close(); } catch (IOException er) { ChybaBel(); } try{ bfr=new BufferedReader(new FileReader(souborZprav.getText())); Text textZprav=new Text(bfr); textZprav.soubor=souborZprav.getText(); if (Vyber.getSelectedIndex()==0){ textZprav.SeraditAbecedne(); } if(Vyber.getSelectedIndex()==1){ textZprav.SeraditCetnost(); } bfr.close(); } catch (IOException er) { ChybaZprav(); } try{ bfr=new BufferedReader(new FileReader(souborLit.getText())); Text textLit=new Text(bfr); textLit.soubor=souborLit.getText(); if (Vyber.getSelectedIndex()==0){ textLit.SeraditAbecedne(); } if(Vyber.getSelectedIndex()==1){ textLit.SeraditCetnost(); } bfr.close(); } catch (IOException er) { ChybaLit(); } } } ); label_vyber = new JLabel(); label_vyber.setLocation(20,250); label_vyber.setSize(100,25); label_vyber.setText("Způsob řazení:"); getContentPane().add(label_vyber); Vyber = new Choice(); Vyber.setLocation(20,275); Vyber.setSize(125,25); Vyber.add("Podle abecedy"); Vyber.add("Podle četnosti"); getContentPane().add(Vyber); lstVysledky = new JList(); lstVysledky.setLocation(275,175); lstVysledky.setSize(275,125); JScrollPane posuvnik = new JScrollPane(lstVysledky, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); posuvnik.setLocation(275,175); posuvnik.setSize(275,125); getContentPane().add(posuvnik); slovo = new JTextField(); slovo.setLocation(275,125); slovo.setSize(125,25); slovo.setText(""); slovo.setColumns(10); getContentPane().add(slovo); VyberFind = new Choice(); VyberFind.setLocation(425,125); VyberFind.setSize(125,25); VyberFind.add("Beletrii"); VyberFind.add("Zpravodajstvi"); VyberFind.add("Odborné literatuře"); getContentPane().add(VyberFind); label_slovo = new JLabel(); label_slovo.setLocation(275,100); label_slovo.setSize(100,25); label_slovo.setText("Hedané slovo:"); getContentPane().add(label_slovo); label_hledej = new JLabel(); label_hledej.setLocation(425,100); label_hledej.setSize(100,25); label_hledej.setText("Hledej v:"); getContentPane().add(label_hledej); label_vysledky = new JLabel(); label_vysledky.setLocation(275,150); label_vysledky.setSize(100,25); label_vysledky.setText("Výsledky:"); getContentPane().add(label_vysledky); Hledej = new Button(); Hledej.setLocation(375,325); Hledej.setSize(80,25); Hledej.setLabel("Hledej"); getContentPane().add(Hledej); Hledej.addActionListener( new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { switch (VyberFind.getSelectedIndex()) { case 0 : try{ bfr=new BufferedReader(new FileReader(souborBel.getText())); Text textBel=new Text(bfr); textBel.soubor=souborBel.getText(); lstVysledky.setListData(textBel.Hledej(slovo.getText())); bfr.close(); } catch (IOException er) { ChybaBel(); } break; case 1 : try{ bfr=new BufferedReader(new FileReader(souborZprav.getText())); Text textZprav=new Text(bfr); textZprav.soubor=souborZprav.getText(); lstVysledky.setListData(textZprav.Hledej(slovo.getText())); bfr.close(); } catch (IOException er) { ChybaZprav(); } break; case 2 : try{ bfr=new BufferedReader(new FileReader(souborLit.getText())); Text textLit=new Text(bfr); textLit.soubor=souborLit.getText(); lstVysledky.setListData(textLit.Hledej(slovo.getText())); bfr.close(); } catch (IOException er) { ChybaLit(); } break; } } } ); } /** *vypis chybove hlasky v pripade nenalezeni vstupniho souboru (Beletrie) */ public void ChybaBel() { souborBel.setText("Soubor nenalezen!"); } /** *vypis chybove hlasky v pripade nenalezeni vstupniho souboru (Zpravodajstvi) */ public void ChybaZprav() { souborZprav.setText("Soubor nenalezen!"); } /** *vypis chybove hlasky v pripade nenalezeni vstupniho souboru (Odborna literatura) */ public void ChybaLit() { souborLit.setText("Soubor nenalezen!"); } /** *metoda main *spousti cely program *@param args nepouzito */ public static void main (String [] args){ Gui okno=new Gui(); } }