PhoneManagerView.java :  » UnTagged » phonemanager » fr » pmc » main » Android Open Source

Android Open Source » UnTagged » phonemanager 
phonemanager » fr » pmc » main » PhoneManagerView.java
/*
 * PhoneManagerView.java
 */
package fr.pmc.main;

import fr.pmc.sms.SMSModel;
import fr.pmc.config.Config;
import fr.pmc.config.ConfigView;
import java.io.IOException;
import java.net.SocketException;
import java.net.UnknownHostException;
import java.util.Set;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.event.CaretEvent;
import javax.swing.event.DocumentEvent;
import javax.swing.event.ListSelectionEvent;
import org.jdesktop.application.Action;
import org.jdesktop.application.ResourceMap;
import org.jdesktop.application.SingleFrameApplication;
import org.jdesktop.application.FrameView;
import javax.swing.JDialog;
import javax.swing.JFrame;
import fr.pma.client.Client;
import java.awt.AWTKeyStroke;
import java.awt.KeyboardFocusManager;
import java.util.HashSet;
import javax.swing.FocusManager;
import javax.swing.ListSelectionModel;
import javax.swing.RowFilter;
import javax.swing.event.CaretListener;
import javax.swing.event.DocumentListener;
import javax.swing.event.ListSelectionListener;
import javax.swing.table.TableRowSorter;
import javax.swing.text.StyledEditorKit;

/**
 * The application's main frame.
 */
public class PhoneManagerView extends FrameView {

    private void newFilter() {
        RowFilter<SMSModel, Object> rf = null;
        //If current expression doesn't parse, don't update.
        try {
            rf = RowFilter.regexFilter("(?i)" + searchText.getText());
        } catch (java.util.regex.PatternSyntaxException e) {
            return;
        }
        sorter.setRowFilter(rf);
    }

    public PhoneManagerView(SingleFrameApplication app) {
        super(app);

        initComponents();

        resourceMap = getResourceMap();

        //Init word wrap pour les destinataires et le contenu du sms
        StyledEditorKit sek = new StyledEditorKit();
        bodyText.setEditorKit(sek);
        adressText.setEditorKit(sek);
        //Init word wrap pour les destinataires et le contenu du sms

        //Init du tableau des SMS        
        mSMS = new SMSModel();
        smsTable.setModel(mSMS);
        //Init du tableau des SMS

        //Init de la recherche
        sorter = new TableRowSorter<SMSModel>(mSMS);
        smsTable.setRowSorter(sorter);
        searchText.getDocument().addDocumentListener(new DocumentListener() {

            public void insertUpdate(DocumentEvent arg0) {
                newFilter();
            }

            public void removeUpdate(DocumentEvent arg0) {
                newFilter();
            }

            public void changedUpdate(DocumentEvent arg0) {
                newFilter();
            }
        });
        //Init de la recherche

        //Init des vnements sur les lignes du tableau
        ListSelectionModel lsm = smsTable.getSelectionModel();
        lsm.addListSelectionListener(new ListSelectionListener() {

            public void valueChanged(ListSelectionEvent e) {
                ListSelectionModel lsm = (ListSelectionModel) e.getSource();

                int firstIndex = e.getFirstIndex();
                int lastIndex = e.getLastIndex();
                boolean isAdjusting = e.getValueIsAdjusting();


                if (lsm.isSelectionEmpty()) {
                } else {
                    // Find out which indexes are selected.
                    int minIndex = lsm.getMinSelectionIndex();
                    int maxIndex = lsm.getMaxSelectionIndex();
                    for (int i = minIndex; i <= maxIndex; i++) {
                        if (lsm.isSelectedIndex(i)) {
                        }
                    }
                    //une seule ligne est slectionne
                    if (minIndex == maxIndex) {
                        rowSelected = minIndex;
                        summaryText.setText(smsTable.getValueAt(rowSelected, 2).toString());
                        summaryLabel.setText(resourceMap.getString("summaryLabel.text") + " " + smsTable.getValueAt(rowSelected, 1).toString() + "  " + smsTable.getValueAt(rowSelected, 0).toString());
                    }
                }
            }
        });
        //Init des vnements sur les lignes du tableau

        //Init des vnement sur la zone de saisie du SMS
        bodyText.addCaretListener(new CaretListener() {

            public void caretUpdate(CaretEvent arg0) {
                nbCharLabel.setText(String.valueOf(bodyText.getText().length() + " " + resourceMap.getString("nbCharLabel.text")));
            }
        });
        //Init des vnement sur la zone de saisie du SMS

        //Init focus forward and basckward for components
        AWTKeyStroke strokeBackward = AWTKeyStroke.getAWTKeyStroke("shift TAB");
        AWTKeyStroke strokeForward = AWTKeyStroke.getAWTKeyStroke("TAB");

        Set<AWTKeyStroke> setStrokeBackward = new HashSet<AWTKeyStroke>();
        Set<AWTKeyStroke> setStrokeForward = new HashSet<AWTKeyStroke>();

        setStrokeBackward.add(strokeBackward);
        setStrokeForward.add(strokeForward);

        bodyText.setFocusTraversalKeys(KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, setStrokeBackward);
        bodyText.setFocusTraversalKeys(KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, setStrokeForward);

        adressText.setFocusTraversalKeys(KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, setStrokeBackward);
        adressText.setFocusTraversalKeys(KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, setStrokeForward);
        //Init focus forward and basckward for components

        //Chargement de la configuration de l'application
        myConfig = new Config();
        if (!myConfig.loadOptions()) {
            connectMenuItem.setEnabled(false);
        } else {
            try {
                cClient = new Client(myConfig.getsPathToAdb(), "5556", "44000");
                connectMenuItem.setEnabled(true);
            } catch (SocketException ex) {
                Logger.getLogger(PhoneManagerView.class.getName()).log(Level.SEVERE, null, ex);
            } catch (UnknownHostException ex) {
                Logger.getLogger(PhoneManagerView.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
        //Chargement de la configuration de l'application

        disconnectMenuItem.setEnabled(false);
    }

    @Action
    public void showAboutBox() {
        if (aboutBox == null) {
            JFrame mainFrame = PhoneManagerApp.getApplication().getMainFrame();
            aboutBox = new PhoneManagerAboutBoxView(mainFrame);
            aboutBox.setLocationRelativeTo(mainFrame);
        }
        PhoneManagerApp.getApplication().show(aboutBox);
    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        mainPanel = new javax.swing.JPanel();
        actionPanel = new javax.swing.JPanel();
        writeActionPanel = new javax.swing.JPanel();
        writeSMSScrollLabel = new javax.swing.JScrollPane();
        writeSMSLabel = new javax.swing.JTextPane();
        adressLabel = new javax.swing.JTextPane();
        adressToScrollText = new javax.swing.JScrollPane();
        adressText = new javax.swing.JTextPane();
        bodyLabel = new javax.swing.JTextPane();
        bodyScrollText = new javax.swing.JScrollPane();
        bodyText = new javax.swing.JEditorPane();
        nbCharLabel = new javax.swing.JLabel();
        sendButton = new javax.swing.JButton();
        razButton = new javax.swing.JButton();
        saveButton = new javax.swing.JButton();
        smsPanel = new javax.swing.JPanel();
        searchPanel = new javax.swing.JPanel();
        searchScrollLabel = new javax.swing.JScrollPane();
        searchLabel = new javax.swing.JTextPane();
        searchText = new javax.swing.JTextField();
        searchIcon = new javax.swing.JLabel();
        listSMSPanel = new javax.swing.JPanel();
        sync = new javax.swing.JButton();
        answer = new javax.swing.JButton();
        transfer = new javax.swing.JButton();
        delete = new javax.swing.JButton();
        listScrollLabel = new javax.swing.JScrollPane();
        listLabel = new javax.swing.JTextPane();
        smsScrollTable = new javax.swing.JScrollPane();
        smsTable = new javax.swing.JTable();
        summaryPanel = new javax.swing.JPanel();
        summaryScrollLabel = new javax.swing.JScrollPane();
        summaryLabel = new javax.swing.JTextPane();
        summaryScrollText = new javax.swing.JScrollPane();
        summaryText = new javax.swing.JTextPane();
        jPanel1 = new javax.swing.JPanel();
        menuBar = new javax.swing.JMenuBar();
        javax.swing.JMenu fileMenu = new javax.swing.JMenu();
        connectMenuItem = new javax.swing.JMenuItem();
        disconnectMenuItem = new javax.swing.JMenuItem();
        javax.swing.JMenuItem exitMenuItem = new javax.swing.JMenuItem();
        editMenu = new javax.swing.JMenu();
        configMenuItem = new javax.swing.JMenuItem();
        javax.swing.JMenu helpMenu = new javax.swing.JMenu();
        javax.swing.JMenuItem aboutMenuItem = new javax.swing.JMenuItem();
        statusPanel = new javax.swing.JPanel();
        javax.swing.JSeparator statusPanelSeparator = new javax.swing.JSeparator();
        statusAnimationLabel = new javax.swing.JLabel();

        org.jdesktop.application.ResourceMap resourceMap = org.jdesktop.application.Application.getInstance(fr.pmc.main.PhoneManagerApp.class).getContext().getResourceMap(PhoneManagerView.class);
        mainPanel.setBackground(resourceMap.getColor("mainPanel.background")); // NOI18N
        mainPanel.setName("mainPanel"); // NOI18N

        actionPanel.setBackground(resourceMap.getColor("actionPanel.background")); // NOI18N
        actionPanel.setBorder(javax.swing.BorderFactory.createEtchedBorder());
        actionPanel.setMinimumSize(new java.awt.Dimension(200, 0));
        actionPanel.setName("actionPanel"); // NOI18N
        actionPanel.setPreferredSize(new java.awt.Dimension(300, 620));

        writeActionPanel.setBackground(resourceMap.getColor("writeActionPanel.background")); // NOI18N
        writeActionPanel.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
        writeActionPanel.setName("writeActionPanel"); // NOI18N

        writeSMSScrollLabel.setName("writeSMSScrollLabel"); // NOI18N

        writeSMSLabel.setBackground(resourceMap.getColor("writeSMSLabel.background")); // NOI18N
        writeSMSLabel.setEditable(false);
        writeSMSLabel.setFont(resourceMap.getFont("writeSMSLabel.font")); // NOI18N
        writeSMSLabel.setForeground(resourceMap.getColor("writeSMSLabel.foreground")); // NOI18N
        writeSMSLabel.setText(resourceMap.getString("writeSMSLabel.text")); // NOI18N
        writeSMSLabel.setFocusable(false);
        writeSMSLabel.setName("writeSMSLabel"); // NOI18N
        writeSMSScrollLabel.setViewportView(writeSMSLabel);

        adressLabel.setBackground(resourceMap.getColor("adressLabel.background")); // NOI18N
        adressLabel.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1));
        adressLabel.setEditable(false);
        adressLabel.setFont(resourceMap.getFont("adressLabel.font")); // NOI18N
        adressLabel.setForeground(resourceMap.getColor("adressLabel.foreground")); // NOI18N
        adressLabel.setText(resourceMap.getString("adressLabel.text")); // NOI18N
        adressLabel.setFocusable(false);
        adressLabel.setMargin(new java.awt.Insets(5, 5, 5, 5));
        adressLabel.setName("adressLabel"); // NOI18N

        adressToScrollText.setName("adressToScrollText"); // NOI18N

        adressText.setBackground(resourceMap.getColor("adressText.background")); // NOI18N
        adressText.setContentType(resourceMap.getString("adressText.contentType")); // NOI18N
        adressText.setToolTipText(resourceMap.getString("adressText.toolTipText")); // NOI18N
        adressText.setFocusCycleRoot(false);
        adressText.setName("adressText"); // NOI18N
        adressText.setNextFocusableComponent(bodyText);
        adressToScrollText.setViewportView(adressText);

        bodyLabel.setBackground(resourceMap.getColor("bodyLabel.background")); // NOI18N
        bodyLabel.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1));
        bodyLabel.setEditable(false);
        bodyLabel.setFont(resourceMap.getFont("bodyLabel.font")); // NOI18N
        bodyLabel.setForeground(resourceMap.getColor("bodyLabel.foreground")); // NOI18N
        bodyLabel.setText(resourceMap.getString("bodyLabel.text")); // NOI18N
        bodyLabel.setFocusable(false);
        bodyLabel.setMargin(new java.awt.Insets(5, 5, 5, 5));
        bodyLabel.setName("bodyLabel"); // NOI18N

        bodyScrollText.setName("bodyScrollText"); // NOI18N

        bodyText.setBackground(resourceMap.getColor("bodyText.background")); // NOI18N
        bodyText.setContentType(resourceMap.getString("bodyText.contentType")); // NOI18N
        bodyText.setToolTipText(resourceMap.getString("bodyText.toolTipText")); // NOI18N
        bodyText.setFocusCycleRoot(false);
        bodyText.setMinimumSize(new java.awt.Dimension(80, 23));
        bodyText.setName("bodyText"); // NOI18N
        bodyText.setNextFocusableComponent(sendButton);
        bodyText.setPreferredSize(new java.awt.Dimension(80, 23));
        bodyScrollText.setViewportView(bodyText);

        nbCharLabel.setFont(resourceMap.getFont("nbCharLabel.font")); // NOI18N
        nbCharLabel.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        nbCharLabel.setText(resourceMap.getString("nbCharLabel.text")); // NOI18N
        nbCharLabel.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0));
        nbCharLabel.setName("nbCharLabel"); // NOI18N

        javax.swing.ActionMap actionMap = org.jdesktop.application.Application.getInstance(fr.pmc.main.PhoneManagerApp.class).getContext().getActionMap(PhoneManagerView.class, this);
        sendButton.setAction(actionMap.get("sendSMS")); // NOI18N
        sendButton.setBackground(resourceMap.getColor("sendButton.background")); // NOI18N
        sendButton.setText(resourceMap.getString("sendButton.text")); // NOI18N
        sendButton.setName("sendButton"); // NOI18N
        sendButton.setOpaque(true);

        razButton.setAction(actionMap.get("clearSMSForm")); // NOI18N
        razButton.setBackground(resourceMap.getColor("razButton.background")); // NOI18N
        razButton.setText(resourceMap.getString("razButton.text")); // NOI18N
        razButton.setName("razButton"); // NOI18N
        razButton.setOpaque(true);

        saveButton.setBackground(resourceMap.getColor("saveButton.background")); // NOI18N
        saveButton.setText(resourceMap.getString("saveButton.text")); // NOI18N
        saveButton.setName("saveButton"); // NOI18N
        saveButton.setOpaque(true);

        javax.swing.GroupLayout writeActionPanelLayout = new javax.swing.GroupLayout(writeActionPanel);
        writeActionPanel.setLayout(writeActionPanelLayout);
        writeActionPanelLayout.setHorizontalGroup(
            writeActionPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(writeSMSScrollLabel, javax.swing.GroupLayout.DEFAULT_SIZE, 270, Short.MAX_VALUE)
            .addGroup(writeActionPanelLayout.createSequentialGroup()
                .addGap(12, 12, 12)
                .addComponent(adressLabel, javax.swing.GroupLayout.DEFAULT_SIZE, 246, Short.MAX_VALUE)
                .addContainerGap())
            .addGroup(writeActionPanelLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(adressToScrollText, javax.swing.GroupLayout.DEFAULT_SIZE, 246, Short.MAX_VALUE)
                .addContainerGap())
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, writeActionPanelLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(bodyLabel, javax.swing.GroupLayout.DEFAULT_SIZE, 246, Short.MAX_VALUE)
                .addContainerGap())
            .addGroup(writeActionPanelLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(bodyScrollText, javax.swing.GroupLayout.DEFAULT_SIZE, 246, Short.MAX_VALUE)
                .addContainerGap())
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, writeActionPanelLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(nbCharLabel, javax.swing.GroupLayout.DEFAULT_SIZE, 246, Short.MAX_VALUE)
                .addContainerGap())
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, writeActionPanelLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(sendButton, javax.swing.GroupLayout.DEFAULT_SIZE, 246, Short.MAX_VALUE)
                .addContainerGap())
            .addGroup(writeActionPanelLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(saveButton, javax.swing.GroupLayout.DEFAULT_SIZE, 246, Short.MAX_VALUE)
                .addContainerGap())
            .addGroup(writeActionPanelLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(razButton, javax.swing.GroupLayout.DEFAULT_SIZE, 246, Short.MAX_VALUE)
                .addContainerGap())
        );
        writeActionPanelLayout.setVerticalGroup(
            writeActionPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(writeActionPanelLayout.createSequentialGroup()
                .addComponent(writeSMSScrollLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 27, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(adressLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(0, 0, 0)
                .addComponent(adressToScrollText, javax.swing.GroupLayout.PREFERRED_SIZE, 48, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(bodyLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addComponent(bodyScrollText, javax.swing.GroupLayout.PREFERRED_SIZE, 192, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(nbCharLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 13, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(sendButton, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(razButton, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(saveButton, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        javax.swing.GroupLayout actionPanelLayout = new javax.swing.GroupLayout(actionPanel);
        actionPanel.setLayout(actionPanelLayout);
        actionPanelLayout.setHorizontalGroup(
            actionPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(actionPanelLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(writeActionPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addContainerGap())
        );
        actionPanelLayout.setVerticalGroup(
            actionPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(actionPanelLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(writeActionPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(336, Short.MAX_VALUE))
        );

        smsPanel.setBackground(resourceMap.getColor("smsPanel.background")); // NOI18N
        smsPanel.setBorder(javax.swing.BorderFactory.createEtchedBorder());
        smsPanel.setMinimumSize(new java.awt.Dimension(500, 0));
        smsPanel.setName("smsPanel"); // NOI18N
        smsPanel.setPreferredSize(new java.awt.Dimension(700, 828));
        smsPanel.setRequestFocusEnabled(false);

        searchPanel.setBackground(resourceMap.getColor("searchPanel.background")); // NOI18N
        searchPanel.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
        searchPanel.setMinimumSize(new java.awt.Dimension(0, 150));
        searchPanel.setName("searchPanel"); // NOI18N
        searchPanel.setPreferredSize(new java.awt.Dimension(650, 68));

        searchScrollLabel.setName("searchScrollLabel"); // NOI18N

        searchLabel.setBackground(resourceMap.getColor("searchLabel.background")); // NOI18N
        searchLabel.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1));
        searchLabel.setFont(resourceMap.getFont("searchLabel.font")); // NOI18N
        searchLabel.setForeground(resourceMap.getColor("searchLabel.foreground")); // NOI18N
        searchLabel.setText(resourceMap.getString("searchLabel.text")); // NOI18N
        searchLabel.setFocusable(false);
        searchLabel.setName("searchLabel"); // NOI18N
        searchScrollLabel.setViewportView(searchLabel);

        searchText.setText(resourceMap.getString("searchText.text")); // NOI18N
        searchText.setToolTipText(resourceMap.getString("searchText.toolTipText")); // NOI18N
        searchText.setName("searchText"); // NOI18N

        searchIcon.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        searchIcon.setIcon(resourceMap.getIcon("searchIcon.icon")); // NOI18N
        searchIcon.setText(resourceMap.getString("searchIcon.text")); // NOI18N
        searchIcon.setVerticalAlignment(javax.swing.SwingConstants.TOP);
        searchIcon.setName("searchIcon"); // NOI18N

        javax.swing.GroupLayout searchPanelLayout = new javax.swing.GroupLayout(searchPanel);
        searchPanel.setLayout(searchPanelLayout);
        searchPanelLayout.setHorizontalGroup(
            searchPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(searchPanelLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(searchIcon)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(searchText, javax.swing.GroupLayout.DEFAULT_SIZE, 610, Short.MAX_VALUE)
                .addContainerGap())
            .addComponent(searchScrollLabel, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 670, Short.MAX_VALUE)
        );
        searchPanelLayout.setVerticalGroup(
            searchPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(searchPanelLayout.createSequentialGroup()
                .addComponent(searchScrollLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(18, 18, 18)
                .addGroup(searchPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                    .addGroup(searchPanelLayout.createSequentialGroup()
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 3, Short.MAX_VALUE)
                        .addComponent(searchIcon))
                    .addComponent(searchText))
                .addContainerGap())
        );

        listSMSPanel.setBackground(resourceMap.getColor("listSMSPanel.background")); // NOI18N
        listSMSPanel.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
        listSMSPanel.setName("listSMSPanel"); // NOI18N
        listSMSPanel.setPreferredSize(new java.awt.Dimension(650, 566));

        sync.setAction(actionMap.get("getSMS")); // NOI18N
        sync.setBackground(resourceMap.getColor("sync.background")); // NOI18N
        sync.setText(resourceMap.getString("sync.text")); // NOI18N
        sync.setName("sync"); // NOI18N
        sync.setOpaque(true);

        answer.setAction(actionMap.get("answerSMS")); // NOI18N
        answer.setBackground(resourceMap.getColor("answer.background")); // NOI18N
        answer.setText(resourceMap.getString("answer.text")); // NOI18N
        answer.setName("answer"); // NOI18N
        answer.setOpaque(true);

        transfer.setAction(actionMap.get("trasnferSMS")); // NOI18N
        transfer.setBackground(resourceMap.getColor("transfer.background")); // NOI18N
        transfer.setText(resourceMap.getString("transfer.text")); // NOI18N
        transfer.setName("transfer"); // NOI18N
        transfer.setOpaque(true);

        delete.setBackground(resourceMap.getColor("delete.background")); // NOI18N
        delete.setText(resourceMap.getString("delete.text")); // NOI18N
        delete.setName("delete"); // NOI18N
        delete.setNextFocusableComponent(smsTable);
        delete.setOpaque(true);

        listScrollLabel.setName("listScrollLabel"); // NOI18N

        listLabel.setBackground(resourceMap.getColor("listLabel.background")); // NOI18N
        listLabel.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1));
        listLabel.setEditable(false);
        listLabel.setFont(resourceMap.getFont("listLabel.font")); // NOI18N
        listLabel.setForeground(resourceMap.getColor("listLabel.foreground")); // NOI18N
        listLabel.setText(resourceMap.getString("listLabel.text")); // NOI18N
        listLabel.setFocusable(false);
        listLabel.setName("listLabel"); // NOI18N
        listScrollLabel.setViewportView(listLabel);

        smsScrollTable.setName("smsScrollTable"); // NOI18N

        smsTable.setBackground(resourceMap.getColor("smsTable.background")); // NOI18N
        smsTable.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1));
        smsTable.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null}
            },
            new String [] {
                "Title 1", "Title 2", "Title 3", "Title 4"
            }
        ));
        smsTable.setName("smsTable"); // NOI18N
        smsTable.setNextFocusableComponent(adressText);
        smsTable.setSelectionMode(javax.swing.ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
        smsScrollTable.setViewportView(smsTable);

        javax.swing.GroupLayout listSMSPanelLayout = new javax.swing.GroupLayout(listSMSPanel);
        listSMSPanel.setLayout(listSMSPanelLayout);
        listSMSPanelLayout.setHorizontalGroup(
            listSMSPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(listScrollLabel, javax.swing.GroupLayout.DEFAULT_SIZE, 670, Short.MAX_VALUE)
            .addGroup(listSMSPanelLayout.createSequentialGroup()
                .addGap(12, 12, 12)
                .addComponent(sync, javax.swing.GroupLayout.DEFAULT_SIZE, 155, Short.MAX_VALUE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(answer, javax.swing.GroupLayout.DEFAULT_SIZE, 154, Short.MAX_VALUE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(transfer, javax.swing.GroupLayout.DEFAULT_SIZE, 158, Short.MAX_VALUE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(delete, javax.swing.GroupLayout.DEFAULT_SIZE, 161, Short.MAX_VALUE)
                .addContainerGap())
            .addGroup(listSMSPanelLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(smsScrollTable, javax.swing.GroupLayout.DEFAULT_SIZE, 646, Short.MAX_VALUE)
                .addContainerGap())
        );
        listSMSPanelLayout.setVerticalGroup(
            listSMSPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(listSMSPanelLayout.createSequentialGroup()
                .addComponent(listScrollLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 27, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(18, 18, 18)
                .addGroup(listSMSPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE, false)
                    .addComponent(sync)
                    .addComponent(answer)
                    .addComponent(transfer)
                    .addComponent(delete))
                .addGap(18, 18, 18)
                .addComponent(smsScrollTable, javax.swing.GroupLayout.DEFAULT_SIZE, 422, Short.MAX_VALUE)
                .addContainerGap())
        );

        summaryPanel.setBackground(resourceMap.getColor("summaryPanel.background")); // NOI18N
        summaryPanel.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
        summaryPanel.setMinimumSize(new java.awt.Dimension(0, 100));
        summaryPanel.setName("summaryPanel"); // NOI18N
        summaryPanel.setPreferredSize(new java.awt.Dimension(150, 130));

        summaryScrollLabel.setName("summaryScrollLabel"); // NOI18N

        summaryLabel.setBackground(resourceMap.getColor("summaryLabel.background")); // NOI18N
        summaryLabel.setEditable(false);
        summaryLabel.setFont(resourceMap.getFont("summaryLabel.font")); // NOI18N
        summaryLabel.setForeground(resourceMap.getColor("summaryLabel.foreground")); // NOI18N
        summaryLabel.setText(resourceMap.getString("summaryLabel.text")); // NOI18N
        summaryLabel.setFocusable(false);
        summaryLabel.setName("summaryLabel"); // NOI18N
        summaryScrollLabel.setViewportView(summaryLabel);

        summaryScrollText.setName("summaryScrollText"); // NOI18N

        summaryText.setBackground(resourceMap.getColor("summaryText.background")); // NOI18N
        summaryText.setEditable(false);
        summaryText.setFocusTraversalPolicyProvider(true);
        summaryText.setMargin(new java.awt.Insets(5, 5, 5, 5));
        summaryText.setName("summaryText"); // NOI18N
        summaryScrollText.setViewportView(summaryText);

        javax.swing.GroupLayout summaryPanelLayout = new javax.swing.GroupLayout(summaryPanel);
        summaryPanel.setLayout(summaryPanelLayout);
        summaryPanelLayout.setHorizontalGroup(
            summaryPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(summaryScrollLabel, javax.swing.GroupLayout.DEFAULT_SIZE, 670, Short.MAX_VALUE)
            .addGroup(summaryPanelLayout.createSequentialGroup()
                .addGap(12, 12, 12)
                .addComponent(summaryScrollText, javax.swing.GroupLayout.DEFAULT_SIZE, 646, Short.MAX_VALUE)
                .addGap(12, 12, 12))
        );
        summaryPanelLayout.setVerticalGroup(
            summaryPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(summaryPanelLayout.createSequentialGroup()
                .addComponent(summaryScrollLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 27, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(summaryScrollText, javax.swing.GroupLayout.DEFAULT_SIZE, 77, Short.MAX_VALUE)
                .addContainerGap())
        );

        javax.swing.GroupLayout smsPanelLayout = new javax.swing.GroupLayout(smsPanel);
        smsPanel.setLayout(smsPanelLayout);
        smsPanelLayout.setHorizontalGroup(
            smsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, smsPanelLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(smsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(summaryPanel, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 672, Short.MAX_VALUE)
                    .addComponent(listSMSPanel, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 672, Short.MAX_VALUE)
                    .addComponent(searchPanel, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 672, Short.MAX_VALUE))
                .addContainerGap())
        );
        smsPanelLayout.setVerticalGroup(
            smsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(smsPanelLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(searchPanel, javax.swing.GroupLayout.PREFERRED_SIZE, 85, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(18, 18, 18)
                .addComponent(listSMSPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 528, Short.MAX_VALUE)
                .addGap(18, 18, 18)
                .addComponent(summaryPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );

        jPanel1.setBackground(resourceMap.getColor("jPanel1.background")); // NOI18N
        jPanel1.setBorder(javax.swing.BorderFactory.createEtchedBorder());
        jPanel1.setMinimumSize(new java.awt.Dimension(100, 0));
        jPanel1.setName("jPanel1"); // NOI18N
        jPanel1.setPreferredSize(new java.awt.Dimension(200, 104));

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 246, Short.MAX_VALUE)
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 803, Short.MAX_VALUE)
        );

        javax.swing.GroupLayout mainPanelLayout = new javax.swing.GroupLayout(mainPanel);
        mainPanel.setLayout(mainPanelLayout);
        mainPanelLayout.setHorizontalGroup(
            mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(mainPanelLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, 250, Short.MAX_VALUE)
                .addGap(18, 18, 18)
                .addComponent(smsPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addGap(18, 18, 18)
                .addComponent(actionPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addContainerGap())
        );
        mainPanelLayout.setVerticalGroup(
            mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, mainPanelLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(actionPanel, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 807, Short.MAX_VALUE)
                    .addComponent(jPanel1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 807, Short.MAX_VALUE)
                    .addComponent(smsPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 807, Short.MAX_VALUE))
                .addContainerGap())
        );

        menuBar.setBackground(resourceMap.getColor("menuBar.background")); // NOI18N
        menuBar.setName("menuBar"); // NOI18N

        fileMenu.setMnemonic('F');
        fileMenu.setText(resourceMap.getString("fileMenu.text")); // NOI18N
        fileMenu.setName("fileMenu"); // NOI18N

        connectMenuItem.setAction(actionMap.get("connect")); // NOI18N
        connectMenuItem.setMnemonic('C');
        connectMenuItem.setText(resourceMap.getString("connectMenuItem.text")); // NOI18N
        connectMenuItem.setToolTipText(resourceMap.getString("connectMenuItem.toolTipText")); // NOI18N
        connectMenuItem.setName("connectMenuItem"); // NOI18N
        fileMenu.add(connectMenuItem);

        disconnectMenuItem.setAction(actionMap.get("disconnect")); // NOI18N
        disconnectMenuItem.setMnemonic('D');
        disconnectMenuItem.setText(resourceMap.getString("disconnectMenuItem.text")); // NOI18N
        disconnectMenuItem.setToolTipText(resourceMap.getString("disconnectMenuItem.toolTipText")); // NOI18N
        disconnectMenuItem.setName("disconnectMenuItem"); // NOI18N
        fileMenu.add(disconnectMenuItem);

        exitMenuItem.setAction(actionMap.get("quit")); // NOI18N
        exitMenuItem.setMnemonic('Q');
        exitMenuItem.setText(resourceMap.getString("exitMenuItem.text")); // NOI18N
        exitMenuItem.setToolTipText(resourceMap.getString("exitMenuItem.toolTipText")); // NOI18N
        exitMenuItem.setName("exitMenuItem"); // NOI18N
        fileMenu.add(exitMenuItem);

        menuBar.add(fileMenu);

        editMenu.setMnemonic('E');
        editMenu.setText(resourceMap.getString("editMenu.text")); // NOI18N
        editMenu.setToolTipText(resourceMap.getString("editMenu.toolTipText")); // NOI18N
        editMenu.setName("editMenu"); // NOI18N

        configMenuItem.setAction(actionMap.get("showConfigView")); // NOI18N
        configMenuItem.setMnemonic('C');
        configMenuItem.setText(resourceMap.getString("configMenuItem.text")); // NOI18N
        configMenuItem.setToolTipText(resourceMap.getString("configMenuItem.toolTipText")); // NOI18N
        configMenuItem.setName("configMenuItem"); // NOI18N
        editMenu.add(configMenuItem);

        menuBar.add(editMenu);

        helpMenu.setMnemonic('A');
        helpMenu.setText(resourceMap.getString("helpMenu.text")); // NOI18N
        helpMenu.setToolTipText(resourceMap.getString("helpMenu.toolTipText")); // NOI18N
        helpMenu.setName("helpMenu"); // NOI18N

        aboutMenuItem.setAction(actionMap.get("showAboutBox")); // NOI18N
        aboutMenuItem.setText(resourceMap.getString("aboutMenuItem.text")); // NOI18N
        aboutMenuItem.setName("aboutMenuItem"); // NOI18N
        helpMenu.add(aboutMenuItem);

        menuBar.add(helpMenu);

        statusPanel.setBackground(resourceMap.getColor("statusPanel.background")); // NOI18N
        statusPanel.setBorder(javax.swing.BorderFactory.createEtchedBorder());
        statusPanel.setMaximumSize(new java.awt.Dimension(32767, 24));
        statusPanel.setName("statusPanel"); // NOI18N

        statusPanelSeparator.setName("statusPanelSeparator"); // NOI18N

        statusAnimationLabel.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        statusAnimationLabel.setIcon(resourceMap.getIcon("statusAnimationLabel.icon")); // NOI18N
        statusAnimationLabel.setName("statusAnimationLabel"); // NOI18N
        statusAnimationLabel.setPreferredSize(new java.awt.Dimension(10, 10));

        javax.swing.GroupLayout statusPanelLayout = new javax.swing.GroupLayout(statusPanel);
        statusPanel.setLayout(statusPanelLayout);
        statusPanelLayout.setHorizontalGroup(
            statusPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(statusPanelLayout.createSequentialGroup()
                .addComponent(statusPanelSeparator, javax.swing.GroupLayout.DEFAULT_SIZE, 1276, Short.MAX_VALUE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(statusAnimationLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 18, javax.swing.GroupLayout.PREFERRED_SIZE))
        );
        statusPanelLayout.setVerticalGroup(
            statusPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(statusPanelSeparator, javax.swing.GroupLayout.PREFERRED_SIZE, 2, javax.swing.GroupLayout.PREFERRED_SIZE)
            .addComponent(statusAnimationLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
        );

        setComponent(mainPanel);
        setMenuBar(menuBar);
        setStatusBar(statusPanel);
    }// </editor-fold>//GEN-END:initComponents

    @Action
    public void showConfigView() {
        if (configView == null) {
            JFrame mainFrame = PhoneManagerApp.getApplication().getMainFrame();
            configView = new ConfigView(mainFrame, true, myConfig, connectMenuItem, cClient);
            configView.setLocationRelativeTo(mainFrame);
        }
        PhoneManagerApp.getApplication().show(configView);
    }

    @Action
    public void connect() {
        if (cClient != null) {
            try {
                if (isConnected = cClient.connect()) {
                    statusAnimationLabel.setIcon(resourceMap.getIcon("StatusBar.connectIcon"));
                    statusAnimationLabel.setToolTipText(resourceMap.getString("StatusBar.connectToolTip"));
                    connectMenuItem.setEnabled(false);
                    disconnectMenuItem.setEnabled(true);
                }
            } catch (IOException ex) {
                Logger.getLogger(PhoneManagerView.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
    }

    @Action
    public void disconnect() {
        if (cClient != null) {
            try {
                if (isConnected = cClient.disconnect()) {
                    statusAnimationLabel.setIcon(resourceMap.getIcon("StatusBar.disconnectIcon"));
                    statusAnimationLabel.setToolTipText(resourceMap.getString("StatusBar.disconnectToolTip"));
                    connectMenuItem.setEnabled(true);
                    disconnectMenuItem.setEnabled(false);
                }
            } catch (IOException ex) {
                Logger.getLogger(PhoneManagerView.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
    }

    @Action
    public void getSMS() {
        try {
            if (isConnected) {
                mSMS.settoto(cClient.getSMS());
                smsTable.requestFocus();
            }
        } catch (IOException ex) {
            Logger.getLogger(PhoneManagerView.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    @Action
    public void sendSMS() {
        try {
            if (!adressText.getText().equalsIgnoreCase("") && !bodyText.getText().equalsIgnoreCase("") && isConnected) {
                if (cClient.sendSMS(adressText.getText(), bodyText.getText())) {
                    mSMS.addRowAtBegin(adressText.getText(), bodyText.getText());
                    clearSMSForm();
                }
            }
        } catch (IOException ex) {
            Logger.getLogger(PhoneManagerView.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    @Action
    public void clearSMSForm() {
        adressText.setText("");
        bodyText.setText("");
        adressText.requestFocus();
    }

    @Action
    public void answerSMS() {
        if (rowSelected != -1) {
            clearSMSForm();
            adressText.setText(smsTable.getValueAt(rowSelected, SMSModel.INDEX_ADRESS).toString());
            bodyText.requestFocus();
        }
    }

    @Action
    public void trasnferSMS() {
        if (rowSelected != -1) {
            clearSMSForm();
            bodyText.setText(smsTable.getValueAt(rowSelected, SMSModel.INDEX_BODY).toString());
            adressText.requestFocus();
        }
    }
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JPanel actionPanel;
    private javax.swing.JTextPane adressLabel;
    private javax.swing.JTextPane adressText;
    private javax.swing.JScrollPane adressToScrollText;
    private javax.swing.JButton answer;
    private javax.swing.JTextPane bodyLabel;
    private javax.swing.JScrollPane bodyScrollText;
    private javax.swing.JEditorPane bodyText;
    private javax.swing.JMenuItem configMenuItem;
    private javax.swing.JMenuItem connectMenuItem;
    private javax.swing.JButton delete;
    private javax.swing.JMenuItem disconnectMenuItem;
    private javax.swing.JMenu editMenu;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JTextPane listLabel;
    private javax.swing.JPanel listSMSPanel;
    private javax.swing.JScrollPane listScrollLabel;
    private javax.swing.JPanel mainPanel;
    private javax.swing.JMenuBar menuBar;
    private javax.swing.JLabel nbCharLabel;
    private javax.swing.JButton razButton;
    private javax.swing.JButton saveButton;
    private javax.swing.JLabel searchIcon;
    private javax.swing.JTextPane searchLabel;
    private javax.swing.JPanel searchPanel;
    private javax.swing.JScrollPane searchScrollLabel;
    private javax.swing.JTextField searchText;
    private javax.swing.JButton sendButton;
    private javax.swing.JPanel smsPanel;
    private javax.swing.JScrollPane smsScrollTable;
    private javax.swing.JTable smsTable;
    private javax.swing.JLabel statusAnimationLabel;
    private javax.swing.JPanel statusPanel;
    private javax.swing.JTextPane summaryLabel;
    private javax.swing.JPanel summaryPanel;
    private javax.swing.JScrollPane summaryScrollLabel;
    private javax.swing.JScrollPane summaryScrollText;
    private javax.swing.JTextPane summaryText;
    private javax.swing.JButton sync;
    private javax.swing.JButton transfer;
    private javax.swing.JPanel writeActionPanel;
    private javax.swing.JTextPane writeSMSLabel;
    private javax.swing.JScrollPane writeSMSScrollLabel;
    // End of variables declaration//GEN-END:variables
    ResourceMap resourceMap;
    private JDialog aboutBox;
    private JDialog configView;
    private Config myConfig;
    private Client cClient;
    private SMSModel mSMS;
    private TableRowSorter<SMSModel> sorter;
    private boolean isConnected = false;
    private int rowSelected = -1;
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.