<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://wiki.mplicka.cz/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://wiki.mplicka.cz/feed.php">
        <title>Martin Plicka&#039;s Wiki - pjvomo</title>
        <description></description>
        <link>https://wiki.mplicka.cz/</link>
        <image rdf:resource="https://wiki.mplicka.cz/_media/wiki/dokuwiki.svg" />
       <dc:date>2026-04-27T00:56:59+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://wiki.mplicka.cz/pjvomo/ant?rev=1313526808&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.mplicka.cz/pjvomo/factory-method-abstract-factory?rev=1313526807&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.mplicka.cz/pjvomo/gui1?rev=1313526808&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.mplicka.cz/pjvomo/kolekce?rev=1313526807&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.mplicka.cz/pjvomo/obrazce?rev=1313526807&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.mplicka.cz/pjvomo/psi?rev=1313526808&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.mplicka.cz/pjvomo/serializace?rev=1313526807&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.mplicka.cz/pjvomo/singleton?rev=1313526808&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.mplicka.cz/pjvomo/site1?rev=1313526808&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.mplicka.cz/pjvomo/stack?rev=1313526807&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.mplicka.cz/pjvomo/start?rev=1313526808&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.mplicka.cz/pjvomo/state?rev=1313526808&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.mplicka.cz/pjvomo/ukol3?rev=1313526806&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.mplicka.cz/pjvomo/vyjimky?rev=1313526807&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.mplicka.cz/pjvomo/vyrazy?rev=1313526807&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.mplicka.cz/pjvomo/zlomky?rev=1313526808&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://wiki.mplicka.cz/_media/wiki/dokuwiki.svg">
        <title>Martin Plicka's Wiki</title>
        <link>https://wiki.mplicka.cz/</link>
        <url>https://wiki.mplicka.cz/_media/wiki/dokuwiki.svg</url>
    </image>
    <item rdf:about="https://wiki.mplicka.cz/pjvomo/ant?rev=1313526808&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-08-16T20:33:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ant</title>
        <link>https://wiki.mplicka.cz/pjvomo/ant?rev=1313526808&amp;do=diff</link>
        <description>ANT skript

FIXME Work in progress.

Známá chyba - nefunguje spouštění z JAR :/

	*  Soubor pojmenujte build.xml a umístěte do adresáře vašeho projektu.
	*  Předpokládá následující adresářovou strukturu:
		*  src/ - soubory se zdrojovými kódy (*.java)</description>
    </item>
    <item rdf:about="https://wiki.mplicka.cz/pjvomo/factory-method-abstract-factory?rev=1313526807&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-08-16T20:33:27+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>factory-method-abstract-factory</title>
        <link>https://wiki.mplicka.cz/pjvomo/factory-method-abstract-factory?rev=1313526807&amp;do=diff</link>
        <description>OMO - Factory method a Abstract factory

Účelem je vytvořit “továrnu” na instance, která bude za nás generovat objekty podle aktuálních podmínek - pattern Factory method. Abstract factory je rozšíření, které ještě dovoluje vyměňovat</description>
    </item>
    <item rdf:about="https://wiki.mplicka.cz/pjvomo/gui1?rev=1313526808&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-08-16T20:33:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>gui1</title>
        <link>https://wiki.mplicka.cz/pjvomo/gui1?rev=1313526808&amp;do=diff</link>
        <description>GUI #1

Main.java


package gui;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;


/**
 * Tlacitko s hezcim vykreslovanim
 * @author Martin
 */
class MojeTlacitko extends JButton{

    MojeTlacitko(String string) {
        super(string);
    }

    @Override
    public void paint(Graphics g) {
        /* nejdriv vykreslime puvodni tlacitko
           muze se nam to hodit */
        super.paint(g);

        /* nastavime si cervenou barvu */
        g.setColor(Color.red);
      …</description>
    </item>
    <item rdf:about="https://wiki.mplicka.cz/pjvomo/kolekce?rev=1313526807&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-08-16T20:33:27+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>kolekce</title>
        <link>https://wiki.mplicka.cz/pjvomo/kolekce?rev=1313526807&amp;do=diff</link>
        <description>Kolekce, úvod

Utvar2D.java

Implementujeme interface Comparable, jeho jedinou metodu, compareTo, která dokáže porovnat dva různé objekty. Jedním z porovnávaných objektů je příjemce zprávy, druhý je předán v argumentu volání metody. Metoda vrací kladné celé číslo, pokud je</description>
    </item>
    <item rdf:about="https://wiki.mplicka.cz/pjvomo/obrazce?rev=1313526807&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-08-16T20:33:27+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>obrazce</title>
        <link>https://wiki.mplicka.cz/pjvomo/obrazce?rev=1313526807&amp;do=diff</link>
        <description>Polymorfismus, dědičnost - Geometrické obrazce

Polymorfismem rozumíme techniku, kdy očekáváme, že jeden objekt dokáže zastoupit druhý. Tzn. že dokáže odpovědět na nějakou sadu zpráv.
Nechť máme sadu grafických objektů, např. pro plotter. Chceme od každého objektu vědět, kolik na něj spotřebujeme inkoustu, tj. jeho obvod. Ale je nám jedno, co je objekt zač. Nezajímá nás, jestli je to kruh nebo čtverec, chceme od něj jen ten obvod. Takže pošleme zprávu</description>
    </item>
    <item rdf:about="https://wiki.mplicka.cz/pjvomo/psi?rev=1313526808&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-08-16T20:33:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>psi</title>
        <link>https://wiki.mplicka.cz/pjvomo/psi?rev=1313526808&amp;do=diff</link>
        <description>PJV - 3. cvičení - kolekce (dokončení)

Metody equals(Object) (je nutné používat pro Object a ošetřit i “cokoliv jiného”) a hashCode(), jsou potřebné, pokud objekty potřebujete v kolekci porovnávat. Tj. hledat, mazat podle obsahu atd. Taky je používají některé kolekce k plnění svých vlastností. Např.</description>
    </item>
    <item rdf:about="https://wiki.mplicka.cz/pjvomo/serializace?rev=1313526807&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-08-16T20:33:27+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>serializace</title>
        <link>https://wiki.mplicka.cz/pjvomo/serializace?rev=1313526807&amp;do=diff</link>
        <description>Serializace

Pes.java


package soubory;

import java.io.Serializable;

public class Pes implements Serializable{
    String jmeno;
    String majitel;
    
    public Pes(String jmeno, String majitel){
        this.jmeno = jmeno;
        this.majitel = majitel;
    }

    @Override
    public String toString(){
        return jmeno+&quot;(&quot;+majitel+&quot;)&quot;;
    }
}</description>
    </item>
    <item rdf:about="https://wiki.mplicka.cz/pjvomo/singleton?rev=1313526808&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-08-16T20:33:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>singleton</title>
        <link>https://wiki.mplicka.cz/pjvomo/singleton?rev=1313526808&amp;do=diff</link>
        <description>OMO - singleton

Singleton je objekt, u kterého chceme mít maximálně jednu instanci a chceme vytvoření nové zakázat. V každém programovacím jazyku se to dá řešit trošku jinak. V Javě je řešení přibližně následující.

	*  Konstruktor nastavíme na private, aby nešel použít. Pokud jej neuvedeme, kompilátor vytvoří implicitní, který je public.</description>
    </item>
    <item rdf:about="https://wiki.mplicka.cz/pjvomo/site1?rev=1313526808&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-08-16T20:33:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>site1</title>
        <link>https://wiki.mplicka.cz/pjvomo/site1?rev=1313526808&amp;do=diff</link>
        <description>Sítě

Tento kód je velmi odbytý. Ale snad je na něm vidět základní práce s TCP streamy.

Client.java


package javaapplication21;

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.logging.Level;
import ja…</description>
    </item>
    <item rdf:about="https://wiki.mplicka.cz/pjvomo/stack?rev=1313526807&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-08-16T20:33:27+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>stack</title>
        <link>https://wiki.mplicka.cz/pjvomo/stack?rev=1313526807&amp;do=diff</link>
        <description>OMO - 3. cvičení - Dědičnost, skládání

Na třídách Stack a SmartStack by měla být vidět výhoda dědičnosti. Stačilo nám překrýt jen metodu push, resp. přidat ještě privátní metodu na zvětšení vnitřního pole, a máme lepší zásobník. Ostatní metody můžeme nechat beze změny a zásobník bude fungovat.</description>
    </item>
    <item rdf:about="https://wiki.mplicka.cz/pjvomo/start?rev=1313526808&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-08-16T20:33:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>start</title>
        <link>https://wiki.mplicka.cz/pjvomo/start?rev=1313526808&amp;do=diff</link>
        <description>PJV &amp; OMO

	*  ANT skript - můj první výtvor - můžete se inspirovat :-)

	*  Subversion tutoriál - Velmi pěkný tutoriál na SVN z Brna. Nechtělo se mi psát nic vlastního a tenhle by to asi nepřekonalo :-).

PJV

	*  Web Y36PJV
	*  Starý web Y36PJV

	*  Seznam úkolů

Příklady ze cvik

Hromadu příkladů z PJV naleznete na stránce předmětu</description>
    </item>
    <item rdf:about="https://wiki.mplicka.cz/pjvomo/state?rev=1313526808&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-08-16T20:33:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>state</title>
        <link>https://wiki.mplicka.cz/pjvomo/state?rev=1313526808&amp;do=diff</link>
        <description>State pattern

State.java


package state;

abstract public class State {
    ChatClient context;

    State(ChatClient context){
        this.context = context;
    }

    void setContext(ChatClient newContext){
        context = newContext;
    }
    abstract void write(String message);
    abstract void connect(String address);
}</description>
    </item>
    <item rdf:about="https://wiki.mplicka.cz/pjvomo/ukol3?rev=1313526806&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-08-16T20:33:26+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ukol3</title>
        <link>https://wiki.mplicka.cz/pjvomo/ukol3?rev=1313526806&amp;do=diff</link>
        <description>GUI

hnizdo

	*  clear se nevraci do puvodniho stavu, to je dobre? asi neni dobre, aby se stav jednoho tlacitka vracel do normalu pri stisku druheho, po stornu toho file vyberoveho dialogu vybublaji na pozadi nejake vyjimky.
	*  K cemu je v obsluze toho FileChooseru ten string buffer, kdyz se vraci ten string, a btw, ten string se vraci i kdyz se nevybere nic, to mozna zpusobuje tu vyjimku.</description>
    </item>
    <item rdf:about="https://wiki.mplicka.cz/pjvomo/vyjimky?rev=1313526807&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-08-16T20:33:27+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>vyjimky</title>
        <link>https://wiki.mplicka.cz/pjvomo/vyjimky?rev=1313526807&amp;do=diff</link>
        <description>Výjimky

MojeVyjimka.java

Z dokumentace ke třídě Exception zjistíme, že ta poskytuje 4 konstruktory. Každý může být užitečný, takže si je zařídíme také všechny.


package vyjimky;

public class MojeVyjimka extends Exception {

    /**
     * Konstruktor bez zpravy. Muze se zdat k nicemu, nicmene
     * pokud mate chytre navrzenou hierarchii vyjimek, lze
     * to obcas zvladnout i beze slov ... :-)
     * A navic, vyjimky vetsinou potrebujete
     * selektivne zpracovavat, takze se hierarchie h…</description>
    </item>
    <item rdf:about="https://wiki.mplicka.cz/pjvomo/vyrazy?rev=1313526807&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-08-16T20:33:27+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>vyrazy</title>
        <link>https://wiki.mplicka.cz/pjvomo/vyrazy?rev=1313526807&amp;do=diff</link>
        <description>Výrazy - Composite, Interpreter, Visitor

Expr.java

Představuje libovolný výraz


package vyrazy;

import java.io.IOException;

abstract public class Expr {
    abstract double eval();
    @Override
    public abstract String toString();
    public abstract void exportUsing(Exporter exporter) throws IOException;
}</description>
    </item>
    <item rdf:about="https://wiki.mplicka.cz/pjvomo/zlomky?rev=1313526808&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-08-16T20:33:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>zlomky</title>
        <link>https://wiki.mplicka.cz/pjvomo/zlomky?rev=1313526808&amp;do=diff</link>
        <description>PJV - 1. cvičení - Zlomky

V tomto příkladu záměrně “flákám” dvě věci (budu se jim věnovat později):

	*  Výjimky. Řeším je tak, aby to jen indikovalo chybu. Správně by se měl použít správný typ v hierarchii, případně si výjimku udělat vlastní.</description>
    </item>
</rdf:RDF>
