java/SuperPostak/src/cz/frantovo/superPostak/SuperPostak.java
author František Kučera <franta-hg@frantovo.cz>
Sun, 23 Nov 2008 22:19:20 +0100
changeset 0 e76872ad5226
child 3 03d27d3b3f7b
permissions -rw-r--r--
Přidání SuperPošťáka do Mercurialu (původně byl v Subversionu)
Postak – základ, knihovna
SuperPostak – GUI nadstavba
SuperPostak2 – pokus o implementaci aplikace jako modulu pro Netbeans, POZOR: není přidán do Mercurialu, možná později (pravděpodobně se ale nebude používat)
franta-hg@0
     1
package cz.frantovo.superPostak;
franta-hg@0
     2
franta-hg@0
     3
import cz.frantovo.postak.HromadnaZprava;
franta-hg@0
     4
import cz.frantovo.postak.InternetAddressKomu;
franta-hg@0
     5
import cz.frantovo.postak.Nastaveni;
franta-hg@0
     6
import cz.frantovo.postak.Postak;
franta-hg@0
     7
import java.awt.CardLayout;
franta-hg@0
     8
import java.awt.Component;
franta-hg@0
     9
import java.awt.Cursor;
franta-hg@0
    10
import java.awt.Dialog.ModalityType;
franta-hg@0
    11
import java.awt.KeyboardFocusManager;
franta-hg@0
    12
import java.beans.XMLDecoder;
franta-hg@0
    13
import java.beans.XMLEncoder;
franta-hg@0
    14
import java.io.BufferedInputStream;
franta-hg@0
    15
import java.io.BufferedOutputStream;
franta-hg@0
    16
import java.io.File;
franta-hg@0
    17
import java.io.FileInputStream;
franta-hg@0
    18
import java.io.FileNotFoundException;
franta-hg@0
    19
import java.io.FileOutputStream;
franta-hg@0
    20
import java.io.IOException;
franta-hg@0
    21
import java.io.UnsupportedEncodingException;
franta-hg@0
    22
import java.sql.SQLException;
franta-hg@0
    23
import java.util.ArrayList;
franta-hg@0
    24
import java.util.Collection;
franta-hg@0
    25
import java.util.logging.Level;
franta-hg@0
    26
import java.util.logging.Logger;
franta-hg@0
    27
import java.util.zip.GZIPInputStream;
franta-hg@0
    28
import java.util.zip.GZIPOutputStream;
franta-hg@0
    29
import javax.mail.MessagingException;
franta-hg@0
    30
import javax.mail.internet.InternetAddress;
franta-hg@0
    31
import javax.swing.JComponent;
franta-hg@0
    32
import javax.swing.JDialog;
franta-hg@0
    33
import javax.swing.JOptionPane;
franta-hg@0
    34
import javax.swing.JTextArea;
franta-hg@0
    35
import javax.swing.LookAndFeel;
franta-hg@0
    36
import javax.swing.UIManager;
franta-hg@0
    37
import javax.swing.UnsupportedLookAndFeelException;
franta-hg@0
    38
import org.jdesktop.swingx.JXErrorPane;
franta-hg@0
    39
import org.jdesktop.swingx.JXTaskPaneContainer;
franta-hg@0
    40
import org.jdesktop.swingx.error.ErrorInfo;
franta-hg@0
    41
import org.jvnet.substance.skin.SubstanceBusinessBlueSteelLookAndFeel;
franta-hg@0
    42
franta-hg@0
    43
/**
franta-hg@0
    44
 *
franta-hg@0
    45
 * @author  fiki
franta-hg@0
    46
 */
franta-hg@0
    47
public class SuperPostak extends javax.swing.JFrame {
franta-hg@0
    48
franta-hg@0
    49
    /** Soubor, kde je uložené nastavení */
franta-hg@0
    50
    private static final String NASTAVENI_SOUBOR = "Nastaveni.xml.gz";
franta-hg@0
    51
    private static final String CERTIFIKATY_SOUBOR = "DuveryhodneCertifikaty.keystore";
franta-hg@0
    52
    private static final String NASTAVENI_SLOZKA = ".SuperPostak";
franta-hg@0
    53
    private static final String DOMACI_ADRESAR = System.getProperty("user.home");
franta-hg@0
    54
    private static Logger log = Logger.getLogger(SuperPostak.class.getName());
franta-hg@0
    55
    private Nastaveni nastaveni = new Nastaveni();
franta-hg@0
    56
    private Postak postak = new Postak(nastaveni);
franta-hg@0
    57
franta-hg@0
    58
    /**
franta-hg@0
    59
     * Creates new form SuperPostak
franta-hg@0
    60
     * @param ladit předvyplní testovací hodnoty - zprávu
franta-hg@0
    61
     * @param exit při zavření okna ukončí program     
franta-hg@0
    62
     */
franta-hg@0
    63
    public SuperPostak(boolean ladit, boolean exit) {
franta-hg@0
    64
        log.log(Level.WARNING, "Program byl spuštěn.");
franta-hg@0
    65
        nactiOvladaceJDBC();
franta-hg@0
    66
        vytvorSlozkuProgramu();
franta-hg@0
    67
        initComponents();
franta-hg@0
    68
franta-hg@0
    69
        nactiNastaveni();
franta-hg@0
    70
        ulozNastaveni();
franta-hg@0
    71
        nastaveni.setCestaKCertifikatum(getCestaKCertifikatum());
franta-hg@0
    72
franta-hg@0
    73
        inicializujCardLayout();
franta-hg@0
    74
        setLocationRelativeTo(null);
franta-hg@0
    75
franta-hg@0
    76
        /** Vyřešíme problém TAB vs. Focus */
franta-hg@0
    77
        vyresitTabFocusProblem(vstupSQL);
franta-hg@0
    78
        vyresitTabFocusProblem(vstupZprava);
franta-hg@0
    79
franta-hg@0
    80
        /** Ladicí hodnoty */
franta-hg@0
    81
        if (ladit) {
franta-hg@0
    82
            nastavLadiciHodnoty();
franta-hg@0
    83
        }
franta-hg@0
    84
        
franta-hg@0
    85
        if (exit) {
franta-hg@0
    86
            setDefaultCloseOperation(EXIT_ON_CLOSE);
franta-hg@0
    87
        }
franta-hg@0
    88
franta-hg@0
    89
franta-hg@0
    90
    }
franta-hg@0
    91
franta-hg@0
    92
    private void inicializujCardLayout() {
franta-hg@0
    93
        panelDatabaze.setName("panelDatabaze");
franta-hg@0
    94
        panelOdeslat.setName("panelOdeslat");
franta-hg@0
    95
        panelPrijemci.setName("panelPrijemci");
franta-hg@0
    96
        panelServer.setName("panelServer");
franta-hg@0
    97
        panelVychoziPrijemci.setName("panelVychoziPrijemci");
franta-hg@0
    98
        panelZprava.setName("panelZprava");
franta-hg@0
    99
franta-hg@0
   100
        panel.add(panelDatabaze, panelDatabaze.getName());
franta-hg@0
   101
        panel.add(panelOdeslat, panelOdeslat.getName());
franta-hg@0
   102
        panel.add(panelPrijemci, panelPrijemci.getName());
franta-hg@0
   103
        panel.add(panelServer, panelServer.getName());
franta-hg@0
   104
        panel.add(panelVychoziPrijemci, panelVychoziPrijemci.getName());
franta-hg@0
   105
        panel.add(panelZprava, panelZprava.getName());
franta-hg@0
   106
franta-hg@0
   107
        setPanel(panelZprava);
franta-hg@0
   108
        pack();
franta-hg@0
   109
    }
franta-hg@0
   110
franta-hg@0
   111
    /**
franta-hg@0
   112
     * Vyplní formuláře (odesílatel, předmět, zpráva, příjemci...) výchozími hodnotami,
franta-hg@0
   113
     * aby se dal program testovat jedním kliknutím.
franta-hg@0
   114
     */
franta-hg@0
   115
    private void nastavLadiciHodnoty() {
franta-hg@0
   116
        try {
franta-hg@0
   117
            vstupAdresaOdesilatele.setText("SuperPostak@frantovo.cz");
franta-hg@0
   118
            vstupJmenoOdesilatele.setText("SuperPošťák");
franta-hg@0
   119
            vstupPredmet.setText("Zkušební zpráva od SuperPošťáka");
franta-hg@0
   120
            vstupZprava.setText("Toto je obyčejná zkušební zpráva v češtině :-)");
franta-hg@0
   121
            ArrayList<InternetAddressKomu> adresy = new ArrayList<InternetAddressKomu>();
franta-hg@0
   122
            adresy.add(new InternetAddressKomu("SuperPostak@frantovo.cz", "SuperPošťák"));
franta-hg@0
   123
            prijemciZkusebni.setAdresy(adresy);
franta-hg@0
   124
        } catch (UnsupportedEncodingException e) {
franta-hg@0
   125
            log.log(Level.SEVERE, null, e);
franta-hg@0
   126
        }
franta-hg@0
   127
    }
franta-hg@0
   128
franta-hg@0
   129
    /**
franta-hg@0
   130
     * Pokusíme se načíst ovladače pro různé DB a výsledek zapíšeme do logu.
franta-hg@0
   131
     * Další ovladače je možné přidat pomocí manifestu v příslušných knihovnách.
franta-hg@0
   132
     * viz http://www.sweb.cz/pichlik/archive/2006_08_06_archive.html#115502885631518161
franta-hg@0
   133
     */
franta-hg@0
   134
    private void nactiOvladaceJDBC() {
franta-hg@0
   135
        nactiOvladacJDBC("org.postgresql.Driver", "PostgreSQL");
franta-hg@0
   136
        nactiOvladacJDBC("com.mysql.jdbc.Driver", "MySQL");
franta-hg@0
   137
        nactiOvladacJDBC("net.sourceforge.jtds.jdbc.Driver", "jTDS Sybase a MS SQL");
franta-hg@0
   138
        nactiOvladacJDBC("com.sybase.jdbc2.jdbc.SybDriver", "Sybase.com");
franta-hg@0
   139
    }
franta-hg@0
   140
franta-hg@0
   141
    /**
franta-hg@0
   142
     * @param trida ovladač databáze, který se má načíst
franta-hg@0
   143
     * @param jmeno název databáze     
franta-hg@0
   144
     */
franta-hg@0
   145
    private void nactiOvladacJDBC(String trida, String jmeno) {
franta-hg@0
   146
        try {
franta-hg@0
   147
            Class.forName(trida);
franta-hg@0
   148
            log.log(Level.INFO, "JDBC ovladač pro " + jmeno + " byl úspěšně načten.");
franta-hg@0
   149
        } catch (ClassNotFoundException e) {
franta-hg@0
   150
            log.log(Level.INFO, "JDBC ovladač pro " + jmeno + " se nepodařilo načíst.");
franta-hg@0
   151
        }
franta-hg@0
   152
    }
franta-hg@0
   153
franta-hg@0
   154
    /** Vrací plnou cestu k souboru s nastavením */
franta-hg@0
   155
    protected static String getCestaKCertifikatum() {
franta-hg@0
   156
        return getCestaKeSlozceProgramu() + CERTIFIKATY_SOUBOR;
franta-hg@0
   157
    }
franta-hg@0
   158
franta-hg@0
   159
    /** Vrací plnou cestu k souboru s nastavením */
franta-hg@0
   160
    protected static String getCestaKNastaveni() {
franta-hg@0
   161
        return getCestaKeSlozceProgramu() + NASTAVENI_SOUBOR;
franta-hg@0
   162
    }
franta-hg@0
   163
franta-hg@0
   164
    /** Vrací plnou cestu ke složce programu (nastavení, certifikáty a logy) */
franta-hg@0
   165
    protected static String getCestaKeSlozceProgramu() {
franta-hg@0
   166
        return DOMACI_ADRESAR + File.separator + NASTAVENI_SLOZKA + File.separator;
franta-hg@0
   167
    }
franta-hg@0
   168
franta-hg@0
   169
    /** Načte nastavení ze souboru */
franta-hg@0
   170
    private void nactiNastaveni() {
franta-hg@0
   171
        try {
franta-hg@0
   172
            XMLDecoder d = new XMLDecoder(new BufferedInputStream(new GZIPInputStream(new FileInputStream(getCestaKNastaveni()))));
franta-hg@0
   173
            Object xmlObjekt = d.readObject();
franta-hg@0
   174
            d.close();
franta-hg@0
   175
franta-hg@0
   176
            if (xmlObjekt instanceof Nastaveni) {
franta-hg@0
   177
                nastaveni = (Nastaveni) xmlObjekt;
franta-hg@0
   178
            } else {
franta-hg@0
   179
                nastaveni = new Nastaveni();
franta-hg@0
   180
                log.log(Level.SEVERE, "Nepodařilo se načíst nastavení: není instancí");
franta-hg@0
   181
            }
franta-hg@0
   182
franta-hg@0
   183
            nactiNastaveniGUI();
franta-hg@0
   184
franta-hg@0
   185
            log.log(Level.INFO, "Nastavení bylo načteno.");
franta-hg@0
   186
        } catch (FileNotFoundException ex) {
franta-hg@0
   187
            log.log(Level.SEVERE, "Nepodařilo se načíst nastavení: soubor nenalezen", ex);
franta-hg@0
   188
        } catch (IOException ex) {
franta-hg@0
   189
            log.log(Level.SEVERE, "Nastavení se nepodařilo načíst: I/O.", ex);
franta-hg@0
   190
        }
franta-hg@0
   191
    }
franta-hg@0
   192
franta-hg@0
   193
    /** Vytvoří (pokud neexistuje) v domovském adresáři složku, kam se ukládá nastavení a případně logy */
franta-hg@0
   194
    private static boolean vytvorSlozkuProgramu() {
franta-hg@0
   195
        if (new File(getCestaKeSlozceProgramu()).mkdirs()) {
franta-hg@0
   196
            log.log(Level.INFO, "Složka pro nastavení programu byla vytvořena: " + getCestaKeSlozceProgramu());
franta-hg@0
   197
            return true;
franta-hg@0
   198
        } else {
franta-hg@0
   199
            return false;
franta-hg@0
   200
        }
franta-hg@0
   201
    }
franta-hg@0
   202
franta-hg@0
   203
    /** Uloží nastavení do souboru */
franta-hg@0
   204
    private void ulozNastaveni() {
franta-hg@0
   205
        try {
franta-hg@0
   206
            ulozNastaveniGUI();
franta-hg@0
   207
franta-hg@0
   208
            vytvorSlozkuProgramu();
franta-hg@0
   209
franta-hg@0
   210
            XMLEncoder e = new XMLEncoder(new BufferedOutputStream(new GZIPOutputStream(new FileOutputStream(getCestaKNastaveni()))));
franta-hg@0
   211
            e.writeObject(nastaveni);
franta-hg@0
   212
            e.close();
franta-hg@0
   213
            log.log(Level.INFO, "Nastavení bylo uloženo.");
franta-hg@0
   214
        } catch (FileNotFoundException ex) {
franta-hg@0
   215
            log.log(Level.SEVERE, "Nastavení se nepodařilo uložit: soubor nenalezen.", ex);
franta-hg@0
   216
        } catch (IOException ex) {
franta-hg@0
   217
            log.log(Level.SEVERE, "Nastavení se nepodařilo uložit: I/O.", ex);
franta-hg@0
   218
        }
franta-hg@0
   219
    }
franta-hg@0
   220
franta-hg@0
   221
    /** Posbírá zadané hodnoty z GUI a uloží je do objektu nastaveni */
franta-hg@0
   222
    private void ulozNastaveniGUI() {
franta-hg@0
   223
        nastaveni.setDatabaze(vstupDatabaze.getText());
franta-hg@0
   224
        nastaveni.setDbHeslo(vstupDBheslo.getPassword());
franta-hg@0
   225
        nastaveni.setDbJmeno(vstupDBjmeno.getText());
franta-hg@0
   226
        nastaveni.setLimitZprav((Integer) vstupSMTPlimitPrijemcu.getValue());
franta-hg@0
   227
        nastaveni.setPostovniHeslo(vstupSMTPheslo.getPassword());
franta-hg@0
   228
        nastaveni.setPostovniJmeno(vstupSMTPjmeno.getText());
franta-hg@0
   229
        nastaveni.setPostovniPort((Integer) vstupSMTPport.getValue());
franta-hg@0
   230
        nastaveni.setPostovniServer(vstupSMTPserver.getText());
franta-hg@0
   231
        nastaveni.setVychoziPrijemci(prijemciVychozi.getAdresy());
franta-hg@0
   232
    }
franta-hg@0
   233
franta-hg@0
   234
    /** Aktualizuje GUI formuláře hodnotami z objektu nastaveni */
franta-hg@0
   235
    private void nactiNastaveniGUI() {
franta-hg@0
   236
        vstupDatabaze.setText(nastaveni.getDatabaze());
franta-hg@0
   237
        if (nastaveni.getDbHeslo() != null) {
franta-hg@0
   238
            vstupDBheslo.setText(String.valueOf(nastaveni.getDbHeslo()));
franta-hg@0
   239
        }
franta-hg@0
   240
        vstupDBjmeno.setText(nastaveni.getDbJmeno());
franta-hg@0
   241
        vstupSMTPlimitPrijemcu.setValue(nastaveni.getLimitZprav());
franta-hg@0
   242
        if (nastaveni.getPostovniHeslo() != null) {
franta-hg@0
   243
            vstupSMTPheslo.setText(String.valueOf(nastaveni.getPostovniHeslo()));
franta-hg@0
   244
        }
franta-hg@0
   245
        vstupSMTPjmeno.setText(nastaveni.getPostovniJmeno());
franta-hg@0
   246
        vstupSMTPport.setValue(nastaveni.getPostovniPort());
franta-hg@0
   247
        vstupSMTPserver.setText(nastaveni.getPostovniServer());
franta-hg@0
   248
        prijemciVychozi.setAdresy(nastaveni.getVychoziPrijemci());
franta-hg@0
   249
    }
franta-hg@0
   250
franta-hg@0
   251
    protected static void zobrazChybovyDialog(Component vlastnik, String strucnaZprava, Throwable vyjimka, Level zavaznost, boolean logovat) {
franta-hg@0
   252
        zobrazChybovyDialog(vlastnik, "Chyba", strucnaZprava, null, vyjimka, zavaznost, logovat);
franta-hg@0
   253
    }
franta-hg@0
   254
franta-hg@0
   255
    protected static void zobrazInformacniDialog(Component vlastnik, String nadpis, String text, boolean loguj) {
franta-hg@0
   256
        JOptionPane.showMessageDialog(vlastnik, text, nadpis, JOptionPane.INFORMATION_MESSAGE);
franta-hg@0
   257
        if (loguj) {
franta-hg@0
   258
            log.log(Level.INFO, nadpis + ": " + text);
franta-hg@0
   259
        }
franta-hg@0
   260
    }
franta-hg@0
   261
franta-hg@0
   262
    protected static void zobrazChybovyDialog(Component vlastnik, String nadpis, String strucnaZprava, String podrobnaZprava, Throwable vyjimka, Level zavaznost, boolean logovat) {
franta-hg@0
   263
        if (logovat) {
franta-hg@0
   264
            log.log(zavaznost, strucnaZprava, vyjimka);
franta-hg@0
   265
        }
franta-hg@0
   266
franta-hg@0
   267
        JXErrorPane chybovyPanel = new JXErrorPane();
franta-hg@0
   268
        ErrorInfo chybovaInformace = new ErrorInfo(nadpis, strucnaZprava, podrobnaZprava, null, vyjimka, zavaznost, null);
franta-hg@0
   269
        chybovyPanel.setErrorInfo(chybovaInformace);
franta-hg@0
   270
        JDialog dialog = JXErrorPane.createDialog(vlastnik, chybovyPanel);
franta-hg@0
   271
        dialog.setVisible(true);
franta-hg@0
   272
    }
franta-hg@0
   273
franta-hg@0
   274
    private void zobrazChybovyDialog(String strucnaZprava, Throwable vyjimka, Level zavaznost, boolean logovat) {
franta-hg@0
   275
        zobrazChybovyDialog(this, strucnaZprava, vyjimka, zavaznost, logovat);
franta-hg@0
   276
    }
franta-hg@0
   277
franta-hg@0
   278
    private void zobrazInformacniDialog(String nadpis, String text, boolean loguj) {
franta-hg@0
   279
        zobrazInformacniDialog(this, nadpis, text, loguj);
franta-hg@0
   280
    }
franta-hg@0
   281
franta-hg@0
   282
    private void zobrazChybovyDialog(String nadpis, String strucnaZprava, String podrobnaZprava, Throwable vyjimka, Level zavaznost, boolean logovat) {
franta-hg@0
   283
        zobrazChybovyDialog(this, nadpis, strucnaZprava, podrobnaZprava, vyjimka, zavaznost, logovat);
franta-hg@0
   284
    }
franta-hg@0
   285
franta-hg@0
   286
    /** This method is called from within the constructor to
franta-hg@0
   287
     * initialize the form.
franta-hg@0
   288
     * WARNING: Do NOT modify this code. The content of this method is
franta-hg@0
   289
     * always regenerated by the Form Editor.
franta-hg@0
   290
     */
franta-hg@0
   291
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
franta-hg@0
   292
    private void initComponents() {
franta-hg@0
   293
franta-hg@0
   294
        panelDatabaze = new org.jdesktop.swingx.JXPanel();
franta-hg@0
   295
        jLabel9 = new javax.swing.JLabel();
franta-hg@0
   296
        vstupDatabaze = new javax.swing.JTextField();
franta-hg@0
   297
        jLabel10 = new javax.swing.JLabel();
franta-hg@0
   298
        vstupDBjmeno = new javax.swing.JTextField();
franta-hg@0
   299
        vstupDBheslo = new javax.swing.JPasswordField();
franta-hg@0
   300
        jLabel11 = new javax.swing.JLabel();
franta-hg@0
   301
        vyzkousetPripojeniTlacitko = new javax.swing.JButton();
franta-hg@0
   302
        vystupDBzprava = new javax.swing.JLabel();
franta-hg@0
   303
        panelOdeslat = new org.jdesktop.swingx.JXPanel();
franta-hg@0
   304
        jPanel1 = new javax.swing.JPanel();
franta-hg@0
   305
        rozeslatZkusebniTlacitko = new javax.swing.JButton();
franta-hg@0
   306
        rozeslatHromadnouZpravuTlacitko = new javax.swing.JButton();
franta-hg@0
   307
        zobrazitVsechnyPrijemceTlacitko = new javax.swing.JButton();
franta-hg@0
   308
        prijemciZkusebni = new cz.frantovo.superPostak.PanelPrijemcu();
franta-hg@0
   309
        jSeparator2 = new javax.swing.JSeparator();
franta-hg@0
   310
        jLabel14 = new javax.swing.JLabel();
franta-hg@0
   311
        panelPrijemci = new org.jdesktop.swingx.JXPanel();
franta-hg@0
   312
        jLabel13 = new javax.swing.JLabel();
franta-hg@0
   313
        jScrollPane3 = new javax.swing.JScrollPane();
franta-hg@0
   314
        vstupSQL = new javax.swing.JTextArea();
franta-hg@0
   315
        vyzkousetSQLTlacitko = new javax.swing.JButton();
franta-hg@0
   316
        vystupSQLZprava = new javax.swing.JLabel();
franta-hg@0
   317
        prijemciDodatecni = new cz.frantovo.superPostak.PanelPrijemcu();
franta-hg@0
   318
        jSeparator1 = new javax.swing.JSeparator();
franta-hg@0
   319
        jLabel16 = new javax.swing.JLabel();
franta-hg@0
   320
        zobrazitSQLPrijemceTlacitko = new javax.swing.JButton();
franta-hg@0
   321
        panelServer = new org.jdesktop.swingx.JXPanel();
franta-hg@0
   322
        jLabel4 = new javax.swing.JLabel();
franta-hg@0
   323
        jLabel5 = new javax.swing.JLabel();
franta-hg@0
   324
        vstupSMTPserver = new javax.swing.JTextField();
franta-hg@0
   325
        vstupSMTPport = new javax.swing.JSpinner();
franta-hg@0
   326
        napovedaSMTPscroll = new javax.swing.JScrollPane();
franta-hg@0
   327
        napovedaSMTP = new javax.swing.JTextArea();
franta-hg@0
   328
        jLabel6 = new javax.swing.JLabel();
franta-hg@0
   329
        vstupSMTPjmeno = new javax.swing.JTextField();
franta-hg@0
   330
        vstupSMTPheslo = new javax.swing.JPasswordField();
franta-hg@0
   331
        jLabel7 = new javax.swing.JLabel();
franta-hg@0
   332
        vstupSMTPlimitPrijemcu = new javax.swing.JSpinner();
franta-hg@0
   333
        jLabel8 = new javax.swing.JLabel();
franta-hg@0
   334
        panelVychoziPrijemci = new org.jdesktop.swingx.JXPanel();
franta-hg@0
   335
        prijemciVychozi = new cz.frantovo.superPostak.PanelPrijemcu();
franta-hg@0
   336
        jLabel12 = new javax.swing.JLabel();
franta-hg@0
   337
        panelZprava = new org.jdesktop.swingx.JXPanel();
franta-hg@0
   338
        jLabel1 = new javax.swing.JLabel();
franta-hg@0
   339
        vstupPredmet = new javax.swing.JTextField();
franta-hg@0
   340
        jLabel2 = new javax.swing.JLabel();
franta-hg@0
   341
        vstupJmenoOdesilatele = new javax.swing.JTextField();
franta-hg@0
   342
        vstupAdresaOdesilatele = new javax.swing.JTextField();
franta-hg@0
   343
        jScrollPane1 = new javax.swing.JScrollPane();
franta-hg@0
   344
        vstupZprava = new javax.swing.JTextArea();
franta-hg@0
   345
        jLabel15 = new javax.swing.JLabel();
franta-hg@0
   346
        vstupFormatHTML = new javax.swing.JCheckBox();
franta-hg@0
   347
        odpovedetKomuOdkaz = new org.jdesktop.swingx.JXHyperlink();
franta-hg@0
   348
        odpovedetKomuDialog = new javax.swing.JDialog();
franta-hg@0
   349
        jLabel18 = new javax.swing.JLabel();
franta-hg@0
   350
        jLabel19 = new javax.swing.JLabel();
franta-hg@0
   351
        jLabel17 = new javax.swing.JLabel();
franta-hg@0
   352
        odpovedetKomuJmeno = new javax.swing.JTextField();
franta-hg@0
   353
        odpovedetKomuAdresa = new javax.swing.JTextField();
franta-hg@0
   354
        odpovedetKomuHotovo = new javax.swing.JButton();
franta-hg@0
   355
        jXHeader1 = new org.jdesktop.swingx.JXHeader();
franta-hg@0
   356
        taskPanel = new org.jdesktop.swingx.JXTaskPaneContainer();
franta-hg@0
   357
        jXTaskPane1 = new org.jdesktop.swingx.JXTaskPane();
franta-hg@0
   358
        lnText = new org.jdesktop.swingx.JXHyperlink();
franta-hg@0
   359
        lnPrijemci = new org.jdesktop.swingx.JXHyperlink();
franta-hg@0
   360
        lnOdeslat = new org.jdesktop.swingx.JXHyperlink();
franta-hg@0
   361
        jXTaskPane2 = new org.jdesktop.swingx.JXTaskPane();
franta-hg@0
   362
        lnServer = new org.jdesktop.swingx.JXHyperlink();
franta-hg@0
   363
        lnDatabaze = new org.jdesktop.swingx.JXHyperlink();
franta-hg@0
   364
        lnVychoziPrijemci = new org.jdesktop.swingx.JXHyperlink();
franta-hg@0
   365
        panel = new org.jdesktop.swingx.JXPanel();
franta-hg@0
   366
franta-hg@0
   367
        jLabel9.setText("Databáze");
franta-hg@0
   368
franta-hg@0
   369
        jLabel10.setText("Jméno");
franta-hg@0
   370
franta-hg@0
   371
        jLabel11.setText("Heslo");
franta-hg@0
   372
franta-hg@0
   373
        vyzkousetPripojeniTlacitko.setIcon(new javax.swing.ImageIcon(getClass().getResource("/cz/frantovo/superPostak/obrazky/fork.png"))); // NOI18N
franta-hg@0
   374
        vyzkousetPripojeniTlacitko.setMnemonic('y');
franta-hg@0
   375
        vyzkousetPripojeniTlacitko.setText("Vyzkoušet spojení");
franta-hg@0
   376
        vyzkousetPripojeniTlacitko.addActionListener(new java.awt.event.ActionListener() {
franta-hg@0
   377
            public void actionPerformed(java.awt.event.ActionEvent evt) {
franta-hg@0
   378
                vyzkousetPripojeniTlacitkoActionPerformed(evt);
franta-hg@0
   379
            }
franta-hg@0
   380
        });
franta-hg@0
   381
franta-hg@0
   382
        vystupDBzprava.setText(" ");
franta-hg@0
   383
franta-hg@0
   384
        javax.swing.GroupLayout panelDatabazeLayout = new javax.swing.GroupLayout(panelDatabaze);
franta-hg@0
   385
        panelDatabaze.setLayout(panelDatabazeLayout);
franta-hg@0
   386
        panelDatabazeLayout.setHorizontalGroup(
franta-hg@0
   387
            panelDatabazeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
franta-hg@0
   388
            .addGroup(panelDatabazeLayout.createSequentialGroup()
franta-hg@0
   389
                .addContainerGap()
franta-hg@0
   390
                .addGroup(panelDatabazeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
franta-hg@0
   391
                    .addGroup(panelDatabazeLayout.createSequentialGroup()
franta-hg@0
   392
                        .addGroup(panelDatabazeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
franta-hg@0
   393
                            .addComponent(jLabel9)
franta-hg@0
   394
                            .addComponent(jLabel10)
franta-hg@0
   395
                            .addComponent(jLabel11))
franta-hg@0
   396
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
franta-hg@0
   397
                        .addGroup(panelDatabazeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
franta-hg@0
   398
                            .addComponent(vstupDatabaze, javax.swing.GroupLayout.DEFAULT_SIZE, 257, Short.MAX_VALUE)
franta-hg@0
   399
                            .addComponent(vstupDBjmeno, javax.swing.GroupLayout.DEFAULT_SIZE, 257, Short.MAX_VALUE)
franta-hg@0
   400
                            .addGroup(panelDatabazeLayout.createSequentialGroup()
franta-hg@0
   401
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
franta-hg@0
   402
                                .addComponent(vstupDBheslo, javax.swing.GroupLayout.DEFAULT_SIZE, 257, Short.MAX_VALUE))))
franta-hg@0
   403
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, panelDatabazeLayout.createSequentialGroup()
franta-hg@0
   404
                        .addComponent(vystupDBzprava, javax.swing.GroupLayout.DEFAULT_SIZE, 155, Short.MAX_VALUE)
franta-hg@0
   405
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
franta-hg@0
   406
                        .addComponent(vyzkousetPripojeniTlacitko)))
franta-hg@0
   407
                .addContainerGap())
franta-hg@0
   408
        );
franta-hg@0
   409
        panelDatabazeLayout.setVerticalGroup(
franta-hg@0
   410
            panelDatabazeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
franta-hg@0
   411
            .addGroup(panelDatabazeLayout.createSequentialGroup()
franta-hg@0
   412
                .addContainerGap()
franta-hg@0
   413
                .addGroup(panelDatabazeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
franta-hg@0
   414
                    .addComponent(jLabel9)
franta-hg@0
   415
                    .addComponent(vstupDatabaze, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
franta-hg@0
   416
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
franta-hg@0
   417
                .addGroup(panelDatabazeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
franta-hg@0
   418
                    .addComponent(jLabel10)
franta-hg@0
   419
                    .addComponent(vstupDBjmeno, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
franta-hg@0
   420
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
franta-hg@0
   421
                .addGroup(panelDatabazeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
franta-hg@0
   422
                    .addComponent(jLabel11)
franta-hg@0
   423
                    .addComponent(vstupDBheslo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
franta-hg@0
   424
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
franta-hg@0
   425
                .addGroup(panelDatabazeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
franta-hg@0
   426
                    .addComponent(vyzkousetPripojeniTlacitko)
franta-hg@0
   427
                    .addComponent(vystupDBzprava))
franta-hg@0
   428
                .addContainerGap(183, Short.MAX_VALUE))
franta-hg@0
   429
        );
franta-hg@0
   430
franta-hg@0
   431
        rozeslatZkusebniTlacitko.setIcon(new javax.swing.ImageIcon(getClass().getResource("/cz/frantovo/superPostak/obrazky/apply.png"))); // NOI18N
franta-hg@0
   432
        rozeslatZkusebniTlacitko.setMnemonic('u');
franta-hg@0
   433
        rozeslatZkusebniTlacitko.setText("Rozeslat zkušební");
franta-hg@0
   434
        rozeslatZkusebniTlacitko.addActionListener(new java.awt.event.ActionListener() {
franta-hg@0
   435
            public void actionPerformed(java.awt.event.ActionEvent evt) {
franta-hg@0
   436
                rozeslatZkusebniTlacitkoActionPerformed(evt);
franta-hg@0
   437
            }
franta-hg@0
   438
        });
franta-hg@0
   439
franta-hg@0
   440
        rozeslatHromadnouZpravuTlacitko.setIcon(new javax.swing.ImageIcon(getClass().getResource("/cz/frantovo/superPostak/obrazky/adept_commit.png"))); // NOI18N
franta-hg@0
   441
        rozeslatHromadnouZpravuTlacitko.setMnemonic('h');
franta-hg@0
   442
        rozeslatHromadnouZpravuTlacitko.setText("Rozeslat hromadnou zprávu");
franta-hg@0
   443
        rozeslatHromadnouZpravuTlacitko.addActionListener(new java.awt.event.ActionListener() {
franta-hg@0
   444
            public void actionPerformed(java.awt.event.ActionEvent evt) {
franta-hg@0
   445
                rozeslatHromadnouZpravuTlacitkoActionPerformed(evt);
franta-hg@0
   446
            }
franta-hg@0
   447
        });
franta-hg@0
   448
franta-hg@0
   449
        zobrazitVsechnyPrijemceTlacitko.setIcon(new javax.swing.ImageIcon(getClass().getResource("/cz/frantovo/superPostak/obrazky/zobrazit_adresy.png"))); // NOI18N
franta-hg@0
   450
        zobrazitVsechnyPrijemceTlacitko.setToolTipText("<html>\nZobrazí seznam všech příjemcům, kterým bude odeslána zpráva.<br/>\n(Při velkých počtech záznamů může být tato operace náročná.)\n</html>");
franta-hg@0
   451
        zobrazitVsechnyPrijemceTlacitko.addActionListener(new java.awt.event.ActionListener() {
franta-hg@0
   452
            public void actionPerformed(java.awt.event.ActionEvent evt) {
franta-hg@0
   453
                zobrazitVsechnyPrijemceTlacitkoActionPerformed(evt);
franta-hg@0
   454
            }
franta-hg@0
   455
        });
franta-hg@0
   456
franta-hg@0
   457
        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
franta-hg@0
   458
        jPanel1.setLayout(jPanel1Layout);
franta-hg@0
   459
        jPanel1Layout.setHorizontalGroup(
franta-hg@0
   460
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
franta-hg@0
   461
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
franta-hg@0
   462
                .addContainerGap(106, Short.MAX_VALUE)
franta-hg@0
   463
                .addComponent(rozeslatZkusebniTlacitko)
franta-hg@0
   464
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
franta-hg@0
   465
                .addComponent(rozeslatHromadnouZpravuTlacitko)
franta-hg@0
   466
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
franta-hg@0
   467
                .addComponent(zobrazitVsechnyPrijemceTlacitko)
franta-hg@0
   468
                .addContainerGap())
franta-hg@0
   469
        );
franta-hg@0
   470
        jPanel1Layout.setVerticalGroup(
franta-hg@0
   471
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
franta-hg@0
   472
            .addGroup(jPanel1Layout.createSequentialGroup()
franta-hg@0
   473
                .addContainerGap()
franta-hg@0
   474
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
franta-hg@0
   475
                    .addComponent(rozeslatHromadnouZpravuTlacitko)
franta-hg@0
   476
                    .addComponent(zobrazitVsechnyPrijemceTlacitko)
franta-hg@0
   477
                    .addComponent(rozeslatZkusebniTlacitko))
franta-hg@0
   478
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
franta-hg@0
   479
        );
franta-hg@0
   480
franta-hg@0
   481
        jLabel14.setText("Zkušební příjemci");
franta-hg@0
   482
franta-hg@0
   483
        javax.swing.GroupLayout panelOdeslatLayout = new javax.swing.GroupLayout(panelOdeslat);
franta-hg@0
   484
        panelOdeslat.setLayout(panelOdeslatLayout);
franta-hg@0
   485
        panelOdeslatLayout.setHorizontalGroup(
franta-hg@0
   486
            panelOdeslatLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
franta-hg@0
   487
            .addGroup(panelOdeslatLayout.createSequentialGroup()
franta-hg@0
   488
                .addContainerGap()
franta-hg@0
   489
                .addGroup(panelOdeslatLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
franta-hg@0
   490
                    .addComponent(prijemciZkusebni, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 535, Short.MAX_VALUE)
franta-hg@0
   491
                    .addComponent(jSeparator2, javax.swing.GroupLayout.DEFAULT_SIZE, 535, Short.MAX_VALUE)
franta-hg@0
   492
                    .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
franta-hg@0
   493
                    .addComponent(jLabel14))
franta-hg@0
   494
                .addContainerGap())
franta-hg@0
   495
        );
franta-hg@0
   496
        panelOdeslatLayout.setVerticalGroup(
franta-hg@0
   497
            panelOdeslatLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
franta-hg@0
   498
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, panelOdeslatLayout.createSequentialGroup()
franta-hg@0
   499
                .addContainerGap()
franta-hg@0
   500
                .addComponent(jLabel14)
franta-hg@0
   501
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
franta-hg@0
   502
                .addComponent(prijemciZkusebni, javax.swing.GroupLayout.DEFAULT_SIZE, 153, Short.MAX_VALUE)
franta-hg@0
   503
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
franta-hg@0
   504
                .addComponent(jSeparator2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
franta-hg@0
   505
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
franta-hg@0
   506
                .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
franta-hg@0
   507
                .addContainerGap())
franta-hg@0
   508
        );
franta-hg@0
   509
franta-hg@0
   510
        jLabel13.setText("SQL dotaz");
franta-hg@0
   511
franta-hg@0
   512
        vstupSQL.setColumns(20);
franta-hg@0
   513
        vstupSQL.setRows(5);
franta-hg@0
   514
        jScrollPane3.setViewportView(vstupSQL);
franta-hg@0
   515
franta-hg@0
   516
        vyzkousetSQLTlacitko.setIcon(new javax.swing.ImageIcon(getClass().getResource("/cz/frantovo/superPostak/obrazky/fork.png"))); // NOI18N
franta-hg@0
   517
        vyzkousetSQLTlacitko.setMnemonic('y');
franta-hg@0
   518
        vyzkousetSQLTlacitko.setText("Vyzkoušet");
franta-hg@0
   519
        vyzkousetSQLTlacitko.addActionListener(new java.awt.event.ActionListener() {
franta-hg@0
   520
            public void actionPerformed(java.awt.event.ActionEvent evt) {
franta-hg@0
   521
                vyzkousetSQLTlacitkoActionPerformed(evt);
franta-hg@0
   522
            }
franta-hg@0
   523
        });
franta-hg@0
   524
franta-hg@0
   525
        vystupSQLZprava.setText(" ");
franta-hg@0
   526
franta-hg@0
   527
        prijemciDodatecni.setToolTipText("Zde můžete dopnit další přijemce.");
franta-hg@0
   528
franta-hg@0
   529
        jLabel16.setText("Dodateční příjemci:");
franta-hg@0
   530
franta-hg@0
   531
        zobrazitSQLPrijemceTlacitko.setIcon(new javax.swing.ImageIcon(getClass().getResource("/cz/frantovo/superPostak/obrazky/zobrazit_adresy.png"))); // NOI18N
franta-hg@0
   532
        zobrazitSQLPrijemceTlacitko.setToolTipText("<html>\nZobrazí seznam adres načtených z databáze.<br/>\n(Při velkých počtech záznamů může být tato operace náročná.)\n</html>");
franta-hg@0
   533
        zobrazitSQLPrijemceTlacitko.addActionListener(new java.awt.event.ActionListener() {
franta-hg@0
   534
            public void actionPerformed(java.awt.event.ActionEvent evt) {
franta-hg@0
   535
                zobrazitSQLPrijemceTlacitkoActionPerformed(evt);
franta-hg@0
   536
            }
franta-hg@0
   537
        });
franta-hg@0
   538
franta-hg@0
   539
        javax.swing.GroupLayout panelPrijemciLayout = new javax.swing.GroupLayout(panelPrijemci);
franta-hg@0
   540
        panelPrijemci.setLayout(panelPrijemciLayout);
franta-hg@0
   541
        panelPrijemciLayout.setHorizontalGroup(
franta-hg@0
   542
            panelPrijemciLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
franta-hg@0
   543
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, panelPrijemciLayout.createSequentialGroup()
franta-hg@0
   544
                .addContainerGap()
franta-hg@0
   545
                .addGroup(panelPrijemciLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
franta-hg@0
   546
                    .addComponent(prijemciDodatecni, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 344, Short.MAX_VALUE)
franta-hg@0
   547
                    .addComponent(jSeparator1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 344, Short.MAX_VALUE)
franta-hg@0
   548
                    .addComponent(jScrollPane3, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 344, Short.MAX_VALUE)
franta-hg@0
   549
                    .addComponent(jLabel13, javax.swing.GroupLayout.Alignment.LEADING)
franta-hg@0
   550
                    .addGroup(panelPrijemciLayout.createSequentialGroup()
franta-hg@0
   551
                        .addComponent(vystupSQLZprava, javax.swing.GroupLayout.DEFAULT_SIZE, 52, Short.MAX_VALUE)
franta-hg@0
   552
                        .addGap(127, 127, 127)
franta-hg@0
   553
                        .addComponent(vyzkousetSQLTlacitko)
franta-hg@0
   554
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
franta-hg@0
   555
                        .addComponent(zobrazitSQLPrijemceTlacitko))
franta-hg@0
   556
                    .addComponent(jLabel16, javax.swing.GroupLayout.Alignment.LEADING))
franta-hg@0
   557
                .addContainerGap())
franta-hg@0
   558
        );
franta-hg@0
   559
        panelPrijemciLayout.setVerticalGroup(
franta-hg@0
   560
            panelPrijemciLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
franta-hg@0
   561
            .addGroup(panelPrijemciLayout.createSequentialGroup()
franta-hg@0
   562
                .addContainerGap()
franta-hg@0
   563
                .addComponent(jLabel13)
franta-hg@0
   564
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
franta-hg@0
   565
                .addComponent(jScrollPane3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
franta-hg@0
   566
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
franta-hg@0
   567
                .addGroup(panelPrijemciLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
franta-hg@0
   568
                    .addComponent(vystupSQLZprava, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE)
franta-hg@0
   569
                    .addComponent(zobrazitSQLPrijemceTlacitko)
franta-hg@0
   570
                    .addComponent(vyzkousetSQLTlacitko))
franta-hg@0
   571
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
franta-hg@0
   572
                .addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE)
franta-hg@0
   573
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
franta-hg@0
   574
                .addComponent(jLabel16)
franta-hg@0
   575
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
franta-hg@0
   576
                .addComponent(prijemciDodatecni, javax.swing.GroupLayout.DEFAULT_SIZE, 200, Short.MAX_VALUE)
franta-hg@0
   577
                .addContainerGap())
franta-hg@0
   578
        );
franta-hg@0
   579
franta-hg@0
   580
        jLabel4.setText("SMTP server");
franta-hg@0
   581
franta-hg@0
   582
        jLabel5.setText("Port");
franta-hg@0
   583
franta-hg@0
   584
        vstupSMTPserver.setText("localhost");
franta-hg@0
   585
franta-hg@0
   586
        vstupSMTPport.setValue(25);
franta-hg@0
   587
franta-hg@0
   588
        napovedaSMTP.setColumns(20);
franta-hg@0
   589
        napovedaSMTP.setEditable(false);
franta-hg@0
   590
        napovedaSMTP.setLineWrap(true);
franta-hg@0
   591
        napovedaSMTP.setRows(5);
franta-hg@0
   592
        napovedaSMTP.setText("Tip: některé SMTP servery mají omezený seznam počítačů, ze kterých přijímají poštu");
franta-hg@0
   593
        napovedaSMTP.setWrapStyleWord(true);
franta-hg@0
   594
        napovedaSMTPscroll.setViewportView(napovedaSMTP);
franta-hg@0
   595
franta-hg@0
   596
        jLabel6.setText("Jméno");
franta-hg@0
   597
franta-hg@0
   598
        jLabel7.setText("Heslo");
franta-hg@0
   599
franta-hg@0
   600
        vstupSMTPlimitPrijemcu.setValue(1000);
franta-hg@0
   601
franta-hg@0
   602
        jLabel8.setText("Limit příjemců");
franta-hg@0
   603
franta-hg@0
   604
        javax.swing.GroupLayout panelServerLayout = new javax.swing.GroupLayout(panelServer);
franta-hg@0
   605
        panelServer.setLayout(panelServerLayout);
franta-hg@0
   606
        panelServerLayout.setHorizontalGroup(
franta-hg@0
   607
            panelServerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
franta-hg@0
   608
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, panelServerLayout.createSequentialGroup()
franta-hg@0
   609
                .addContainerGap()
franta-hg@0
   610
                .addGroup(panelServerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
franta-hg@0
   611
                    .addComponent(napovedaSMTPscroll, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 318, Short.MAX_VALUE)
franta-hg@0
   612
                    .addGroup(panelServerLayout.createSequentialGroup()
franta-hg@0
   613
                        .addGroup(panelServerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
franta-hg@0
   614
                            .addComponent(jLabel4)
franta-hg@0
   615
                            .addComponent(jLabel6)
franta-hg@0
   616
                            .addComponent(jLabel5)
franta-hg@0
   617
                            .addComponent(jLabel7)
franta-hg@0
   618
                            .addComponent(jLabel8))
franta-hg@0
   619
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
franta-hg@0
   620
                        .addGroup(panelServerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
franta-hg@0
   621
                            .addComponent(vstupSMTPserver, javax.swing.GroupLayout.DEFAULT_SIZE, 230, Short.MAX_VALUE)
franta-hg@0
   622
                            .addComponent(vstupSMTPport, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 230, Short.MAX_VALUE)
franta-hg@0
   623
                            .addComponent(vstupSMTPjmeno, javax.swing.GroupLayout.DEFAULT_SIZE, 230, Short.MAX_VALUE)
franta-hg@0
   624
                            .addComponent(vstupSMTPheslo, javax.swing.GroupLayout.DEFAULT_SIZE, 230, Short.MAX_VALUE)
franta-hg@0
   625
                            .addComponent(vstupSMTPlimitPrijemcu, javax.swing.GroupLayout.DEFAULT_SIZE, 230, Short.MAX_VALUE))))
franta-hg@0
   626
                .addContainerGap())
franta-hg@0
   627
        );
franta-hg@0
   628
        panelServerLayout.setVerticalGroup(
franta-hg@0
   629
            panelServerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
franta-hg@0
   630
            .addGroup(panelServerLayout.createSequentialGroup()
franta-hg@0
   631
                .addContainerGap()
franta-hg@0
   632
                .addGroup(panelServerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
franta-hg@0
   633
                    .addComponent(jLabel4)
franta-hg@0
   634
                    .addComponent(vstupSMTPserver, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
franta-hg@0
   635
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
franta-hg@0
   636
                .addGroup(panelServerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
franta-hg@0
   637
                    .addComponent(vstupSMTPport, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
franta-hg@0
   638
                    .addComponent(jLabel5))
franta-hg@0
   639
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
franta-hg@0
   640
                .addGroup(panelServerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
franta-hg@0
   641
                    .addComponent(jLabel6)
franta-hg@0
   642
                    .addComponent(vstupSMTPjmeno, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
franta-hg@0
   643
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
franta-hg@0
   644
                .addGroup(panelServerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
franta-hg@0
   645
                    .addComponent(vstupSMTPheslo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
franta-hg@0
   646
                    .addComponent(jLabel7))
franta-hg@0
   647
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
franta-hg@0
   648
                .addGroup(panelServerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
franta-hg@0
   649
                    .addComponent(vstupSMTPlimitPrijemcu, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
franta-hg@0
   650
                    .addComponent(jLabel8))
franta-hg@0
   651
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
franta-hg@0
   652
                .addComponent(napovedaSMTPscroll, javax.swing.GroupLayout.DEFAULT_SIZE, 145, Short.MAX_VALUE)
franta-hg@0
   653
                .addContainerGap())
franta-hg@0
   654
        );
franta-hg@0
   655
franta-hg@0
   656
        jLabel12.setText("Těmto lidem přijde hromadný e-mail vždy (netýká se zkušebního rozeslání zprávy).");
franta-hg@0
   657
franta-hg@0
   658
        javax.swing.GroupLayout panelVychoziPrijemciLayout = new javax.swing.GroupLayout(panelVychoziPrijemci);
franta-hg@0
   659
        panelVychoziPrijemci.setLayout(panelVychoziPrijemciLayout);
franta-hg@0
   660
        panelVychoziPrijemciLayout.setHorizontalGroup(
franta-hg@0
   661
            panelVychoziPrijemciLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
franta-hg@0
   662
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, panelVychoziPrijemciLayout.createSequentialGroup()
franta-hg@0
   663
                .addContainerGap()
franta-hg@0
   664
                .addGroup(panelVychoziPrijemciLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
franta-hg@0
   665
                    .addComponent(prijemciVychozi, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 514, Short.MAX_VALUE)
franta-hg@0
   666
                    .addComponent(jLabel12, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 514, Short.MAX_VALUE))
franta-hg@0
   667
                .addContainerGap())
franta-hg@0
   668
        );
franta-hg@0
   669
        panelVychoziPrijemciLayout.setVerticalGroup(
franta-hg@0
   670
            panelVychoziPrijemciLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
franta-hg@0
   671
            .addGroup(panelVychoziPrijemciLayout.createSequentialGroup()
franta-hg@0
   672
                .addContainerGap()
franta-hg@0
   673
                .addComponent(jLabel12)
franta-hg@0
   674
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
franta-hg@0
   675
                .addComponent(prijemciVychozi, javax.swing.GroupLayout.DEFAULT_SIZE, 261, Short.MAX_VALUE)
franta-hg@0
   676
                .addContainerGap())
franta-hg@0
   677
        );
franta-hg@0
   678
franta-hg@0
   679
        jLabel1.setLabelFor(vstupPredmet);
franta-hg@0
   680
        jLabel1.setText("Předmět");
franta-hg@0
   681
franta-hg@0
   682
        vstupPredmet.addActionListener(new java.awt.event.ActionListener() {
franta-hg@0
   683
            public void actionPerformed(java.awt.event.ActionEvent evt) {
franta-hg@0
   684
                vstupPredmetActionPerformed(evt);
franta-hg@0
   685
            }
franta-hg@0
   686
        });
franta-hg@0
   687
franta-hg@0
   688
        jLabel2.setText("Jméno odesílatele");
franta-hg@0
   689
franta-hg@0
   690
        vstupZprava.setColumns(20);
franta-hg@0
   691
        vstupZprava.setRows(5);
franta-hg@0
   692
        jScrollPane1.setViewportView(vstupZprava);
franta-hg@0
   693
franta-hg@0
   694
        jLabel15.setText("Formát zprávy");
franta-hg@0
   695
franta-hg@0
   696
        vstupFormatHTML.setMnemonic('h');
franta-hg@0
   697
        vstupFormatHTML.setText("HTML");
franta-hg@0
   698
        vstupFormatHTML.setToolTipText("Při nezaškrtnutí se odešle jako prostý text");
franta-hg@0
   699
franta-hg@0
   700
        odpovedetKomuOdkaz.setForeground(javax.swing.UIManager.getDefaults().getColor("windowText"));
franta-hg@0
   701
        odpovedetKomuOdkaz.setMnemonic('e');
franta-hg@0
   702
        odpovedetKomuOdkaz.setText("Adresa odesílatele");
franta-hg@0
   703
        odpovedetKomuOdkaz.setToolTipText("<html><p>Klikněte sem pro nastavení adresy,</p><p>na kterou mají chodit odpovědi</p></html>");
franta-hg@0
   704
        odpovedetKomuOdkaz.setClickedColor(javax.swing.UIManager.getDefaults().getColor("windowText"));
franta-hg@0
   705
        odpovedetKomuOdkaz.setUnclickedColor(javax.swing.UIManager.getDefaults().getColor("windowText"));
franta-hg@0
   706
        odpovedetKomuOdkaz.addActionListener(new java.awt.event.ActionListener() {
franta-hg@0
   707
            public void actionPerformed(java.awt.event.ActionEvent evt) {
franta-hg@0
   708
                odpovedetKomuOdkazActionPerformed(evt);
franta-hg@0
   709
            }
franta-hg@0
   710
        });
franta-hg@0
   711
franta-hg@0
   712
        javax.swing.GroupLayout panelZpravaLayout = new javax.swing.GroupLayout(panelZprava);
franta-hg@0
   713
        panelZprava.setLayout(panelZpravaLayout);
franta-hg@0
   714
        panelZpravaLayout.setHorizontalGroup(
franta-hg@0
   715
            panelZpravaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
franta-hg@0
   716
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, panelZpravaLayout.createSequentialGroup()
franta-hg@0
   717
                .addContainerGap()
franta-hg@0
   718
                .addGroup(panelZpravaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
franta-hg@0
   719
                    .addComponent(jScrollPane1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 438, Short.MAX_VALUE)
franta-hg@0
   720
                    .addGroup(panelZpravaLayout.createSequentialGroup()
franta-hg@0
   721
                        .addGroup(panelZpravaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
franta-hg@0
   722
                            .addGroup(panelZpravaLayout.createSequentialGroup()
franta-hg@0
   723
                                .addGroup(panelZpravaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
franta-hg@0
   724
                                    .addComponent(jLabel2)
franta-hg@0
   725
                                    .addComponent(jLabel1))
franta-hg@0
   726
                                .addGap(17, 17, 17))
franta-hg@0
   727
                            .addGroup(panelZpravaLayout.createSequentialGroup()
franta-hg@0
   728
                                .addComponent(odpovedetKomuOdkaz, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
franta-hg@0
   729
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)))
franta-hg@0
   730
                        .addGroup(panelZpravaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
franta-hg@0
   731
                            .addComponent(vstupJmenoOdesilatele, javax.swing.GroupLayout.DEFAULT_SIZE, 328, Short.MAX_VALUE)
franta-hg@0
   732
                            .addComponent(vstupAdresaOdesilatele, javax.swing.GroupLayout.DEFAULT_SIZE, 328, Short.MAX_VALUE)
franta-hg@0
   733
                            .addComponent(vstupPredmet, javax.swing.GroupLayout.DEFAULT_SIZE, 328, Short.MAX_VALUE)))
franta-hg@0
   734
                    .addGroup(javax.swing.GroupLayout.Alignment.LEADING, panelZpravaLayout.createSequentialGroup()
franta-hg@0
   735
                        .addComponent(jLabel15)
franta-hg@0
   736
                        .addGap(33, 33, 33)
franta-hg@0
   737
                        .addComponent(vstupFormatHTML, javax.swing.GroupLayout.DEFAULT_SIZE, 81, Short.MAX_VALUE)
franta-hg@0
   738
                        .addGap(247, 247, 247)))
franta-hg@0
   739
                .addContainerGap())
franta-hg@0
   740
        );
franta-hg@0
   741
        panelZpravaLayout.setVerticalGroup(
franta-hg@0
   742
            panelZpravaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
franta-hg@0
   743
            .addGroup(panelZpravaLayout.createSequentialGroup()
franta-hg@0
   744
                .addContainerGap()
franta-hg@0
   745
                .addGroup(panelZpravaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
franta-hg@0
   746
                    .addComponent(jLabel1)
franta-hg@0
   747
                    .addComponent(vstupPredmet, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
franta-hg@0
   748
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
franta-hg@0
   749
                .addGroup(panelZpravaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
franta-hg@0
   750
                    .addComponent(jLabel2)
franta-hg@0
   751
                    .addComponent(vstupJmenoOdesilatele, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
franta-hg@0
   752
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
franta-hg@0
   753
                .addGroup(panelZpravaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
franta-hg@0
   754
                    .addComponent(vstupAdresaOdesilatele, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
franta-hg@0
   755
                    .addComponent(odpovedetKomuOdkaz, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
franta-hg@0
   756
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
franta-hg@0
   757
                .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 184, Short.MAX_VALUE)
franta-hg@0
   758
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
franta-hg@0
   759
                .addGroup(panelZpravaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
franta-hg@0
   760
                    .addComponent(jLabel15)
franta-hg@0
   761
                    .addComponent(vstupFormatHTML))
franta-hg@0
   762
                .addContainerGap())
franta-hg@0
   763
        );
franta-hg@0
   764
franta-hg@0
   765
        odpovedetKomuDialog.setTitle("Adresa pro odpovědi");
franta-hg@0
   766
        odpovedetKomuDialog.setModal(true);
franta-hg@0
   767
franta-hg@0
   768
        jLabel18.setText("Jméno");
franta-hg@0
   769
franta-hg@0
   770
        jLabel19.setText("Adresa");
franta-hg@0
   771
franta-hg@0
   772
        jLabel17.setText("<html>\n<p>Pokud bude příjemce na hromadnou zprávu odpovídat,</p>\n<p>odpověď přijde na tuto adresu.</p>\n<p>Pokud tyto údaje nevyplníte, nebo zadáte chybný e-mail,</p>\n<p>budou odpovědi chodit odesílateli.</p>\n</html>");
franta-hg@0
   773
franta-hg@0
   774
        odpovedetKomuHotovo.setText("Hotovo");
franta-hg@0
   775
        odpovedetKomuHotovo.addActionListener(new java.awt.event.ActionListener() {
franta-hg@0
   776
            public void actionPerformed(java.awt.event.ActionEvent evt) {
franta-hg@0
   777
                odpovedetKomuHotovoActionPerformed(evt);
franta-hg@0
   778
            }
franta-hg@0
   779
        });
franta-hg@0
   780
franta-hg@0
   781
        javax.swing.GroupLayout odpovedetKomuDialogLayout = new javax.swing.GroupLayout(odpovedetKomuDialog.getContentPane());
franta-hg@0
   782
        odpovedetKomuDialog.getContentPane().setLayout(odpovedetKomuDialogLayout);
franta-hg@0
   783
        odpovedetKomuDialogLayout.setHorizontalGroup(
franta-hg@0
   784
            odpovedetKomuDialogLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
franta-hg@0
   785
            .addGroup(odpovedetKomuDialogLayout.createSequentialGroup()
franta-hg@0
   786
                .addContainerGap()
franta-hg@0
   787
                .addGroup(odpovedetKomuDialogLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
franta-hg@0
   788
                    .addGroup(odpovedetKomuDialogLayout.createSequentialGroup()
franta-hg@0
   789
                        .addGroup(odpovedetKomuDialogLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
franta-hg@0
   790
                            .addComponent(jLabel19)
franta-hg@0
   791
                            .addComponent(jLabel18))
franta-hg@0
   792
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
franta-hg@0
   793
                        .addGroup(odpovedetKomuDialogLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
franta-hg@0
   794
                            .addComponent(odpovedetKomuAdresa, javax.swing.GroupLayout.DEFAULT_SIZE, 332, Short.MAX_VALUE)
franta-hg@0
   795
                            .addComponent(odpovedetKomuJmeno, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 332, Short.MAX_VALUE)))
franta-hg@0
   796
                    .addComponent(jLabel17, javax.swing.GroupLayout.DEFAULT_SIZE, 382, Short.MAX_VALUE)
franta-hg@0
   797
                    .addComponent(odpovedetKomuHotovo, javax.swing.GroupLayout.Alignment.TRAILING))
franta-hg@0
   798
                .addContainerGap())
franta-hg@0
   799
        );
franta-hg@0
   800
        odpovedetKomuDialogLayout.setVerticalGroup(
franta-hg@0
   801
            odpovedetKomuDialogLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
franta-hg@0
   802
            .addGroup(odpovedetKomuDialogLayout.createSequentialGroup()
franta-hg@0
   803
                .addContainerGap()
franta-hg@0
   804
                .addGroup(odpovedetKomuDialogLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
franta-hg@0
   805
                    .addComponent(jLabel18)
franta-hg@0
   806
                    .addComponent(odpovedetKomuJmeno, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
franta-hg@0
   807
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
franta-hg@0
   808
                .addGroup(odpovedetKomuDialogLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
franta-hg@0
   809
                    .addComponent(jLabel19)
franta-hg@0
   810
                    .addComponent(odpovedetKomuAdresa, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
franta-hg@0
   811
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
franta-hg@0
   812
                .addComponent(jLabel17)
franta-hg@0
   813
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
franta-hg@0
   814
                .addComponent(odpovedetKomuHotovo)
franta-hg@0
   815
                .addContainerGap())
franta-hg@0
   816
        );
franta-hg@0
   817
franta-hg@0
   818
        setTitle("SuperPošťák");
franta-hg@0
   819
        addWindowListener(new java.awt.event.WindowAdapter() {
franta-hg@0
   820
            public void windowClosing(java.awt.event.WindowEvent evt) {
franta-hg@0
   821
                formWindowClosing(evt);
franta-hg@0
   822
            }
franta-hg@0
   823
        });
franta-hg@0
   824
franta-hg@0
   825
        jXHeader1.setDescription("Program pro posílání hromadných zpráv elektronickou poštou.\nNezneužívejte pro rozesílání spamu.");
franta-hg@0
   826
        jXHeader1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/cz/frantovo/superPostak/obrazky/xfmail.png"))); // NOI18N
franta-hg@0
   827
        jXHeader1.setTitle("SuperPošťák");
franta-hg@0
   828
franta-hg@0
   829
        taskPanel.setBackground(javax.swing.UIManager.getDefaults().getColor("Button.background"));
franta-hg@0
   830
franta-hg@0
   831
        jXTaskPane1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/cz/frantovo/superPostak/obrazky/mail_generic.png"))); // NOI18N
franta-hg@0
   832
        jXTaskPane1.setTitle("Hromadná zpráva");
franta-hg@0
   833
franta-hg@0
   834
        lnText.setMnemonic('z');
franta-hg@0
   835
        lnText.setText("Text zprávy");
franta-hg@0
   836
        lnText.setActionCommand("Zpráva");
franta-hg@0
   837
        lnText.addActionListener(new java.awt.event.ActionListener() {
franta-hg@0
   838
            public void actionPerformed(java.awt.event.ActionEvent evt) {
franta-hg@0
   839
                lnTextActionPerformed(evt);
franta-hg@0
   840
            }
franta-hg@0
   841
        });
franta-hg@0
   842
        jXTaskPane1.getContentPane().add(lnText);
franta-hg@0
   843
franta-hg@0
   844
        lnPrijemci.setMnemonic('p');
franta-hg@0
   845
        lnPrijemci.setText("Příjemci");
franta-hg@0
   846
        lnPrijemci.addActionListener(new java.awt.event.ActionListener() {
franta-hg@0
   847
            public void actionPerformed(java.awt.event.ActionEvent evt) {
franta-hg@0
   848
                lnPrijemciActionPerformed(evt);
franta-hg@0
   849
            }
franta-hg@0
   850
        });
franta-hg@0
   851
        jXTaskPane1.getContentPane().add(lnPrijemci);
franta-hg@0
   852
franta-hg@0
   853
        lnOdeslat.setMnemonic('o');
franta-hg@0
   854
        lnOdeslat.setText("Odeslat");
franta-hg@0
   855
        lnOdeslat.addActionListener(new java.awt.event.ActionListener() {
franta-hg@0
   856
            public void actionPerformed(java.awt.event.ActionEvent evt) {
franta-hg@0
   857
                lnOdeslatActionPerformed(evt);
franta-hg@0
   858
            }
franta-hg@0
   859
        });
franta-hg@0
   860
        jXTaskPane1.getContentPane().add(lnOdeslat);
franta-hg@0
   861
franta-hg@0
   862
        taskPanel.add(jXTaskPane1);
franta-hg@0
   863
franta-hg@0
   864
        jXTaskPane2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/cz/frantovo/superPostak/obrazky/gear.png"))); // NOI18N
franta-hg@0
   865
        jXTaskPane2.setTitle("Nastavení");
franta-hg@0
   866
franta-hg@0
   867
        lnServer.setMnemonic('s');
franta-hg@0
   868
        lnServer.setText("Poštovní server");
franta-hg@0
   869
        lnServer.addActionListener(new java.awt.event.ActionListener() {
franta-hg@0
   870
            public void actionPerformed(java.awt.event.ActionEvent evt) {
franta-hg@0
   871
                lnServerActionPerformed(evt);
franta-hg@0
   872
            }
franta-hg@0
   873
        });
franta-hg@0
   874
        jXTaskPane2.getContentPane().add(lnServer);
franta-hg@0
   875
franta-hg@0
   876
        lnDatabaze.setMnemonic('d');
franta-hg@0
   877
        lnDatabaze.setText("Databáze");
franta-hg@0
   878
        lnDatabaze.addActionListener(new java.awt.event.ActionListener() {
franta-hg@0
   879
            public void actionPerformed(java.awt.event.ActionEvent evt) {
franta-hg@0
   880
                lnDatabazeActionPerformed(evt);
franta-hg@0
   881
            }
franta-hg@0
   882
        });
franta-hg@0
   883
        jXTaskPane2.getContentPane().add(lnDatabaze);
franta-hg@0
   884
franta-hg@0
   885
        lnVychoziPrijemci.setMnemonic('v');
franta-hg@0
   886
        lnVychoziPrijemci.setText("Výchozí příjemci");
franta-hg@0
   887
        lnVychoziPrijemci.addActionListener(new java.awt.event.ActionListener() {
franta-hg@0
   888
            public void actionPerformed(java.awt.event.ActionEvent evt) {
franta-hg@0
   889
                lnVychoziPrijemciActionPerformed(evt);
franta-hg@0
   890
            }
franta-hg@0
   891
        });
franta-hg@0
   892
        jXTaskPane2.getContentPane().add(lnVychoziPrijemci);
franta-hg@0
   893
franta-hg@0
   894
        taskPanel.add(jXTaskPane2);
franta-hg@0
   895
franta-hg@0
   896
        panel.setLayout(new java.awt.CardLayout());
franta-hg@0
   897
franta-hg@0
   898
        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
franta-hg@0
   899
        getContentPane().setLayout(layout);
franta-hg@0
   900
        layout.setHorizontalGroup(
franta-hg@0
   901
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
franta-hg@0
   902
            .addGroup(layout.createSequentialGroup()
franta-hg@0
   903
                .addComponent(taskPanel, javax.swing.GroupLayout.PREFERRED_SIZE, 196, javax.swing.GroupLayout.PREFERRED_SIZE)
franta-hg@0
   904
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
franta-hg@0
   905
                .addComponent(panel, javax.swing.GroupLayout.DEFAULT_SIZE, 342, Short.MAX_VALUE))
franta-hg@0
   906
            .addComponent(jXHeader1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 544, Short.MAX_VALUE)
franta-hg@0
   907
        );
franta-hg@0
   908
        layout.setVerticalGroup(
franta-hg@0
   909
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
franta-hg@0
   910
            .addGroup(layout.createSequentialGroup()
franta-hg@0
   911
                .addComponent(jXHeader1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
franta-hg@0
   912
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
franta-hg@0
   913
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
franta-hg@0
   914
                    .addComponent(taskPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 340, Short.MAX_VALUE)
franta-hg@0
   915
                    .addComponent(panel, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 340, Short.MAX_VALUE)))
franta-hg@0
   916
        );
franta-hg@0
   917
franta-hg@0
   918
        pack();
franta-hg@0
   919
    }// </editor-fold>//GEN-END:initComponents
franta-hg@0
   920
    private void vstupPredmetActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_vstupPredmetActionPerformed
franta-hg@0
   921
        
franta-hg@0
   922
}//GEN-LAST:event_vstupPredmetActionPerformed
franta-hg@0
   923
franta-hg@0
   924
    private void lnTextActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_lnTextActionPerformed
franta-hg@0
   925
        setPanel(panelZprava);
franta-hg@0
   926
    }//GEN-LAST:event_lnTextActionPerformed
franta-hg@0
   927
franta-hg@0
   928
    private void lnPrijemciActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_lnPrijemciActionPerformed
franta-hg@0
   929
        setPanel(panelPrijemci);
franta-hg@0
   930
    }//GEN-LAST:event_lnPrijemciActionPerformed
franta-hg@0
   931
franta-hg@0
   932
    private void lnOdeslatActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_lnOdeslatActionPerformed
franta-hg@0
   933
        setPanel(panelOdeslat);
franta-hg@0
   934
    }//GEN-LAST:event_lnOdeslatActionPerformed
franta-hg@0
   935
franta-hg@0
   936
    private void lnServerActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_lnServerActionPerformed
franta-hg@0
   937
        setPanel(panelServer);
franta-hg@0
   938
    }//GEN-LAST:event_lnServerActionPerformed
franta-hg@0
   939
franta-hg@0
   940
    private void lnDatabazeActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_lnDatabazeActionPerformed
franta-hg@0
   941
        setPanel(panelDatabaze);
franta-hg@0
   942
    }//GEN-LAST:event_lnDatabazeActionPerformed
franta-hg@0
   943
franta-hg@0
   944
    private void lnVychoziPrijemciActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_lnVychoziPrijemciActionPerformed
franta-hg@0
   945
        setPanel(panelVychoziPrijemci);
franta-hg@0
   946
    }//GEN-LAST:event_lnVychoziPrijemciActionPerformed
franta-hg@0
   947
franta-hg@0
   948
    private void formWindowClosing(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_formWindowClosing
franta-hg@0
   949
        ulozNastaveni();
franta-hg@0
   950
        log.log(Level.WARNING, "Ukončuji program.");
franta-hg@0
   951
    }//GEN-LAST:event_formWindowClosing
franta-hg@0
   952
franta-hg@0
   953
    /**
franta-hg@0
   954
     * Sestaví zprávu na základě GUI vstupů. Všechno kromě příjemců,
franta-hg@0
   955
     * ti se přidají až dodatečně, podle toho,
franta-hg@0
   956
     * jestli jde o zkušební nebo skutečné rozesílání.
franta-hg@0
   957
     */
franta-hg@0
   958
    private HromadnaZprava getZprava() throws UnsupportedEncodingException {
franta-hg@0
   959
        HromadnaZprava zprava = new HromadnaZprava();
franta-hg@0
   960
        zprava.setOdesilatel(new InternetAddress(vstupAdresaOdesilatele.getText(), vstupJmenoOdesilatele.getText()));
franta-hg@0
   961
        zprava.setPredmet(vstupPredmet.getText());
franta-hg@0
   962
        zprava.setText(vstupZprava.getText());
franta-hg@0
   963
        zprava.setFormatHTML(vstupFormatHTML.isSelected());
franta-hg@0
   964
franta-hg@0
   965
        if (Postak.zkontrolujAdresu(odpovedetKomuAdresa.getText())) {
franta-hg@0
   966
            InternetAddress komu = new InternetAddress();
franta-hg@0
   967
            komu.setPersonal(odpovedetKomuJmeno.getText());
franta-hg@0
   968
            komu.setAddress(odpovedetKomuAdresa.getText());
franta-hg@0
   969
            zprava.setOdpovedetKomu(komu);
franta-hg@0
   970
        }
franta-hg@0
   971
franta-hg@0
   972
        return zprava;
franta-hg@0
   973
    }
franta-hg@0
   974
franta-hg@0
   975
    /** Všichni příjemci, kterým bude odeslána ostrá zpráva. */
franta-hg@0
   976
    private ArrayList<InternetAddressKomu> getPrijemciVsichni() throws SQLException, UnsupportedEncodingException {
franta-hg@0
   977
        ArrayList<InternetAddressKomu> vsichni = new ArrayList<InternetAddressKomu>();
franta-hg@0
   978
        Collection<InternetAddressKomu> adresyVychozi = nastaveni.getVychoziPrijemci();
franta-hg@0
   979
        Collection<InternetAddressKomu> adresySQL = getPrijemciSQL();
franta-hg@0
   980
        Collection<InternetAddressKomu> adresyDodatecne = prijemciDodatecni.getAdresy();
franta-hg@0
   981
franta-hg@0
   982
        if (adresyVychozi != null) {
franta-hg@0
   983
            vsichni.addAll(adresyVychozi);
franta-hg@0
   984
        }
franta-hg@0
   985
        if (adresySQL != null) {
franta-hg@0
   986
            vsichni.addAll(adresySQL);
franta-hg@0
   987
        }
franta-hg@0
   988
        if (adresyDodatecne != null) {
franta-hg@0
   989
            vsichni.addAll(adresyDodatecne);
franta-hg@0
   990
        }
franta-hg@0
   991
        return vsichni;
franta-hg@0
   992
    }
franta-hg@0
   993
franta-hg@0
   994
    private void rozeslatHromadnouZpravuTlacitkoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_rozeslatHromadnouZpravuTlacitkoActionPerformed
franta-hg@0
   995
        try {
franta-hg@0
   996
            ulozNastaveniGUI();
franta-hg@0
   997
            HromadnaZprava zprava = getZprava();
franta-hg@0
   998
            zprava.setPrijemci(getPrijemciVsichni());
franta-hg@0
   999
franta-hg@0
  1000
            int volba = JOptionPane.showOptionDialog(this, "Počet příjemců hromadné zprávy: " + zprava.getPrijemci().size() + "\nPřejete si zprávu odeslat?", "Potvrdit odeslání", JOptionPane.YES_NO_OPTION, JOptionPane.INFORMATION_MESSAGE, null, null, null);
franta-hg@0
  1001
            if (volba == JOptionPane.YES_OPTION) {
franta-hg@0
  1002
                odesli(zprava);
franta-hg@0
  1003
                Postak.vypisPrijemce(zprava.getPrijemci());
franta-hg@0
  1004
                zobrazInformacniDialog("Odesláno", "Zpráva byla odeslána.\nPočet příjemců: " + zprava.getPrijemci().size(), true);
franta-hg@0
  1005
            }
franta-hg@0
  1006
        } catch (Exception e) {
franta-hg@0
  1007
            zobrazChybovyDialog("Zprávu se nepodařilo odeslat", e, Level.SEVERE, true);
franta-hg@0
  1008
        }
franta-hg@0
  1009
}//GEN-LAST:event_rozeslatHromadnouZpravuTlacitkoActionPerformed
franta-hg@0
  1010
franta-hg@0
  1011
    private void rozeslatZkusebniTlacitkoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_rozeslatZkusebniTlacitkoActionPerformed
franta-hg@0
  1012
        try {
franta-hg@0
  1013
            ulozNastaveniGUI();
franta-hg@0
  1014
            HromadnaZprava zprava = getZprava();
franta-hg@0
  1015
            zprava.setPrijemci(prijemciZkusebni.getAdresy());
franta-hg@0
  1016
franta-hg@0
  1017
            odesli(zprava);
franta-hg@0
  1018
franta-hg@0
  1019
            zobrazInformacniDialog("Odesláno", "Zkušební zpráva byla odeslána.\nPočet adresátů: " + zprava.getPrijemci().size(), true);
franta-hg@0
  1020
        } catch (Exception e) {
franta-hg@0
  1021
            zobrazChybovyDialog("Zkušební zprávu se nepodařilo odeslat", e, Level.SEVERE, true);
franta-hg@0
  1022
        }        
franta-hg@0
  1023
    }//GEN-LAST:event_rozeslatZkusebniTlacitkoActionPerformed
franta-hg@0
  1024
franta-hg@0
  1025
    private void vyzkousetPripojeniTlacitkoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_vyzkousetPripojeniTlacitkoActionPerformed
franta-hg@0
  1026
        try {
franta-hg@0
  1027
            getSpojeni();//GEN-LAST:event_vyzkousetPripojeniTlacitkoActionPerformed
franta-hg@0
  1028
            zobrazInformacniDialog("Připojeno k DB", "Připojení k DB proběhlo úspěšně", false);
franta-hg@0
  1029
        } catch (SQLException e) {
franta-hg@0
  1030
            zobrazChybovyDialog("Spojení s DB", "Připojení k databázi selhalo", null, e, Level.SEVERE, true);
franta-hg@0
  1031
        }
franta-hg@0
  1032
    }
franta-hg@0
  1033
franta-hg@0
  1034
    private void vyzkousetSQLTlacitkoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_vyzkousetSQLTlacitkoActionPerformed
franta-hg@0
  1035
        try {
franta-hg@0
  1036
            Collection<InternetAddressKomu> adresy = getPrijemciSQL();//GEN-LAST:event_vyzkousetSQLTlacitkoActionPerformed
franta-hg@0
  1037
            if (adresy == null) {
franta-hg@0
  1038
                zobrazInformacniDialog("SQL dotaz", "Dotaz do databáze neproběhl.\nSQL dotaz je prázdný.", false);
franta-hg@0
  1039
            } else {
franta-hg@0
  1040
                zobrazInformacniDialog("SQL dotaz", "Dotaz do databáze byl úspěšný.\nPočet získaných záznamů: " + adresy.size(), false);
franta-hg@0
  1041
            }
franta-hg@0
  1042
        } catch (Exception e) {
franta-hg@0
  1043
            zobrazChybovyDialog("SQL dotaz", "Provedení SQL příkazu selhalo selhalo", null, e, Level.SEVERE, true);
franta-hg@0
  1044
        }
franta-hg@0
  1045
    }
franta-hg@0
  1046
franta-hg@0
  1047
    private void zobrazitSQLPrijemceTlacitkoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_zobrazitSQLPrijemceTlacitkoActionPerformed
franta-hg@0
  1048
        try {
franta-hg@0
  1049
            Collection<InternetAddressKomu> adresy = getPrijemciSQL();
franta-hg@0
  1050
franta-hg@0
  1051
            ZobrazovacAdres zobrazovac = new ZobrazovacAdres(this, false);
franta-hg@0
  1052
            zobrazovac.setAdresy(adresy);
franta-hg@0
  1053
            zobrazovac.setLocationRelativeTo(this);
franta-hg@0
  1054
            zobrazovac.setVisible(true);
franta-hg@0
  1055
franta-hg@0
  1056
        } catch (Exception e) {
franta-hg@0
  1057
            zobrazChybovyDialog("SQL dotaz", "Provedení SQL příkazu selhalo selhalo", null, e, Level.SEVERE, true);
franta-hg@0
  1058
        }
franta-hg@0
  1059
    }//GEN-LAST:event_zobrazitSQLPrijemceTlacitkoActionPerformed
franta-hg@0
  1060
franta-hg@0
  1061
    private void zobrazitVsechnyPrijemceTlacitkoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_zobrazitVsechnyPrijemceTlacitkoActionPerformed
franta-hg@0
  1062
        try {
franta-hg@0
  1063
            Collection<InternetAddressKomu> adresy = getPrijemciVsichni();
franta-hg@0
  1064
franta-hg@0
  1065
            ZobrazovacAdres zobrazovac = new ZobrazovacAdres(this, false);
franta-hg@0
  1066
            zobrazovac.setAdresy(adresy);
franta-hg@0
  1067
            zobrazovac.setLocationRelativeTo(this);
franta-hg@0
  1068
            zobrazovac.setVisible(true);
franta-hg@0
  1069
franta-hg@0
  1070
        } catch (Exception e) {
franta-hg@0
  1071
            zobrazChybovyDialog("SQL dotaz", "Provedení SQL příkazu selhalo selhalo", null, e, Level.SEVERE, true);
franta-hg@0
  1072
        }
franta-hg@0
  1073
    }//GEN-LAST:event_zobrazitVsechnyPrijemceTlacitkoActionPerformed
franta-hg@0
  1074
franta-hg@0
  1075
    private void odpovedetKomuOdkazActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_odpovedetKomuOdkazActionPerformed
franta-hg@0
  1076
        odpovedetKomuDialog.pack();
franta-hg@0
  1077
        odpovedetKomuDialog.setLocationRelativeTo(this);
franta-hg@0
  1078
        odpovedetKomuDialog.setModalityType(ModalityType.APPLICATION_MODAL);
franta-hg@0
  1079
        odpovedetKomuDialog.getRootPane().setDefaultButton(odpovedetKomuHotovo);
franta-hg@0
  1080
        odpovedetKomuDialog.setVisible(true);
franta-hg@0
  1081
}//GEN-LAST:event_odpovedetKomuOdkazActionPerformed
franta-hg@0
  1082
franta-hg@0
  1083
    private void odpovedetKomuHotovoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_odpovedetKomuHotovoActionPerformed
franta-hg@0
  1084
        odpovedetKomuDialog.setVisible(false);
franta-hg@0
  1085
}//GEN-LAST:event_odpovedetKomuHotovoActionPerformed
franta-hg@0
  1086
franta-hg@0
  1087
    /** Provede uživatelem zadaný SQL dotaz a vrátí získané příjemce */
franta-hg@0
  1088
    private Collection<InternetAddressKomu> getPrijemciSQL() throws SQLException, UnsupportedEncodingException {
franta-hg@0
  1089
        if ("".equals(vstupSQL.getText())) {
franta-hg@0
  1090
            return null;
franta-hg@0
  1091
        } else {
franta-hg@0
  1092
            return getSpojeni().getAdresy(vstupSQL.getText());
franta-hg@0
  1093
        }
franta-hg@0
  1094
    }
franta-hg@0
  1095
franta-hg@0
  1096
    private DataSQL getSpojeni() throws SQLException {
franta-hg@0
  1097
        return Data.getSpojeniSQL(vstupDatabaze.getText(), vstupDBjmeno.getText(), vstupDBheslo.getPassword());
franta-hg@0
  1098
    }
franta-hg@0
  1099
franta-hg@0
  1100
    /** Obalovací třída, která v průběhu odesílání zobrazuje kurzor s hodinami. */
franta-hg@0
  1101
    private void odesli(HromadnaZprava zprava) throws MessagingException {
franta-hg@0
  1102
        setCursor(new Cursor(Cursor.WAIT_CURSOR));
franta-hg@0
  1103
        try {
franta-hg@0
  1104
            postak.setNastaveni(nastaveni);
franta-hg@0
  1105
            postak.odesli(zprava);
franta-hg@0
  1106
franta-hg@0
  1107
        } catch (MessagingException e) {
franta-hg@0
  1108
            throw e;
franta-hg@0
  1109
        } finally {
franta-hg@0
  1110
            setCursor(Cursor.getDefaultCursor());
franta-hg@0
  1111
        }
franta-hg@0
  1112
    }
franta-hg@0
  1113
franta-hg@0
  1114
    private void setPanel(JComponent komponenta) {
franta-hg@0
  1115
franta-hg@0
  1116
        if (panel.getLayout() instanceof CardLayout) {
franta-hg@0
  1117
            CardLayout l = (CardLayout) panel.getLayout();
franta-hg@0
  1118
            l.show(panel, komponenta.getName());
franta-hg@0
  1119
        } else {
franta-hg@0
  1120
            log.log(Level.WARNING, "Neplatí: panel.getLayout() instanceof CardLayout");
franta-hg@0
  1121
        }
franta-hg@0
  1122
franta-hg@0
  1123
    }
franta-hg@0
  1124
franta-hg@0
  1125
    /** Změní chování tabulátoru v textovém poli - aby se pomocí TABu dalo skočit na další komponentu */
franta-hg@0
  1126
    private void vyresitTabFocusProblem(JTextArea textArea) {
franta-hg@0
  1127
        textArea.setFocusTraversalKeys(KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, null);
franta-hg@0
  1128
        textArea.setFocusTraversalKeys(KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, null);
franta-hg@0
  1129
    }
franta-hg@0
  1130
franta-hg@0
  1131
    public JXTaskPaneContainer getTaskPanel() {
franta-hg@0
  1132
        return taskPanel;
franta-hg@0
  1133
    }
franta-hg@0
  1134
franta-hg@0
  1135
    /**
franta-hg@0
  1136
     * @param args the command line arguments
franta-hg@0
  1137
     */
franta-hg@0
  1138
    public static void main(String args[]) {
franta-hg@0
  1139
        final boolean ladit = (args != null && args.length > 0 && args[0].equals("ladit"));
franta-hg@0
  1140
franta-hg@0
  1141
        /**try {
franta-hg@0
  1142
            //LookAndFeel laf = UIManager.getLookAndFeel();
franta-hg@0
  1143
franta-hg@0
  1144
            //laf = new SubstanceLookAndFeel();
franta-hg@0
  1145
            //laf = new SubstanceBusinessLookAndFeel();
franta-hg@0
  1146
            //laf = new SubstanceBusinessBlueSteelLookAndFeel();
franta-hg@0
  1147
            //laf = new SubstanceBusinessBlackSteelLookAndFeel();
franta-hg@0
  1148
franta-hg@0
  1149
            UIManager.setLookAndFeel("org.jvnet.substance.skin.SubstanceBusinessBlueSteelLookAndFeel");
franta-hg@0
  1150
        } catch (ClassNotFoundException ex) {
franta-hg@0
  1151
            log.log(Level.SEVERE, null, ex);
franta-hg@0
  1152
        } catch (InstantiationException ex) {
franta-hg@0
  1153
            log.log(Level.SEVERE, null, ex);
franta-hg@0
  1154
        } catch (IllegalAccessException ex) {
franta-hg@0
  1155
            log.log(Level.SEVERE, null, ex);
franta-hg@0
  1156
        } catch (UnsupportedLookAndFeelException ex) {
franta-hg@0
  1157
            log.log(Level.SEVERE, null, ex);
franta-hg@0
  1158
        } */
franta-hg@0
  1159
franta-hg@0
  1160
        java.awt.EventQueue.invokeLater(new Runnable() {
franta-hg@0
  1161
franta-hg@0
  1162
            public void run() {
franta-hg@0
  1163
                new SuperPostak(ladit, true).setVisible(true);
franta-hg@0
  1164
            }
franta-hg@0
  1165
            });
franta-hg@0
  1166
    }
franta-hg@0
  1167
    // Variables declaration - do not modify//GEN-BEGIN:variables
franta-hg@0
  1168
    private javax.swing.JLabel jLabel1;
franta-hg@0
  1169
    private javax.swing.JLabel jLabel10;
franta-hg@0
  1170
    private javax.swing.JLabel jLabel11;
franta-hg@0
  1171
    private javax.swing.JLabel jLabel12;
franta-hg@0
  1172
    private javax.swing.JLabel jLabel13;
franta-hg@0
  1173
    private javax.swing.JLabel jLabel14;
franta-hg@0
  1174
    private javax.swing.JLabel jLabel15;
franta-hg@0
  1175
    private javax.swing.JLabel jLabel16;
franta-hg@0
  1176
    private javax.swing.JLabel jLabel17;
franta-hg@0
  1177
    private javax.swing.JLabel jLabel18;
franta-hg@0
  1178
    private javax.swing.JLabel jLabel19;
franta-hg@0
  1179
    private javax.swing.JLabel jLabel2;
franta-hg@0
  1180
    private javax.swing.JLabel jLabel4;
franta-hg@0
  1181
    private javax.swing.JLabel jLabel5;
franta-hg@0
  1182
    private javax.swing.JLabel jLabel6;
franta-hg@0
  1183
    private javax.swing.JLabel jLabel7;
franta-hg@0
  1184
    private javax.swing.JLabel jLabel8;
franta-hg@0
  1185
    private javax.swing.JLabel jLabel9;
franta-hg@0
  1186
    private javax.swing.JPanel jPanel1;
franta-hg@0
  1187
    private javax.swing.JScrollPane jScrollPane1;
franta-hg@0
  1188
    private javax.swing.JScrollPane jScrollPane3;
franta-hg@0
  1189
    private javax.swing.JSeparator jSeparator1;
franta-hg@0
  1190
    private javax.swing.JSeparator jSeparator2;
franta-hg@0
  1191
    private org.jdesktop.swingx.JXHeader jXHeader1;
franta-hg@0
  1192
    private org.jdesktop.swingx.JXTaskPane jXTaskPane1;
franta-hg@0
  1193
    private org.jdesktop.swingx.JXTaskPane jXTaskPane2;
franta-hg@0
  1194
    private org.jdesktop.swingx.JXHyperlink lnDatabaze;
franta-hg@0
  1195
    private org.jdesktop.swingx.JXHyperlink lnOdeslat;
franta-hg@0
  1196
    private org.jdesktop.swingx.JXHyperlink lnPrijemci;
franta-hg@0
  1197
    private org.jdesktop.swingx.JXHyperlink lnServer;
franta-hg@0
  1198
    private org.jdesktop.swingx.JXHyperlink lnText;
franta-hg@0
  1199
    private org.jdesktop.swingx.JXHyperlink lnVychoziPrijemci;
franta-hg@0
  1200
    private javax.swing.JTextArea napovedaSMTP;
franta-hg@0
  1201
    private javax.swing.JScrollPane napovedaSMTPscroll;
franta-hg@0
  1202
    private javax.swing.JTextField odpovedetKomuAdresa;
franta-hg@0
  1203
    private javax.swing.JDialog odpovedetKomuDialog;
franta-hg@0
  1204
    private javax.swing.JButton odpovedetKomuHotovo;
franta-hg@0
  1205
    private javax.swing.JTextField odpovedetKomuJmeno;
franta-hg@0
  1206
    private org.jdesktop.swingx.JXHyperlink odpovedetKomuOdkaz;
franta-hg@0
  1207
    private org.jdesktop.swingx.JXPanel panel;
franta-hg@0
  1208
    private org.jdesktop.swingx.JXPanel panelDatabaze;
franta-hg@0
  1209
    private org.jdesktop.swingx.JXPanel panelOdeslat;
franta-hg@0
  1210
    private org.jdesktop.swingx.JXPanel panelPrijemci;
franta-hg@0
  1211
    private org.jdesktop.swingx.JXPanel panelServer;
franta-hg@0
  1212
    private org.jdesktop.swingx.JXPanel panelVychoziPrijemci;
franta-hg@0
  1213
    private org.jdesktop.swingx.JXPanel panelZprava;
franta-hg@0
  1214
    private cz.frantovo.superPostak.PanelPrijemcu prijemciDodatecni;
franta-hg@0
  1215
    private cz.frantovo.superPostak.PanelPrijemcu prijemciVychozi;
franta-hg@0
  1216
    private cz.frantovo.superPostak.PanelPrijemcu prijemciZkusebni;
franta-hg@0
  1217
    private javax.swing.JButton rozeslatHromadnouZpravuTlacitko;
franta-hg@0
  1218
    private javax.swing.JButton rozeslatZkusebniTlacitko;
franta-hg@0
  1219
    private org.jdesktop.swingx.JXTaskPaneContainer taskPanel;
franta-hg@0
  1220
    private javax.swing.JTextField vstupAdresaOdesilatele;
franta-hg@0
  1221
    private javax.swing.JPasswordField vstupDBheslo;
franta-hg@0
  1222
    private javax.swing.JTextField vstupDBjmeno;
franta-hg@0
  1223
    private javax.swing.JTextField vstupDatabaze;
franta-hg@0
  1224
    private javax.swing.JCheckBox vstupFormatHTML;
franta-hg@0
  1225
    private javax.swing.JTextField vstupJmenoOdesilatele;
franta-hg@0
  1226
    private javax.swing.JTextField vstupPredmet;
franta-hg@0
  1227
    private javax.swing.JPasswordField vstupSMTPheslo;
franta-hg@0
  1228
    private javax.swing.JTextField vstupSMTPjmeno;
franta-hg@0
  1229
    private javax.swing.JSpinner vstupSMTPlimitPrijemcu;
franta-hg@0
  1230
    private javax.swing.JSpinner vstupSMTPport;
franta-hg@0
  1231
    private javax.swing.JTextField vstupSMTPserver;
franta-hg@0
  1232
    private javax.swing.JTextArea vstupSQL;
franta-hg@0
  1233
    private javax.swing.JTextArea vstupZprava;
franta-hg@0
  1234
    private javax.swing.JLabel vystupDBzprava;
franta-hg@0
  1235
    private javax.swing.JLabel vystupSQLZprava;
franta-hg@0
  1236
    private javax.swing.JButton vyzkousetPripojeniTlacitko;
franta-hg@0
  1237
    private javax.swing.JButton vyzkousetSQLTlacitko;
franta-hg@0
  1238
    private javax.swing.JButton zobrazitSQLPrijemceTlacitko;
franta-hg@0
  1239
    private javax.swing.JButton zobrazitVsechnyPrijemceTlacitko;
franta-hg@0
  1240
    // End of variables declaration//GEN-END:variables
franta-hg@0
  1241
}