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