Example usage for javax.swing JLabel setText

List of usage examples for javax.swing JLabel setText

Introduction

In this page you can find the example usage for javax.swing JLabel setText.

Prototype

@BeanProperty(preferred = true, visualUpdate = true, description = "Defines the single line of text this component will display.")
public void setText(String text) 

Source Link

Document

Defines the single line of text this component will display.

Usage

From source file:com.maxl.java.amikodesk.AMiKoDesk.java

private static void createAndShowFullGUI() {
    // Create and setup window
    final JFrame jframe = new JFrame(Constants.APP_NAME);
    jframe.setName(Constants.APP_NAME + ".main");

    int min_width = CML_OPT_WIDTH;
    int min_height = CML_OPT_HEIGHT;
    jframe.setPreferredSize(new Dimension(min_width, min_height));
    jframe.setMinimumSize(new Dimension(min_width, min_height));
    Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
    int x = (screen.width - min_width) / 2;
    int y = (screen.height - min_height) / 2;
    jframe.setBounds(x, y, min_width, min_height);

    // Set application icon
    if (Utilities.appCustomization().equals("ywesee")) {
        ImageIcon img = new ImageIcon(Constants.AMIKO_ICON);
        jframe.setIconImage(img.getImage());
    } else if (Utilities.appCustomization().equals("desitin")) {
        ImageIcon img = new ImageIcon(Constants.DESITIN_ICON);
        jframe.setIconImage(img.getImage());
    } else if (Utilities.appCustomization().equals("meddrugs")) {
        ImageIcon img = new ImageIcon(Constants.MEDDRUGS_ICON);
        jframe.setIconImage(img.getImage());
    } else if (Utilities.appCustomization().equals("zurrose")) {
        ImageIcon img = new ImageIcon(Constants.AMIKO_ICON);
        jframe.setIconImage(img.getImage());
    }/*from w w w . j a  va  2s.  c om*/

    // ------ Setup menubar ------
    JMenuBar menu_bar = new JMenuBar();
    // menu_bar.add(Box.createHorizontalGlue()); // --> aligns menu items to the right!
    // -- Menu "Datei" --
    JMenu datei_menu = new JMenu("Datei");
    if (Utilities.appLanguage().equals("fr"))
        datei_menu.setText("Fichier");
    menu_bar.add(datei_menu);
    JMenuItem print_item = new JMenuItem("Drucken...");
    JMenuItem settings_item = new JMenuItem(m_rb.getString("settings") + "...");
    JMenuItem quit_item = new JMenuItem("Beenden");
    if (Utilities.appLanguage().equals("fr")) {
        print_item.setText("Imprimer");
        quit_item.setText("Terminer");
    }
    datei_menu.add(print_item);
    datei_menu.addSeparator();
    datei_menu.add(settings_item);
    datei_menu.addSeparator();
    datei_menu.add(quit_item);

    // -- Menu "Aktualisieren" --
    JMenu update_menu = new JMenu("Aktualisieren");
    if (Utilities.appLanguage().equals("fr"))
        update_menu.setText("Mise  jour");
    menu_bar.add(update_menu);
    final JMenuItem updatedb_item = new JMenuItem("Aktualisieren via Internet...");
    updatedb_item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A, ActionEvent.CTRL_MASK));
    JMenuItem choosedb_item = new JMenuItem("Aktualisieren via Datei...");
    update_menu.add(updatedb_item);
    update_menu.add(choosedb_item);
    if (Utilities.appLanguage().equals("fr")) {
        updatedb_item.setText("Tlcharger la banque de donnes...");
        updatedb_item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_T, ActionEvent.CTRL_MASK));
        choosedb_item.setText("Ajourner la banque de donnes...");
    }

    // -- Menu "Hilfe" --
    JMenu hilfe_menu = new JMenu("Hilfe");
    if (Utilities.appLanguage().equals("fr"))
        hilfe_menu.setText("Aide");
    menu_bar.add(hilfe_menu);

    JMenuItem about_item = new JMenuItem("ber " + Constants.APP_NAME + "...");
    JMenuItem ywesee_item = new JMenuItem(Constants.APP_NAME + " im Internet");
    if (Utilities.appCustomization().equals("meddrugs"))
        ywesee_item.setText("med-drugs im Internet");
    JMenuItem report_item = new JMenuItem("Error Report...");
    JMenuItem contact_item = new JMenuItem("Kontakt...");

    if (Utilities.appLanguage().equals("fr")) {
        // Extrawunsch med-drugs
        if (Utilities.appCustomization().equals("meddrugs"))
            about_item.setText(Constants.APP_NAME);
        else
            about_item.setText("A propos de " + Constants.APP_NAME + "...");
        contact_item.setText("Contact...");
        if (Utilities.appCustomization().equals("meddrugs"))
            ywesee_item.setText("med-drugs sur Internet");
        else
            ywesee_item.setText(Constants.APP_NAME + " sur Internet");
        report_item.setText("Rapport d'erreur...");
    }
    hilfe_menu.add(about_item);
    hilfe_menu.add(ywesee_item);
    hilfe_menu.addSeparator();
    hilfe_menu.add(report_item);
    hilfe_menu.addSeparator();
    hilfe_menu.add(contact_item);

    // Menu "Abonnieren" (only for ywesee)
    JMenu subscribe_menu = new JMenu("Abonnieren");
    if (Utilities.appLanguage().equals("fr"))
        subscribe_menu.setText("Abonnement");
    if (Utilities.appCustomization().equals("ywesee")) {
        menu_bar.add(subscribe_menu);
    }

    jframe.setJMenuBar(menu_bar);

    // ------ Setup toolbar ------
    JToolBar toolBar = new JToolBar("Database");
    toolBar.setPreferredSize(new Dimension(jframe.getWidth(), 64));
    final JToggleButton selectAipsButton = new JToggleButton(
            new ImageIcon(Constants.IMG_FOLDER + "aips32x32_bright.png"));
    final JToggleButton selectFavoritesButton = new JToggleButton(
            new ImageIcon(Constants.IMG_FOLDER + "favorites32x32_bright.png"));
    final JToggleButton selectInteractionsButton = new JToggleButton(
            new ImageIcon(Constants.IMG_FOLDER + "interactions32x32_bright.png"));
    final JToggleButton selectShoppingCartButton = new JToggleButton(
            new ImageIcon(Constants.IMG_FOLDER + "shoppingcart32x32_bright.png"));
    final JToggleButton selectComparisonCartButton = new JToggleButton(
            new ImageIcon(Constants.IMG_FOLDER + "comparisoncart32x32_bright.png"));

    final JToggleButton list_of_buttons[] = { selectAipsButton, selectFavoritesButton, selectInteractionsButton,
            selectShoppingCartButton, selectComparisonCartButton };

    if (Utilities.appLanguage().equals("de")) {
        setupButton(selectAipsButton, "Kompendium", "aips32x32_gray.png", "aips32x32_dark.png");
        setupButton(selectFavoritesButton, "Favoriten", "favorites32x32_gray.png", "favorites32x32_dark.png");
        setupButton(selectInteractionsButton, "Interaktionen", "interactions32x32_gray.png",
                "interactions32x32_dark.png");
        setupButton(selectShoppingCartButton, "Warenkorb", "shoppingcart32x32_gray.png",
                "shoppingcart32x32_dark.png");
        setupButton(selectComparisonCartButton, "Preisvergleich", "comparisoncart32x32_gray.png",
                "comparisoncart32x32_dark.png");
    } else if (Utilities.appLanguage().equals("fr")) {
        setupButton(selectAipsButton, "Compendium", "aips32x32_gray.png", "aips32x32_dark.png");
        setupButton(selectFavoritesButton, "Favorites", "favorites32x32_gray.png", "favorites32x32_dark.png");
        setupButton(selectInteractionsButton, "Interactions", "interactions32x32_gray.png",
                "interactions32x32_dark.png");
        setupButton(selectShoppingCartButton, "Panier", "shoppingcart32x32_gray.png",
                "shoppingcart32x32_dark.png");
        setupButton(selectComparisonCartButton, "Preisvergleich", "comparisoncart32x32_gray.png",
                "comparisoncart32x32_dark.png");
    }

    // Add to toolbar and set up
    toolBar.setBackground(m_toolbar_bg);
    toolBar.add(selectAipsButton);
    toolBar.addSeparator();
    toolBar.add(selectFavoritesButton);
    toolBar.addSeparator();
    toolBar.add(selectInteractionsButton);
    if (!Utilities.appCustomization().equals("zurrose")) {
        toolBar.addSeparator();
        toolBar.add(selectShoppingCartButton);
    }
    if (Utilities.appCustomization().equals("zurrorse")) {
        toolBar.addSeparator();
        toolBar.add(selectComparisonCartButton);
    }
    toolBar.setRollover(true);
    toolBar.setFloatable(false);
    // Progress indicator (not working...)
    toolBar.addSeparator(new Dimension(32, 32));
    toolBar.add(m_progress_indicator);

    // ------ Setup settingspage ------
    final SettingsPage settingsPage = new SettingsPage(jframe, m_rb);
    // Attach observer to it
    settingsPage.addObserver(new Observer() {
        public void update(Observable o, Object arg) {
            System.out.println(arg);
            if (m_shopping_cart != null) {
                // Refresh some stuff
                m_shopping_basket.clear();
                int index = m_shopping_cart.getCartIndex();
                if (index > 0)
                    m_web_panel.saveShoppingCartWithIndex(index);
                m_web_panel.updateShoppingHtml();
            }
        }
    });

    jframe.addWindowListener(new WindowListener() {
        // Use WindowAdapter!
        @Override
        public void windowOpened(WindowEvent e) {
        }

        @Override
        public void windowClosed(WindowEvent e) {
            m_web_panel.dispose();
            Runtime.getRuntime().exit(0);
        }

        @Override
        public void windowClosing(WindowEvent e) {
            // Save shopping cart
            int index = m_shopping_cart.getCartIndex();
            if (index > 0 && m_web_panel != null)
                m_web_panel.saveShoppingCartWithIndex(index);
        }

        @Override
        public void windowIconified(WindowEvent e) {
        }

        @Override
        public void windowDeiconified(WindowEvent e) {
        }

        @Override
        public void windowActivated(WindowEvent e) {
        }

        @Override
        public void windowDeactivated(WindowEvent e) {
        }
    });
    print_item.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent event) {
            m_web_panel.print();
        }
    });
    settings_item.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent event) {
            settingsPage.display();
        }
    });
    quit_item.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent event) {
            try {
                // Save shopping cart
                int index = m_shopping_cart.getCartIndex();
                if (index > 0 && m_web_panel != null)
                    m_web_panel.saveShoppingCartWithIndex(index);
                // Save settings
                WindowSaver.saveSettings();
                m_web_panel.dispose();
                Runtime.getRuntime().exit(0);
            } catch (Exception e) {
                System.out.println(e);
            }
        }
    });
    subscribe_menu.addMenuListener(new MenuListener() {
        @Override
        public void menuSelected(MenuEvent event) {
            if (Utilities.appCustomization().equals("ywesee")) {
                if (Desktop.isDesktopSupported()) {
                    try {
                        Desktop.getDesktop().browse(new URI(
                                "https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=3UM84Z6WLFKZE"));
                    } catch (IOException e) {
                        // TODO:
                    } catch (URISyntaxException r) {
                        // TODO:
                    }
                }
            }
        }

        @Override
        public void menuDeselected(MenuEvent event) {
            // do nothing
        }

        @Override
        public void menuCanceled(MenuEvent event) {
            // do nothing
        }
    });
    contact_item.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent event) {
            if (Utilities.appCustomization().equals("ywesee")) {
                if (Desktop.isDesktopSupported()) {
                    try {
                        URI mail_to_uri = URI
                                .create("mailto:zdavatz@ywesee.com?subject=AmiKo%20Desktop%20Feedback");
                        Desktop.getDesktop().mail(mail_to_uri);
                    } catch (IOException e) {
                        // TODO:
                    }
                } else {
                    AmiKoDialogs cd = new AmiKoDialogs(Utilities.appLanguage(), Utilities.appCustomization());
                    cd.ContactDialog();
                }
            } else if (Utilities.appCustomization().equals("desitin")) {
                if (Desktop.isDesktopSupported()) {
                    try {
                        URI mail_to_uri = URI
                                .create("mailto:info@desitin.ch?subject=AmiKo%20Desktop%20Desitin%20Feedback");
                        Desktop.getDesktop().mail(mail_to_uri);
                    } catch (IOException e) {
                        // TODO:
                    }
                } else {
                    AmiKoDialogs cd = new AmiKoDialogs(Utilities.appLanguage(), Utilities.appCustomization());
                    cd.ContactDialog();
                }
            } else if (Utilities.appCustomization().equals("meddrugs")) {
                if (Desktop.isDesktopSupported()) {
                    try {
                        URI mail_to_uri = URI.create(
                                "mailto:med-drugs@just-medical.com?subject=med-drugs%20desktop%20Feedback");
                        Desktop.getDesktop().mail(mail_to_uri);
                    } catch (IOException e) {
                        // TODO:
                    }
                } else {
                    AmiKoDialogs cd = new AmiKoDialogs(Utilities.appLanguage(), Utilities.appCustomization());
                    cd.ContactDialog();
                }
            } else if (Utilities.appCustomization().equals("zurrose")) {
                if (Desktop.isDesktopSupported()) {
                    try {
                        Desktop.getDesktop().browse(new URI("www.zurrose.ch/amiko"));
                    } catch (IOException e) {
                        // TODO:
                    } catch (URISyntaxException r) {
                        // TODO:
                    }
                }
            }
        }
    });
    report_item.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent event) {
            // Check first m_application_folder otherwise resort to
            // pre-installed report
            String report_file = m_application_data_folder + "\\" + Constants.DEFAULT_AMIKO_REPORT_BASE
                    + Utilities.appLanguage() + ".html";
            if (!(new File(report_file)).exists())
                report_file = System.getProperty("user.dir") + "/dbs/" + Constants.DEFAULT_AMIKO_REPORT_BASE
                        + Utilities.appLanguage() + ".html";
            // Open report file in browser
            if (Desktop.isDesktopSupported()) {
                try {
                    Desktop.getDesktop().browse(new File(report_file).toURI());
                } catch (IOException e) {
                    // TODO:
                }
            }
        }
    });
    ywesee_item.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent event) {
            if (Utilities.appCustomization().equals("ywesee")) {
                if (Desktop.isDesktopSupported()) {
                    try {
                        Desktop.getDesktop().browse(new URI("http://www.ywesee.com/AmiKo/Desktop"));
                    } catch (IOException e) {
                        // TODO:
                    } catch (URISyntaxException r) {
                        // TODO:
                    }
                }
            } else if (Utilities.appCustomization().equals("desitin")) {
                if (Desktop.isDesktopSupported()) {
                    try {
                        Desktop.getDesktop().browse(
                                new URI("http://www.desitin.ch/produkte/arzneimittel-kompendium-apps/"));
                    } catch (IOException e) {
                        // TODO:
                    } catch (URISyntaxException r) {
                        // TODO:
                    }
                }
            } else if (Utilities.appCustomization().equals("meddrugs")) {
                if (Desktop.isDesktopSupported()) {
                    try {
                        if (Utilities.appLanguage().equals("de"))
                            Desktop.getDesktop().browse(new URI("http://www.med-drugs.ch"));
                        else if (Utilities.appLanguage().equals("fr"))
                            Desktop.getDesktop()
                                    .browse(new URI("http://www.med-drugs.ch/index.cfm?&newlang=fr"));
                    } catch (IOException e) {
                        // TODO:
                    } catch (URISyntaxException r) {
                        // TODO:
                    }
                }
            } else if (Utilities.appCustomization().equals("zurrose")) {
                if (Desktop.isDesktopSupported()) {
                    try {
                        Desktop.getDesktop().browse(new URI("www.zurrose.ch/amiko"));
                    } catch (IOException e) {
                        // TODO:
                    } catch (URISyntaxException r) {
                        // TODO:
                    }
                }
            }
        }
    });
    about_item.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent event) {
            AmiKoDialogs ad = new AmiKoDialogs(Utilities.appLanguage(), Utilities.appCustomization());
            ad.AboutDialog();
        }
    });

    // Container
    final Container container = jframe.getContentPane();
    container.setBackground(Color.WHITE);
    container.setLayout(new BorderLayout());

    // ==== Toolbar =====
    container.add(toolBar, BorderLayout.NORTH);

    // ==== Left panel ====
    JPanel left_panel = new JPanel();
    left_panel.setBackground(Color.WHITE);
    left_panel.setLayout(new GridBagLayout());

    GridBagConstraints gbc = new GridBagConstraints();
    gbc.fill = GridBagConstraints.BOTH;
    gbc.anchor = GridBagConstraints.CENTER;
    gbc.insets = new Insets(2, 2, 2, 2);

    // ---- Search field ----
    final SearchField searchField = new SearchField("Suche Prparat");
    if (Utilities.appLanguage().equals("fr"))
        searchField.setText("Recherche Specialit");
    gbc.gridx = 0;
    gbc.gridy = 0;
    gbc.gridwidth = gbc.gridheight = 1;
    gbc.weightx = gbc.weighty = 0.0;
    // --> container.add(searchField, gbc);
    left_panel.add(searchField, gbc);

    // ---- Buttons ----
    // Names
    String l_title = "Prparat";
    String l_author = "Inhaberin";
    String l_atccode = "Wirkstoff / ATC Code";
    String l_regnr = "Zulassungsnummer";
    String l_ingredient = "Wirkstoff";
    String l_therapy = "Therapie";
    String l_search = "Suche";

    if (Utilities.appLanguage().equals("fr")) {
        l_title = "Spcialit";
        l_author = "Titulaire";
        l_atccode = "Principe Active / Code ATC";
        l_regnr = "Nombre Enregistration";
        l_ingredient = "Principe Active";
        l_therapy = "Thrapie";
        l_search = "Recherche";
    }

    ButtonGroup bg = new ButtonGroup();

    JToggleButton but_title = new JToggleButton(l_title);
    setupToggleButton(but_title);
    bg.add(but_title);
    gbc.gridx = 0;
    gbc.gridy = 1;
    gbc.gridwidth = gbc.gridheight = 1;
    gbc.weightx = gbc.weighty = 0.0;
    // --> container.add(but_title, gbc);
    left_panel.add(but_title, gbc);

    JToggleButton but_auth = new JToggleButton(l_author);
    setupToggleButton(but_auth);
    bg.add(but_auth);
    gbc.gridx = 0;
    gbc.gridy += 1;
    gbc.gridwidth = gbc.gridheight = 1;
    gbc.weightx = gbc.weighty = 0.0;
    // --> container.add(but_auth, gbc);
    left_panel.add(but_auth, gbc);

    JToggleButton but_atccode = new JToggleButton(l_atccode);
    setupToggleButton(but_atccode);
    bg.add(but_atccode);
    gbc.gridx = 0;
    gbc.gridy += 1;
    gbc.gridwidth = gbc.gridheight = 1;
    gbc.weightx = gbc.weighty = 0.0;
    // --> container.add(but_atccode, gbc);
    left_panel.add(but_atccode, gbc);

    JToggleButton but_regnr = new JToggleButton(l_regnr);
    setupToggleButton(but_regnr);
    bg.add(but_regnr);
    gbc.gridx = 0;
    gbc.gridy += 1;
    gbc.gridwidth = gbc.gridheight = 1;
    gbc.weightx = gbc.weighty = 0.0;
    // --> container.add(but_regnr, gbc);
    left_panel.add(but_regnr, gbc);

    JToggleButton but_therapy = new JToggleButton(l_therapy);
    setupToggleButton(but_therapy);
    bg.add(but_therapy);
    gbc.gridx = 0;
    gbc.gridy += 1;
    gbc.gridwidth = gbc.gridheight = 1;
    gbc.weightx = gbc.weighty = 0.0;
    // --> container.add(but_therapy, gbc);
    left_panel.add(but_therapy, gbc);

    // ---- Card layout ----
    final CardLayout cardl = new CardLayout();
    cardl.setHgap(-4); // HACK to make things look better!!
    final JPanel p_results = new JPanel(cardl);
    m_list_titles = new ListPanel();
    m_list_auths = new ListPanel();
    m_list_regnrs = new ListPanel();
    m_list_atccodes = new ListPanel();
    m_list_ingredients = new ListPanel();
    m_list_therapies = new ListPanel();
    // Contraints
    gbc.fill = GridBagConstraints.BOTH;
    gbc.gridx = 0;
    gbc.gridy += 1;
    gbc.gridwidth = 1;
    gbc.gridheight = 10;
    gbc.weightx = 1.0;
    gbc.weighty = 1.0;
    //
    p_results.add(m_list_titles, l_title);
    p_results.add(m_list_auths, l_author);
    p_results.add(m_list_regnrs, l_regnr);
    p_results.add(m_list_atccodes, l_atccode);
    p_results.add(m_list_ingredients, l_ingredient);
    p_results.add(m_list_therapies, l_therapy);

    // --> container.add(p_results, gbc);
    left_panel.add(p_results, gbc);
    left_panel.setBorder(null);
    // First card to show
    cardl.show(p_results, l_title);

    // ==== Right panel ====
    JPanel right_panel = new JPanel();
    right_panel.setBackground(Color.WHITE);
    right_panel.setLayout(new GridBagLayout());

    // ---- Section titles ----
    m_section_titles = null;
    if (Utilities.appLanguage().equals("de")) {
        m_section_titles = new IndexPanel(SectionTitle_DE);
    } else if (Utilities.appLanguage().equals("fr")) {
        m_section_titles = new IndexPanel(SectionTitle_FR);
    }
    m_section_titles.setMinimumSize(new Dimension(150, 150));
    m_section_titles.setMaximumSize(new Dimension(320, 1000));

    // ---- Fachinformation ----
    m_web_panel = new WebPanel2();
    m_web_panel.setMinimumSize(new Dimension(320, 150));

    // Add JSplitPane on the RIGHT
    final int Divider_location = 150;
    final int Divider_size = 10;
    final JSplitPane split_pane_right = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, m_section_titles,
            m_web_panel);
    split_pane_right.setOneTouchExpandable(true);
    split_pane_right.setDividerLocation(Divider_location);
    split_pane_right.setDividerSize(Divider_size);

    // Add JSplitPane on the LEFT
    JSplitPane split_pane_left = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, left_panel,
            split_pane_right /* right_panel */);
    split_pane_left.setOneTouchExpandable(true);
    split_pane_left.setDividerLocation(320); // Sets the pane divider location
    split_pane_left.setDividerSize(Divider_size);
    container.add(split_pane_left, BorderLayout.CENTER);

    // Add status bar on the bottom
    JPanel statusPanel = new JPanel();
    statusPanel.setPreferredSize(new Dimension(jframe.getWidth(), 16));
    statusPanel.setLayout(new BoxLayout(statusPanel, BoxLayout.X_AXIS));
    container.add(statusPanel, BorderLayout.SOUTH);

    final JLabel m_status_label = new JLabel("");
    m_status_label.setHorizontalAlignment(SwingConstants.LEFT);
    statusPanel.add(m_status_label);

    // Add mouse listener
    searchField.addMouseListener(new MouseAdapter() {
        @Override
        public void mouseClicked(MouseEvent e) {
            searchField.setText("");
        }
    });

    final String final_title = l_title;
    final String final_author = l_author;
    final String final_atccode = l_atccode;
    final String final_regnr = l_regnr;
    final String final_therapy = l_therapy;
    final String final_search = l_search;

    // Internal class that implements switching between buttons
    final class Toggle {
        public void toggleButton(JToggleButton jbn) {
            for (int i = 0; i < list_of_buttons.length; ++i) {
                if (jbn == list_of_buttons[i])
                    list_of_buttons[i].setSelected(true);
                else
                    list_of_buttons[i].setSelected(false);
            }
        }
    }
    ;

    // ------ Add toolbar action listeners ------
    selectAipsButton.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent event) {
            new Toggle().toggleButton(selectAipsButton);
            // Set state 'aips'
            if (!m_curr_uistate.getUseMode().equals("aips")) {
                m_curr_uistate.setUseMode("aips");
                // Show middle pane
                split_pane_right.setDividerSize(Divider_size);
                split_pane_right.setDividerLocation(Divider_location);
                m_section_titles.setVisible(true);
                //
                SwingUtilities.invokeLater(new Runnable() {
                    @Override
                    public void run() {
                        m_start_time = System.currentTimeMillis();
                        m_query_str = searchField.getText();
                        int num_hits = retrieveAipsSearchResults(false);
                        m_status_label.setText(med_search.size() + " Suchresultate in "
                                + (System.currentTimeMillis() - m_start_time) / 1000.0f + " Sek.");
                        //
                        if (med_index < 0 && prev_med_index >= 0)
                            med_index = prev_med_index;
                        m_web_panel.updateText();
                        if (num_hits == 0) {
                            m_web_panel.emptyPage();
                        }
                    }
                });
            }
        }
    });
    selectFavoritesButton.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent event) {
            new Toggle().toggleButton(selectFavoritesButton);
            // Set state 'favorites'
            if (!m_curr_uistate.getUseMode().equals("favorites")) {
                m_curr_uistate.setUseMode("favorites");
                // Show middle pane
                split_pane_right.setDividerSize(Divider_size);
                split_pane_right.setDividerLocation(Divider_location);
                m_section_titles.setVisible(true);
                //
                SwingUtilities.invokeLater(new Runnable() {
                    @Override
                    public void run() {
                        m_start_time = System.currentTimeMillis();
                        // m_query_str = searchField.getText();
                        // Clear the search container
                        med_search.clear();
                        for (String regnr : favorite_meds_set) {
                            List<Medication> meds = m_sqldb.searchRegNr(regnr);
                            if (!meds.isEmpty()) { // Add med database ID
                                med_search.add(meds.get(0));
                            }
                        }
                        // Sort list of meds
                        Collections.sort(med_search, new Comparator<Medication>() {
                            @Override
                            public int compare(final Medication m1, final Medication m2) {
                                return m1.getTitle().compareTo(m2.getTitle());
                            }
                        });

                        sTitle();
                        cardl.show(p_results, final_title);

                        m_status_label.setText(med_search.size() + " Suchresultate in "
                                + (System.currentTimeMillis() - m_start_time) / 1000.0f + " Sek.");
                    }
                });
            }
        }
    });
    selectInteractionsButton.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent event) {
            new Toggle().toggleButton(selectInteractionsButton);
            // Set state 'interactions'
            if (!m_curr_uistate.getUseMode().equals("interactions")) {
                m_curr_uistate.setUseMode("interactions");
                // Show middle pane
                split_pane_right.setDividerSize(Divider_size);
                split_pane_right.setDividerLocation(Divider_location);
                m_section_titles.setVisible(true);
                //
                SwingUtilities.invokeLater(new Runnable() {
                    @Override
                    public void run() {
                        m_query_str = searchField.getText();
                        retrieveAipsSearchResults(false);
                        // Switch to interaction mode
                        m_web_panel.updateInteractionsCart();
                        m_web_panel.repaint();
                        m_web_panel.validate();
                    }
                });
            }
        }
    });
    selectShoppingCartButton.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent event) {
            String email_adr = m_prefs.get("emailadresse", "");
            if (email_adr != null && email_adr.length() > 2) // Two chars is the minimum lenght for an email address
                m_preferences_ok = true;
            if (m_preferences_ok) {
                m_preferences_ok = false; // Check always
                new Toggle().toggleButton(selectShoppingCartButton);
                // Set state 'shopping'
                if (!m_curr_uistate.getUseMode().equals("shopping")) {
                    m_curr_uistate.setUseMode("shopping");
                    // Show middle pane
                    split_pane_right.setDividerSize(Divider_size);
                    split_pane_right.setDividerLocation(Divider_location);
                    m_section_titles.setVisible(true);
                    // Set right panel title
                    m_web_panel.setTitle(m_rb.getString("shoppingCart"));
                    // Switch to shopping cart
                    int index = 1;
                    if (m_shopping_cart != null) {
                        index = m_shopping_cart.getCartIndex();
                        m_web_panel.loadShoppingCartWithIndex(index);
                        // m_shopping_cart.printShoppingBasket();
                    }
                    // m_web_panel.updateShoppingHtml();
                    m_web_panel.updateListOfPackages();
                    if (m_first_pass == true) {
                        m_first_pass = false;
                        if (Utilities.appCustomization().equals("ywesee"))
                            med_search = m_sqldb.searchAuth("ibsa");
                        else if (Utilities.appCustomization().equals("desitin"))
                            med_search = m_sqldb.searchAuth("desitin");
                        sAuth();
                        cardl.show(p_results, final_author);
                    }
                }
            } else {
                selectShoppingCartButton.setSelected(false);
                settingsPage.display();
            }
        }
    });
    selectComparisonCartButton.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent event) {
            new Toggle().toggleButton(selectComparisonCartButton);
            // Set state 'comparison'
            if (!m_curr_uistate.getUseMode().equals("comparison")) {
                m_curr_uistate.setUseMode("comparison");
                // Hide middle pane
                m_section_titles.setVisible(false);
                split_pane_right.setDividerLocation(0);
                split_pane_right.setDividerSize(0);
                //
                SwingUtilities.invokeLater(new Runnable() {
                    @Override
                    public void run() {
                        m_start_time = System.currentTimeMillis();
                        // Set right panel title
                        m_web_panel.setTitle(getTitle("priceComp"));
                        if (med_index >= 0) {
                            if (med_id != null && med_index < med_id.size()) {
                                Medication m = m_sqldb.getMediWithId(med_id.get(med_index));
                                String atc_code = m.getAtcCode();
                                if (atc_code != null) {
                                    String atc = atc_code.split(";")[0];
                                    m_web_panel.fillComparisonBasket(atc);
                                    m_web_panel.updateComparisonCartHtml();
                                    // Update pane on the left
                                    retrieveAipsSearchResults(false);
                                }
                            }
                        }

                        m_status_label.setText(rose_search.size() + " Suchresultate in "
                                + (System.currentTimeMillis() - m_start_time) / 1000.0f + " Sek.");
                    }
                });
            }
        }
    });

    // ------ Add keylistener to text field (type as you go feature) ------
    searchField.addKeyListener(new KeyAdapter() {
        @Override
        public void keyTyped(KeyEvent e) { // keyReleased(KeyEvent e)
            // invokeLater potentially in the wrong place... more testing
            // required
            SwingUtilities.invokeLater(new Runnable() {
                @Override
                public void run() {
                    if (m_curr_uistate.isLoadCart())
                        m_curr_uistate.restoreUseMode();
                    m_start_time = System.currentTimeMillis();
                    m_query_str = searchField.getText();
                    // Queries for SQLite DB
                    if (!m_query_str.isEmpty()) {
                        if (m_query_type == 0) {
                            if (m_curr_uistate.isComparisonMode()) {
                                rose_search = m_rosedb.searchTitle(m_query_str);
                            } else {
                                med_search = m_sqldb.searchTitle(m_query_str);
                                if (m_curr_uistate.databaseUsed().equals("favorites"))
                                    retrieveFavorites();
                            }
                            sTitle();
                            cardl.show(p_results, final_title);
                        } else if (m_query_type == 1) {
                            if (m_curr_uistate.isComparisonMode()) {
                                rose_search = m_rosedb.searchSupplier(m_query_str);
                            } else {
                                med_search = m_sqldb.searchAuth(m_query_str);
                                if (m_curr_uistate.databaseUsed().equals("favorites"))
                                    retrieveFavorites();
                            }
                            sAuth();
                            cardl.show(p_results, final_author);
                        } else if (m_query_type == 2) {
                            if (m_curr_uistate.isComparisonMode()) {
                                rose_search = m_rosedb.searchATC(m_query_str);
                            } else {
                                med_search = m_sqldb.searchATC(m_query_str);
                                if (m_curr_uistate.databaseUsed().equals("favorites"))
                                    retrieveFavorites();
                            }
                            sATC();
                            cardl.show(p_results, final_atccode);
                        } else if (m_query_type == 3) {
                            if (m_curr_uistate.isComparisonMode()) {
                                rose_search = m_rosedb.searchEan(m_query_str);
                            } else {
                                med_search = m_sqldb.searchRegNr(m_query_str);
                                if (m_curr_uistate.databaseUsed().equals("favorites"))
                                    retrieveFavorites();
                            }
                            sRegNr();
                            cardl.show(p_results, final_regnr);
                        } else if (m_query_type == 4) {
                            if (m_curr_uistate.isComparisonMode()) {
                                rose_search = m_rosedb.searchTherapy(m_query_str);
                            } else {
                                med_search = m_sqldb.searchApplication(m_query_str);
                                if (m_curr_uistate.databaseUsed().equals("favorites"))
                                    retrieveFavorites();
                            }
                            sTherapy();
                            cardl.show(p_results, final_therapy);
                        } else {
                            // do nothing
                        }
                        int num_hits = 0;
                        if (m_curr_uistate.isComparisonMode())
                            num_hits = rose_search.size();
                        else
                            num_hits = med_search.size();
                        m_status_label.setText(num_hits + " Suchresultate in "
                                + (System.currentTimeMillis() - m_start_time) / 1000.0f + " Sek.");

                    }
                }
            });
        }
    });

    // Add actionlisteners
    but_title.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent ae) {
            if (m_curr_uistate.isLoadCart())
                m_curr_uistate.restoreUseMode();
            searchField.setText(final_search + " " + final_title);
            m_curr_uistate.setQueryType(m_query_type = 0);
            sTitle();
            cardl.show(p_results, final_title);
        }
    });
    but_auth.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent ae) {
            if (m_curr_uistate.isLoadCart())
                m_curr_uistate.restoreUseMode();
            searchField.setText(final_search + " " + final_author);
            m_curr_uistate.setQueryType(m_query_type = 1);
            sAuth();
            cardl.show(p_results, final_author);
        }
    });
    but_atccode.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent ae) {
            if (m_curr_uistate.isLoadCart())
                m_curr_uistate.restoreUseMode();
            searchField.setText(final_search + " " + final_atccode);
            m_curr_uistate.setQueryType(m_query_type = 2);
            sATC();
            cardl.show(p_results, final_atccode);
        }
    });
    but_regnr.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent ae) {
            if (m_curr_uistate.isLoadCart())
                m_curr_uistate.restoreUseMode();
            searchField.setText(final_search + " " + final_regnr);
            m_curr_uistate.setQueryType(m_query_type = 3);
            sRegNr();
            cardl.show(p_results, final_regnr);
        }
    });
    but_therapy.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent ae) {
            if (m_curr_uistate.isLoadCart())
                m_curr_uistate.restoreUseMode();
            searchField.setText(final_search + " " + final_therapy);
            m_curr_uistate.setQueryType(m_query_type = 4);
            sTherapy();
            cardl.show(p_results, final_therapy);
        }
    });

    // Display window
    jframe.pack();
    // jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    jframe.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
    // jframe.setAlwaysOnTop(true);
    jframe.setVisible(true);

    // Check if user has selected an alternative database
    /*
     * NOTE: 21/11/2013: This solution is put on ice. Favored is a solution
     * where the database selected by the user is saved in a default folder
     * (see variable "m_application_data_folder")
     */
    /*
     * try { WindowSaver.loadSettings(jframe); String database_path =
     * WindowSaver.getDbPath(); if (database_path!=null)
     * m_sqldb.loadDBFromPath(database_path); } catch(IOException e) {
     * e.printStackTrace(); }
     */
    // Load AIPS database
    selectAipsButton.setSelected(true);
    selectFavoritesButton.setSelected(false);
    m_curr_uistate.setUseMode("aips");
    med_search = m_sqldb.searchTitle("");
    sTitle(); // Used instead of sTitle (which is slow)
    cardl.show(p_results, final_title);

    // Add menu item listeners
    updatedb_item.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent event) {
            if (m_mutex_update == false) {
                m_mutex_update = true;
                String db_file = m_maindb_update.doIt(jframe, Utilities.appLanguage(),
                        Utilities.appCustomization(), m_application_data_folder, m_full_db_update);
                // ... and update time
                if (m_full_db_update == true) {
                    DateTime dT = new DateTime();
                    m_prefs.put("updateTime", dT.now().toString());
                }
                //
                if (!db_file.isEmpty()) {
                    // Save db path (can't hurt)
                    WindowSaver.setDbPath(db_file);
                }
            }
        }
    });

    choosedb_item.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent event) {
            String db_file = m_maindb_update.chooseFromFile(jframe, Utilities.appLanguage(),
                    Utilities.appCustomization(), m_application_data_folder);
            // ... and update time
            DateTime dT = new DateTime();
            m_prefs.put("updateTime", dT.now().toString());
            //
            if (!db_file.isEmpty()) {
                // Save db path (can't hurt)
                WindowSaver.setDbPath(db_file);
            }
        }
    });

    /**
     * Observers
     */
    // Attach observer to 'm_update'
    m_maindb_update.addObserver(new Observer() {
        @Override
        public void update(Observable o, Object arg) {
            System.out.println(arg);
            // Reset flag
            m_full_db_update = true;
            m_mutex_update = false;
            // Refresh some stuff after update
            loadAuthors();
            m_emailer.loadMap();
            settingsPage.load_gln_codes();
            if (m_shopping_cart != null) {
                m_shopping_cart.load_conditions();
                m_shopping_cart.load_glns();
            }
            // Empty shopping basket
            if (m_curr_uistate.isShoppingMode()) {
                m_shopping_basket.clear();
                int index = m_shopping_cart.getCartIndex();
                if (index > 0)
                    m_web_panel.saveShoppingCartWithIndex(index);
                m_web_panel.updateShoppingHtml();
            }
            if (m_curr_uistate.isComparisonMode())
                m_web_panel.setTitle(getTitle("priceComp"));
        }
    });

    // Attach observer to 'm_emailer'
    m_emailer.addObserver(new Observer() {
        @Override
        public void update(Observable o, Object arg) {
            System.out.println(arg);
            // Empty shopping basket
            m_shopping_basket.clear();
            int index = m_shopping_cart.getCartIndex();
            if (index > 0)
                m_web_panel.saveShoppingCartWithIndex(index);
            m_web_panel.updateShoppingHtml();
        }
    });

    // Attach observer to "m_comparison_cart"
    m_comparison_cart.addObserver(new Observer() {
        @Override
        public void update(Observable o, Object arg) {
            System.out.println(arg);
            m_web_panel.setTitle(getTitle("priceComp"));
            m_comparison_cart.clearUploadList();
            m_web_panel.updateComparisonCartHtml();
            new AmiKoDialogs(Utilities.appLanguage(), Utilities.appCustomization()).UploadDialog((String) arg);
        }
    });

    // If command line options are provided start app with a particular title or eancode
    if (commandLineOptionsProvided()) {
        if (!CML_OPT_TITLE.isEmpty())
            startAppWithTitle(but_title);
        else if (!CML_OPT_EANCODE.isEmpty())
            startAppWithEancode(but_regnr);
        else if (!CML_OPT_REGNR.isEmpty())
            startAppWithRegnr(but_regnr);
    }

    // Start timer
    Timer global_timer = new Timer();
    // Time checks all 2 minutes (120'000 milliseconds)
    global_timer.scheduleAtFixedRate(new TimerTask() {
        @Override
        public void run() {
            checkIfUpdateRequired(updatedb_item);
        }
    }, 2 * 60 * 1000, 2 * 60 * 1000);
}

From source file:lcmc.gui.resources.ServiceInfo.java

/** Sets service parameters with values from resourceNode hash. */
void setParameters(final Map<String, String> resourceNode) {
    if (resourceNode == null) {
        return;// ww w.  j av  a  2  s. com
    }
    final boolean infoPanelOk = isInfoPanelOk();
    final CRMXML crmXML = getBrowser().getCRMXML();
    if (crmXML == null) {
        Tools.appError("crmXML is null");
        return;
    }
    /* Attributes */
    final String[] params = crmXML.getParameters(resourceAgent, getService().isMaster());
    final ClusterStatus cs = getBrowser().getClusterStatus();
    if (params != null) {
        boolean allMetaAttrsAreDefaultValues = true;
        boolean allSavedMetaAttrsAreDefaultValues = true;
        final String newMetaAttrsId = cs.getMetaAttrsId(getService().getHeartbeatId());
        if ((savedMetaAttrsId == null && newMetaAttrsId != null)
                || (savedMetaAttrsId != null && !savedMetaAttrsId.equals(newMetaAttrsId))) {
            /* newly generated operations id, reload all other combo
               boxes. */
            getBrowser().reloadAllComboBoxes(this);
        }
        savedMetaAttrsId = newMetaAttrsId;
        String refCRMId = cs.getMetaAttrsRef(getService().getHeartbeatId());
        final ServiceInfo metaAttrInfoRef = getBrowser().getServiceInfoFromCRMId(refCRMId);
        if (refCRMId == null) {
            refCRMId = getService().getHeartbeatId();
        }
        resourceNode.put(PCMK_ID, getService().getHeartbeatId());
        resourceNode.put(GUI_ID, getService().getId());
        for (String param : params) {
            String value;
            if (isMetaAttr(param) && refCRMId != null) {
                value = cs.getParameter(refCRMId, param, false);
            } else {
                value = resourceNode.get(param);
            }
            final String defaultValue = getParamDefault(param);
            if (value == null) {
                value = defaultValue;
            }
            if (value == null) {
                value = "";
            }
            final String oldValue = getResource().getValue(param);
            if (isMetaAttr(param)) {
                if (!Tools.areEqual(defaultValue, value)) {
                    allMetaAttrsAreDefaultValues = false;
                }
                if (!Tools.areEqual(defaultValue, oldValue)) {
                    allSavedMetaAttrsAreDefaultValues = false;
                }
            }
            if (infoPanelOk) {
                final Widget wi = getWidget(param, null);
                final boolean haveChanged = !Tools.areEqual(value, oldValue)
                        || !Tools.areEqual(defaultValue, getResource().getDefaultValue(param));
                if (haveChanged || (metaAttrInfoRef != null && isMetaAttr(param))) {
                    getResource().setValue(param, value);
                    /* set default value, because it can change in
                     * rsc_defaults. */
                    getResource().setDefaultValue(param, defaultValue);
                    if (wi != null && metaAttrInfoRef == null) {
                        wi.setValue(value);
                    }
                }
            }
        }
        if (!Tools.areEqual(metaAttrInfoRef, savedMetaAttrInfoRef)) {
            savedMetaAttrInfoRef = metaAttrInfoRef;
            if (sameAsMetaAttrsWi != null) {
                if (metaAttrInfoRef == null) {
                    if (allMetaAttrsAreDefaultValues) {
                        if (!allSavedMetaAttrsAreDefaultValues) {
                            sameAsMetaAttrsWi.setValue(META_ATTRS_DEFAULT_VALUES_TEXT);
                        }
                    } else {
                        if (metaAttrInfoRef != null) {
                            sameAsMetaAttrsWi.setValue(Widget.NOTHING_SELECTED);
                        }
                    }
                } else {
                    sameAsMetaAttrsWi.setValue(metaAttrInfoRef);
                }
            }
        }
    }

    /* set scores */
    for (Host host : getBrowser().getClusterHosts()) {
        final HostInfo hi = host.getBrowser().getHostInfo();
        final HostLocation hostLocation = cs.getScore(getService().getHeartbeatId(), hi.getName(), false);
        final HostLocation savedLocation = savedHostLocations.get(hi);
        if (!Tools.areEqual(hostLocation, savedLocation)) {
            if (hostLocation == null) {
                savedHostLocations.remove(hi);
            } else {
                savedHostLocations.put(hi, hostLocation);
            }
            if (infoPanelOk) {
                final Widget wi = scoreComboBoxHash.get(hi);
                if (wi != null) {
                    String score = null;
                    String op = null;
                    if (hostLocation != null) {
                        score = hostLocation.getScore();
                        op = hostLocation.getOperation();
                    }
                    wi.setValue(score);
                    final JLabel label = wi.getLabel();
                    final String text = getHostLocationLabel(hi.getName(), op);
                    label.setText(text);
                }
            }
        }
    }

    /* set ping constraint */
    final HostLocation hostLocation = cs.getPingScore(getService().getHeartbeatId(), false);
    String pingOperation = null;
    if (hostLocation != null) {
        final String op = hostLocation.getOperation();
        final String value = hostLocation.getValue();
        if ("eq".equals(op) && "0".equals(value)) {
            pingOperation = "eq0";
        } else {
            pingOperation = hostLocation.getOperation();
        }
    }
    if (!Tools.areEqual(pingOperation, savedPingOperation)) {
        savedPingOperation = pingOperation;
    }
    if (infoPanelOk) {
        final Widget wi = pingComboBox;
        if (wi != null) {
            if (pingOperation == null) {
                wi.setValue(Widget.NOTHING_SELECTED);
            } else {
                wi.setValue(PING_ATTRIBUTES.get(pingOperation));
            }
        }
    }

    boolean allAreDefaultValues = true;
    boolean allSavedAreDefaultValues = true;
    /* Operations */
    final String newOperationsId = cs.getOperationsId(getService().getHeartbeatId());
    if ((savedOperationsId == null && newOperationsId != null)
            || (savedOperationsId != null && !savedOperationsId.equals(newOperationsId))) {
        /* newly generated operations id, reload all other combo
           boxes. */
        getBrowser().reloadAllComboBoxes(this);
    }

    savedOperationsId = newOperationsId;
    String refCRMId = cs.getOperationsRef(getService().getHeartbeatId());
    final ServiceInfo operationIdRef = getBrowser().getServiceInfoFromCRMId(refCRMId);
    if (refCRMId == null) {
        refCRMId = getService().getHeartbeatId();
    }
    mSavedOperationsLock.lock();
    for (final String op : getResourceAgent().getOperationNames()) {
        for (final String param : getBrowser().getCRMOperationParams(op)) {
            String defaultValue = resourceAgent.getOperationDefault(op, param);
            if (defaultValue == null) {
                continue;
            }
            if (ClusterBrowser.HB_OP_IGNORE_DEFAULT.contains(op)) {
                defaultValue = "";
            }
            String value = cs.getOperation(refCRMId, op, param);
            if (value == null || "".equals(value)) {
                value = getOpDefaultsDefault(param);
            }
            if (value == null) {
                value = "";
            }
            if (!defaultValue.equals(value)) {
                allAreDefaultValues = false;
            }
            if (!defaultValue.equals(savedOperation.get(op, param))) {
                allSavedAreDefaultValues = false;
            }
        }
    }
    boolean sameAs = false;
    if (!Tools.areEqual(operationIdRef, savedOperationIdRef)) {
        savedOperationIdRef = operationIdRef;
        if (sameAsOperationsWi != null) {
            if (operationIdRef == null) {
                if (allAreDefaultValues) { // TODO: don't have it yet.
                    if (!allSavedAreDefaultValues) {
                        sameAsOperationsWi.setValue(OPERATIONS_DEFAULT_VALUES_TEXT);
                    }
                } else {
                    if (savedOperationIdRef != null) {
                        sameAsOperationsWi.setValue(Widget.NOTHING_SELECTED);
                    }
                }
            } else {
                sameAs = false;
                sameAsOperationsWi.setValue(operationIdRef);
            }
        }
    }
    if (!sameAs) {
        for (final String op : getResourceAgent().getOperationNames()) {
            for (final String param : getBrowser().getCRMOperationParams(op)) {
                String defaultValue = resourceAgent.getOperationDefault(op, param);
                if (defaultValue == null) {
                    continue;
                }
                if (ClusterBrowser.HB_OP_IGNORE_DEFAULT.contains(op)) {
                    defaultValue = "";
                }
                String value = cs.getOperation(refCRMId, op, param);
                if (value == null || "".equals(value)) {
                    value = getOpDefaultsDefault(param);
                }
                if (value == null) {
                    value = "";
                }
                if (!value.equals(savedOperation.get(op, param))) {
                    savedOperation.put(op, param, value);
                    if (infoPanelOk) {
                        mOperationsComboBoxHashReadLock.lock();
                        final Widget wi = operationsComboBoxHash.get(op, param);
                        mOperationsComboBoxHashReadLock.unlock();
                        SwingUtilities.invokeLater(new Runnable() {
                            @Override
                            public void run() {
                                wi.setEnabled(operationIdRef == null);
                            }
                        });
                        if (value != null) {
                            wi.setValue(value);
                        }
                    }
                }
            }
        }
    }
    mSavedOperationsLock.unlock();
    getService().setAvailable();
    if (cs.isOrphaned(getHeartbeatId(false))) {
        getService().setOrphaned(true);
        getService().setNew(false);
        final CloneInfo ci = getCloneInfo();
        if (ci != null) {
            ci.getService().setNew(false);
        }
    } else {
        getService().setOrphaned(false);
    }
}

From source file:lcmc.gui.resources.ServiceInfo.java

/**
 * Creates host score combo boxes with labels, one per host.
 *///from w w  w  .jav  a  2 s . c  o m
protected void addHostLocations(final JPanel optionsPanel, final int leftWidth, final int rightWidth) {
    int rows = 0;

    final JPanel panel = getParamPanel(Tools.getString("ClusterBrowser.HostLocations"));
    panel.setLayout(new SpringLayout());

    for (final Host host : getBrowser().getClusterHosts()) {
        final HostInfo hi = host.getBrowser().getHostInfo();
        final Map<String, String> abbreviations = new HashMap<String, String>();
        abbreviations.put("i", CRMXML.INFINITY_STRING);
        abbreviations.put("+", CRMXML.PLUS_INFINITY_STRING);
        abbreviations.put("I", CRMXML.INFINITY_STRING);
        abbreviations.put("a", "ALWAYS");
        abbreviations.put("n", "NEVER");
        final Widget wi = new Widget(null,
                new String[] { null, "0", "2", "ALWAYS", "NEVER", CRMXML.INFINITY_STRING,
                        CRMXML.MINUS_INFINITY_STRING, CRMXML.INFINITY_STRING },
                null, /* units */
                null, /* type */
                "^((-?\\d*|(-|\\+)?" + CRMXML.INFINITY_STRING + "))|ALWAYS|NEVER|@NOTHING_SELECTED@$",
                rightWidth, abbreviations, new AccessMode(ConfigData.AccessType.ADMIN, false));
        wi.setEditable(true);
        final Widget prevWi = scoreComboBoxHash.get(hi);
        scoreComboBoxHash.put(hi, wi);

        /* set selected host scores in the combo box from
         * savedHostLocations */
        if (prevWi == null) {
            final HostLocation hl = savedHostLocations.get(hi);
            String hsSaved = null;
            if (hl != null) {
                hsSaved = hl.getScore();
            }
            wi.setValue(hsSaved);
        } else {
            wi.setValue(prevWi.getValue());
        }
    }

    /* host score combo boxes */
    for (Host host : getBrowser().getClusterHosts()) {
        final HostInfo hi = host.getBrowser().getHostInfo();
        final Widget wi = scoreComboBoxHash.get(hi);
        String op = null;
        final HostLocation hl = savedHostLocations.get(hi);
        if (hl != null) {
            op = hl.getOperation();
        }
        final String text = getHostLocationLabel(hi.getName(), op);
        final JLabel label = new JLabel(text);
        final String onText = getHostLocationLabel(hi.getName(), "eq");
        final String notOnText = getHostLocationLabel(hi.getName(), "ne");
        label.addMouseListener(new MouseListener() {
            @Override
            public final void mouseClicked(final MouseEvent e) {
                /* do nothing */
            }

            @Override
            public final void mouseEntered(final MouseEvent e) {
                /* do nothing */
            }

            @Override
            public final void mouseExited(final MouseEvent e) {
                /* do nothing */
            }

            @Override
            public final void mousePressed(final MouseEvent e) {
                final String currentText = label.getText();
                SwingUtilities.invokeLater(new Runnable() {
                    @Override
                    public void run() {
                        if (currentText.equals(onText)) {
                            label.setText(notOnText);
                        } else if (currentText.equals(notOnText)) {
                            label.setText(onText);
                        } else {
                            /* wierd things */
                            label.setText(onText);
                        }
                        final String[] params = getParametersFromXML();
                        setApplyButtons(CACHED_FIELD, params);
                    }
                });
            }

            @Override
            public final void mouseReleased(final MouseEvent e) {
                /* do nothing */
            }
        });
        wi.setLabel(label, "");
        addField(panel, label, wi, leftWidth, rightWidth, 0);
        rows++;
    }
    rows += addPingField(panel, leftWidth, rightWidth);

    SpringUtilities.makeCompactGrid(panel, rows, 2, /* rows, cols */
            1, 1, /* initX, initY */
            1, 1); /* xPad, yPad */
    optionsPanel.add(panel);
}

From source file:customize.swing.startMain.java

private void initComponents() {
    // JFormDesigner - Component initialization - DO NOT MODIFY  //GEN-BEGIN:initComponents
    // Generated using JFormDesigner Evaluation license - unknown
    panel1 = new JPanel();
    JPanel panel2 = new JPanel();
    JScrollPane scrollPane1 = new JScrollPane();
    JPanel panel3 = new JPanel();
    JPanel panel4 = new JPanel();
    JPanel panel5 = new JPanel();
    textField6 = new JTextField();
    JPanel panel6 = new JPanel();
    JLabel label1 = new JLabel();
    JPanel panel7 = new JPanel();
    JLabel label2 = new JLabel();
    JPanel panel8 = new JPanel();
    JLabel label3 = new JLabel();
    JPanel panel9 = new JPanel();
    textField2 = new JTextField();
    ButtonView = new JButton();
    JPanel panel10 = new JPanel();
    textField7 = new JTextField();
    JPanel panel11 = new JPanel();
    textField1 = new JTextField();
    JPanel panel12 = new JPanel();
    JLabel label4 = new JLabel();
    JPanel panel13 = new JPanel();
    CheckBox1 = new JCheckBox();
    CheckBox2 = new JCheckBox();
    JPanel panel14 = new JPanel();
    genButton = new JButton();
    JScrollPane scrollPane2 = new JScrollPane();
    JPanel panel15 = new JPanel();
    JPanel panel16 = new JPanel();
    TextField = new JTextField();
    JPanel panel17 = new JPanel();
    textField3 = new JTextField();
    JPanel panel18 = new JPanel();
    rootTextField = new JTextField();
    JPanel panel19 = new JPanel();
    PasswordField = new JPasswordField();
    JPanel panel20 = new JPanel();
    textField8 = new JTextField();
    JPanel panel21 = new JPanel();
    JLabel label5 = new JLabel();
    JPanel panel22 = new JPanel();
    JLabel label6 = new JLabel();
    JPanel panel23 = new JPanel();
    JLabel label7 = new JLabel();
    JPanel panel24 = new JPanel();
    JLabel label8 = new JLabel();
    JPanel panel25 = new JPanel();
    JLabel label9 = new JLabel();
    JScrollPane scrollPane3 = new JScrollPane();
    jscrollPane1 = new JTextPane();

    //======== panel1 ========
    {//  www.ja  va  2 s . c om

        // JFormDesigner evaluation mark
        panel1.setBorder(new javax.swing.border.CompoundBorder(
                new javax.swing.border.TitledBorder(new javax.swing.border.EmptyBorder(0, 0, 0, 0),
                        "JFormDesigner Evaluation", javax.swing.border.TitledBorder.CENTER,
                        javax.swing.border.TitledBorder.BOTTOM,
                        new java.awt.Font("Dialog", java.awt.Font.BOLD, 12), java.awt.Color.red),
                panel1.getBorder()));
        panel1.addPropertyChangeListener(new java.beans.PropertyChangeListener() {
            public void propertyChange(java.beans.PropertyChangeEvent e) {
                if ("border".equals(e.getPropertyName()))
                    throw new RuntimeException();
            }
        });

        panel1.setLayout(new GridLayoutManager(5, 1, new Insets(0, 0, 0, 0), -1, -1));

        //======== panel2 ========
        {
            panel2.setLayout(new GridLayoutManager(1, 3, new Insets(0, 0, 0, 0), -1, -1));

            //======== scrollPane1 ========
            {
                scrollPane1.setBorder(new TitledBorder("\u6587\u4ef6\u751f\u6210\u5730\u5740"));

                //======== panel3 ========
                {
                    panel3.setLayout(new GridLayoutManager(4, 2, new Insets(0, 0, 0, 0), -1, -1));

                    //======== panel4 ========
                    {
                        panel4.setLayout(new GridLayoutManager(1, 1, new Insets(0, 0, 0, 0), -1, -1));

                        //======== panel5 ========
                        {
                            panel5.setLayout(new GridLayoutManager(1, 1, new Insets(0, 0, 0, 0), -1, -1));

                            //---- textField6 ----
                            textField6.setEditable(true);
                            textField6.setEnabled(true);
                            textField6.setText("");
                            textField6.putClientProperty("html.disable", false);
                            panel5.add(textField6,
                                    new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_WEST,
                                            GridConstraints.FILL_HORIZONTAL,
                                            GridConstraints.SIZEPOLICY_CAN_GROW
                                                    | GridConstraints.SIZEPOLICY_WANT_GROW,
                                            GridConstraints.SIZEPOLICY_FIXED, null, null, null));
                        }
                        panel4.add(panel5, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER,
                                GridConstraints.FILL_BOTH,
                                GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW,
                                GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW,
                                null, null, null));
                    }
                    panel3.add(panel4,
                            new GridConstraints(1, 1, 1, 1, GridConstraints.ANCHOR_CENTER,
                                    GridConstraints.FILL_BOTH,
                                    GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW,
                                    GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW,
                                    null, null, null));

                    //======== panel6 ========
                    {
                        panel6.setLayout(new GridLayoutManager(1, 1, new Insets(0, 0, 0, 0), -1, -1));

                        //---- label1 ----
                        label1.setText("xml\u751f\u6210\u5728\u54ea\u4e2a\u5305\u540d\u4e0b");
                        panel6.add(label1,
                                new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER,
                                        GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED,
                                        GridConstraints.SIZEPOLICY_FIXED, null, null, null));
                    }
                    panel3.add(panel6,
                            new GridConstraints(1, 0, 1, 1, GridConstraints.ANCHOR_CENTER,
                                    GridConstraints.FILL_BOTH,
                                    GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW,
                                    GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW,
                                    null, null, null));

                    //======== panel7 ========
                    {
                        panel7.setLayout(new GridLayoutManager(1, 1, new Insets(0, 0, 0, 0), -1, -1));

                        //---- label2 ----
                        label2.setText("model\u751f\u6210\u5728\u54ea\u4e2a\u5305\u540d\u4e0b");
                        panel7.add(label2,
                                new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER,
                                        GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED,
                                        GridConstraints.SIZEPOLICY_FIXED, null, null, null));
                    }
                    panel3.add(panel7,
                            new GridConstraints(2, 0, 1, 1, GridConstraints.ANCHOR_CENTER,
                                    GridConstraints.FILL_BOTH,
                                    GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW,
                                    GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW,
                                    null, null, null));

                    //======== panel8 ========
                    {
                        panel8.setLayout(new GridLayoutManager(1, 1, new Insets(0, 0, 0, 0), -1, -1));

                        //---- label3 ----
                        label3.setText("\u6587\u4ef6\u7edf\u4e00\u751f\u6210\u8def\u5f84");
                        panel8.add(label3,
                                new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER,
                                        GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED,
                                        GridConstraints.SIZEPOLICY_FIXED, null, null, null));
                    }
                    panel3.add(panel8,
                            new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER,
                                    GridConstraints.FILL_BOTH,
                                    GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW,
                                    GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW,
                                    null, null, null));

                    //======== panel9 ========
                    {
                        panel9.setLayout(new GridLayoutManager(1, 2, new Insets(0, 0, 0, 0), -1, -1));
                        panel9.add(textField2,
                                new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_WEST,
                                        GridConstraints.FILL_HORIZONTAL,
                                        GridConstraints.SIZEPOLICY_CAN_GROW
                                                | GridConstraints.SIZEPOLICY_WANT_GROW,
                                        GridConstraints.SIZEPOLICY_FIXED, null, null, null));

                        //---- ButtonView ----
                        ButtonView.setText("\u6d4f\u89c8");
                        panel9.add(ButtonView,
                                new GridConstraints(0, 1, 1, 1, GridConstraints.ANCHOR_CENTER,
                                        GridConstraints.FILL_HORIZONTAL,
                                        GridConstraints.SIZEPOLICY_CAN_SHRINK
                                                | GridConstraints.SIZEPOLICY_CAN_GROW,
                                        GridConstraints.SIZEPOLICY_FIXED, null, null, null));
                    }
                    panel3.add(panel9,
                            new GridConstraints(0, 1, 1, 1, GridConstraints.ANCHOR_CENTER,
                                    GridConstraints.FILL_BOTH,
                                    GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW,
                                    GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW,
                                    null, null, null));

                    //======== panel10 ========
                    {
                        panel10.setLayout(new GridLayoutManager(1, 1, new Insets(0, 0, 0, 0), -1, -1));

                        //---- textField7 ----
                        textField7.setEditable(true);
                        textField7.setEnabled(true);
                        textField7.setText("");
                        textField7.putClientProperty("html.disable", true);
                        panel10.add(textField7,
                                new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_WEST,
                                        GridConstraints.FILL_HORIZONTAL,
                                        GridConstraints.SIZEPOLICY_CAN_GROW
                                                | GridConstraints.SIZEPOLICY_WANT_GROW,
                                        GridConstraints.SIZEPOLICY_FIXED, null, null, null));
                    }
                    panel3.add(panel10,
                            new GridConstraints(2, 1, 1, 1, GridConstraints.ANCHOR_CENTER,
                                    GridConstraints.FILL_BOTH,
                                    GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW,
                                    GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW,
                                    null, null, null));

                    //======== panel11 ========
                    {
                        panel11.setLayout(new GridLayoutManager(1, 1, new Insets(0, 0, 0, 0), -1, -1));

                        //---- textField1 ----
                        textField1.setEditable(true);
                        textField1.setEnabled(true);
                        textField1.setText("");
                        textField1.putClientProperty("html.disable", true);
                        panel11.add(textField1,
                                new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_WEST,
                                        GridConstraints.FILL_HORIZONTAL,
                                        GridConstraints.SIZEPOLICY_CAN_GROW
                                                | GridConstraints.SIZEPOLICY_WANT_GROW,
                                        GridConstraints.SIZEPOLICY_FIXED, null, null, null));
                    }
                    panel3.add(panel11,
                            new GridConstraints(3, 1, 1, 1, GridConstraints.ANCHOR_CENTER,
                                    GridConstraints.FILL_BOTH,
                                    GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW,
                                    GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW,
                                    null, null, null));

                    //======== panel12 ========
                    {
                        panel12.setLayout(new GridLayoutManager(1, 1, new Insets(0, 0, 0, 0), -1, -1));

                        //---- label4 ----
                        label4.setText("dao\u5c42\u751f\u6210\u5728\u54ea\u4e2a\u5305\u540d\u4e0b");
                        panel12.add(label4,
                                new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER,
                                        GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED,
                                        GridConstraints.SIZEPOLICY_FIXED, null, null, null));
                    }
                    panel3.add(panel12,
                            new GridConstraints(3, 0, 1, 1, GridConstraints.ANCHOR_CENTER,
                                    GridConstraints.FILL_BOTH,
                                    GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW,
                                    GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW,
                                    null, null, null));
                }
                scrollPane1.setViewportView(panel3);
            }
            panel2.add(scrollPane1,
                    new GridConstraints(0, 0, 1, 3, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH,
                            GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW
                                    | GridConstraints.SIZEPOLICY_WANT_GROW,
                            GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW
                                    | GridConstraints.SIZEPOLICY_WANT_GROW,
                            null, null, null));
        }
        panel1.add(panel2,
                new GridConstraints(2, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH,
                        GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW,
                        GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, null, null,
                        null));

        //======== panel13 ========
        {
            panel13.setBorder(new TitledBorder("\u53ef\u914d\u7f6e\u9879"));
            panel13.setLayout(new GridLayoutManager(1, 2, new Insets(0, 0, 0, 0), -1, -1));

            //---- CheckBox1 ----
            CheckBox1.setSelected(true);
            CheckBox1.setText("\u662f\u5426\u4e3a\u9a7c\u5cf0\u547d\u540d\u89c4\u8303");
            panel13.add(CheckBox1,
                    new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE,
                            GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW,
                            GridConstraints.SIZEPOLICY_FIXED, null, null, null));

            //---- CheckBox2 ----
            CheckBox2.setSelected(true);
            CheckBox2.setText("\u662f\u5426\u751f\u6210\u6ce8\u91ca");
            panel13.add(CheckBox2,
                    new GridConstraints(0, 1, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_NONE,
                            GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW,
                            GridConstraints.SIZEPOLICY_FIXED, null, null, null));
        }
        panel1.add(panel13,
                new GridConstraints(3, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH,
                        GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW,
                        GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, null, null,
                        null));

        //======== panel14 ========
        {
            panel14.setLayout(new GridLayoutManager(1, 1, new Insets(0, 0, 0, 0), -1, -1));

            //---- genButton ----
            genButton.setText("\u751f\u6210");
            panel14.add(genButton,
                    new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER,
                            GridConstraints.FILL_HORIZONTAL,
                            GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW,
                            GridConstraints.SIZEPOLICY_FIXED, null, null, null));
        }
        panel1.add(panel14,
                new GridConstraints(4, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH,
                        GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW,
                        GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, null, null,
                        null));

        //======== scrollPane2 ========
        {
            scrollPane2.setBorder(new TitledBorder("\u5fc5\u586b\u9879"));

            //======== panel15 ========
            {
                panel15.setLayout(new GridLayoutManager(5, 2, new Insets(0, 0, 0, 0), -1, -1));

                //======== panel16 ========
                {
                    panel16.setLayout(new GridLayoutManager(1, 1, new Insets(0, 0, 0, 0), -1, -1));

                    //---- TextField ----
                    TextField.setText("com.mysql.jdbc.Driver");
                    panel16.add(TextField,
                            new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_WEST,
                                    GridConstraints.FILL_HORIZONTAL,
                                    GridConstraints.SIZEPOLICY_CAN_GROW | GridConstraints.SIZEPOLICY_WANT_GROW,
                                    GridConstraints.SIZEPOLICY_FIXED, null, null, null));
                }
                panel15.add(panel16,
                        new GridConstraints(0, 1, 1, 1, GridConstraints.ANCHOR_CENTER,
                                GridConstraints.FILL_BOTH,
                                GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW,
                                GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW,
                                null, null, null));

                //======== panel17 ========
                {
                    panel17.setLayout(new GridLayoutManager(1, 1, new Insets(0, 0, 0, 0), -1, -1));

                    //---- textField3 ----
                    textField3.setText("jdbc:mysql://192.168.0.13/mvp?characterEncoding=UTF-8");
                    panel17.add(textField3,
                            new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_WEST,
                                    GridConstraints.FILL_HORIZONTAL,
                                    GridConstraints.SIZEPOLICY_CAN_GROW | GridConstraints.SIZEPOLICY_WANT_GROW,
                                    GridConstraints.SIZEPOLICY_FIXED, null, null, null));
                }
                panel15.add(panel17,
                        new GridConstraints(1, 1, 1, 1, GridConstraints.ANCHOR_CENTER,
                                GridConstraints.FILL_BOTH,
                                GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW,
                                GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW,
                                null, null, null));

                //======== panel18 ========
                {
                    panel18.setLayout(new GridLayoutManager(1, 1, new Insets(0, 0, 0, 0), -1, -1));

                    //---- rootTextField ----
                    rootTextField.setText("root");
                    panel18.add(rootTextField,
                            new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_WEST,
                                    GridConstraints.FILL_HORIZONTAL,
                                    GridConstraints.SIZEPOLICY_CAN_GROW | GridConstraints.SIZEPOLICY_WANT_GROW,
                                    GridConstraints.SIZEPOLICY_FIXED, null, null, null));
                }
                panel15.add(panel18,
                        new GridConstraints(2, 1, 1, 1, GridConstraints.ANCHOR_CENTER,
                                GridConstraints.FILL_BOTH,
                                GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW,
                                GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW,
                                null, null, null));

                //======== panel19 ========
                {
                    panel19.setLayout(new GridLayoutManager(1, 1, new Insets(0, 0, 0, 0), -1, -1));

                    //---- PasswordField ----
                    PasswordField.setText("elab@123");
                    panel19.add(PasswordField,
                            new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_WEST,
                                    GridConstraints.FILL_HORIZONTAL,
                                    GridConstraints.SIZEPOLICY_CAN_GROW | GridConstraints.SIZEPOLICY_WANT_GROW,
                                    GridConstraints.SIZEPOLICY_FIXED, null, null, null));
                }
                panel15.add(panel19,
                        new GridConstraints(3, 1, 1, 1, GridConstraints.ANCHOR_CENTER,
                                GridConstraints.FILL_BOTH,
                                GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW,
                                GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW,
                                null, null, null));

                //======== panel20 ========
                {
                    panel20.setLayout(new GridLayoutManager(1, 1, new Insets(0, 0, 0, 0), -1, -1));

                    //---- textField8 ----
                    textField8.setText("");
                    panel20.add(textField8,
                            new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_WEST,
                                    GridConstraints.FILL_HORIZONTAL,
                                    GridConstraints.SIZEPOLICY_CAN_GROW | GridConstraints.SIZEPOLICY_WANT_GROW,
                                    GridConstraints.SIZEPOLICY_FIXED, null, null, null));
                }
                panel15.add(panel20,
                        new GridConstraints(4, 1, 1, 1, GridConstraints.ANCHOR_CENTER,
                                GridConstraints.FILL_BOTH,
                                GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW,
                                GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW,
                                null, null, null));

                //======== panel21 ========
                {
                    panel21.setLayout(new GridLayoutManager(1, 1, new Insets(0, 0, 0, 0), -1, -1));

                    //---- label5 ----
                    label5.setText("\u6570\u636e\u5e93\u9a71\u52a8:");
                    panel21.add(label5,
                            new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER,
                                    GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED,
                                    GridConstraints.SIZEPOLICY_FIXED, null, null, null));
                }
                panel15.add(panel21,
                        new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER,
                                GridConstraints.FILL_BOTH,
                                GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW,
                                GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW,
                                null, null, null));

                //======== panel22 ========
                {
                    panel22.setLayout(new GridLayoutManager(1, 1, new Insets(0, 0, 0, 0), -1, -1));

                    //---- label6 ----
                    label6.setText("\u6570\u636e\u5e93\u8fde\u63a5\u5730\u5740:");
                    panel22.add(label6,
                            new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER,
                                    GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED,
                                    GridConstraints.SIZEPOLICY_FIXED, null, null, null));
                }
                panel15.add(panel22,
                        new GridConstraints(1, 0, 1, 1, GridConstraints.ANCHOR_CENTER,
                                GridConstraints.FILL_BOTH,
                                GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW,
                                GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW,
                                null, null, null));

                //======== panel23 ========
                {
                    panel23.setLayout(new GridLayoutManager(1, 1, new Insets(0, 0, 0, 0), -1, -1));

                    //---- label7 ----
                    label7.setText("\u6570\u636e\u5e93\u7528\u6237\u540d:");
                    panel23.add(label7,
                            new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER,
                                    GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED,
                                    GridConstraints.SIZEPOLICY_FIXED, null, null, null));
                }
                panel15.add(panel23,
                        new GridConstraints(2, 0, 1, 1, GridConstraints.ANCHOR_CENTER,
                                GridConstraints.FILL_BOTH,
                                GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW,
                                GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW,
                                null, null, null));

                //======== panel24 ========
                {
                    panel24.setLayout(new GridLayoutManager(1, 1, new Insets(0, 0, 0, 0), -1, -1));

                    //---- label8 ----
                    label8.setText("\u6570\u636e\u5e93\u5bc6\u7801:");
                    panel24.add(label8,
                            new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER,
                                    GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED,
                                    GridConstraints.SIZEPOLICY_FIXED, null, null, null));
                }
                panel15.add(panel24,
                        new GridConstraints(3, 0, 1, 1, GridConstraints.ANCHOR_CENTER,
                                GridConstraints.FILL_BOTH,
                                GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW,
                                GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW,
                                null, null, null));

                //======== panel25 ========
                {
                    panel25.setLayout(new GridLayoutManager(1, 1, new Insets(0, 0, 0, 0), -1, -1));

                    //---- label9 ----
                    label9.setText("\u8868\u540d(\u53ef\u6a21\u7cca%)");
                    panel25.add(label9,
                            new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER,
                                    GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED,
                                    GridConstraints.SIZEPOLICY_FIXED, null, null, null));
                }
                panel15.add(panel25,
                        new GridConstraints(4, 0, 1, 1, GridConstraints.ANCHOR_CENTER,
                                GridConstraints.FILL_BOTH,
                                GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW,
                                GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW,
                                null, null, null));
            }
            scrollPane2.setViewportView(panel15);
        }
        panel1.add(scrollPane2,
                new GridConstraints(1, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH,
                        GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW
                                | GridConstraints.SIZEPOLICY_WANT_GROW,
                        GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW
                                | GridConstraints.SIZEPOLICY_WANT_GROW,
                        null, null, null));

        //======== scrollPane3 ========
        {
            scrollPane3.setBorder(new TitledBorder("\u6ce8\u610f\u4e8b\u9879"));

            //---- jscrollPane1 ----
            jscrollPane1.setEditable(true);
            jscrollPane1.setEnabled(true);
            jscrollPane1.setText(
                    "\t1.\u8bf7\u4e0d\u8981\u91cd\u590d\u751f\u6210\u540c\u6837\u7684\u6587\u4ef6\u5728\u540c\u4e00\u4e2a\u76ee\u5f55\u5939\u4e0b\u3002");
            scrollPane3.setViewportView(jscrollPane1);
        }
        panel1.add(scrollPane3,
                new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH,
                        GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW
                                | GridConstraints.SIZEPOLICY_WANT_GROW,
                        GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW
                                | GridConstraints.SIZEPOLICY_WANT_GROW,
                        null, null, null));
    }
    // JFormDesigner - End of component initialization  //GEN-END:initComponents
}

From source file:userinterface.properties.GUIGraphHandler.java

public void plotNewFunction() {

    JDialog dialog;/*from   ww  w  .  j a  v a  2s . co m*/
    JRadioButton radio2d, radio3d, newGraph, existingGraph;
    JTextField functionField, seriesName;
    JButton ok, cancel;
    JComboBox<String> chartOptions;
    JLabel example;

    //init all the fields of the dialog
    dialog = new JDialog(GUIPrism.getGUI());
    radio2d = new JRadioButton("2D");
    radio3d = new JRadioButton("3D");
    newGraph = new JRadioButton("New Graph");
    existingGraph = new JRadioButton("Exisiting");
    chartOptions = new JComboBox<String>();
    functionField = new JTextField();
    ok = new JButton("Plot");
    cancel = new JButton("Cancel");
    seriesName = new JTextField();
    example = new JLabel("<html><font size=3 color=red>Example:</font><font size=3>x/2 + 5</font></html>");
    example.addMouseListener(new MouseAdapter() {

        @Override
        public void mouseEntered(MouseEvent e) {
            example.setCursor(new Cursor(Cursor.HAND_CURSOR));
            example.setForeground(Color.BLUE);
        }

        @Override
        public void mouseExited(MouseEvent e) {
            example.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
            example.setForeground(Color.BLACK);
        }

        @Override
        public void mouseClicked(MouseEvent e) {

            if (e.getButton() == MouseEvent.BUTTON1) {

                if (radio2d.isSelected()) {
                    functionField.setText("x/2 + 5");
                } else {
                    functionField.setText("x+y+5");
                }

                functionField.setFont(new Font(Font.SANS_SERIF, Font.PLAIN, 15));
                functionField.setForeground(Color.BLACK);

            }
        }

    });

    //set dialog properties
    dialog.setSize(400, 350);
    dialog.setTitle("Plot a new function");
    dialog.setModal(true);
    dialog.setLayout(new BoxLayout(dialog.getContentPane(), BoxLayout.Y_AXIS));
    dialog.setLocationRelativeTo(GUIPrism.getGUI());

    //add every component to their dedicated panels
    JPanel graphTypePanel = new JPanel(new FlowLayout());
    graphTypePanel.setBorder(BorderFactory
            .createTitledBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED), "Function type"));
    graphTypePanel.add(radio2d);
    graphTypePanel.add(radio3d);

    JPanel functionFieldPanel = new JPanel(new BorderLayout());
    functionFieldPanel.setBorder(BorderFactory
            .createTitledBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED), "Function"));
    functionFieldPanel.add(functionField, BorderLayout.CENTER);
    functionFieldPanel.add(example, BorderLayout.SOUTH);

    JPanel chartSelectPanel = new JPanel();
    chartSelectPanel.setLayout(new BoxLayout(chartSelectPanel, BoxLayout.Y_AXIS));
    chartSelectPanel.setBorder(BorderFactory
            .createTitledBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED), "Plot function to"));
    JPanel radioPlotPanel = new JPanel(new FlowLayout());
    radioPlotPanel.add(newGraph);
    radioPlotPanel.add(existingGraph);
    JPanel chartOptionsPanel = new JPanel(new FlowLayout());
    chartOptionsPanel.add(chartOptions);
    chartSelectPanel.add(radioPlotPanel);
    chartSelectPanel.add(chartOptionsPanel);

    JPanel bottomControlPanel = new JPanel(new FlowLayout(FlowLayout.RIGHT));
    bottomControlPanel.add(ok);
    bottomControlPanel.add(cancel);

    JPanel seriesNamePanel = new JPanel(new BorderLayout());
    seriesNamePanel.setBorder(BorderFactory
            .createTitledBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED), "Series name"));
    seriesNamePanel.add(seriesName, BorderLayout.CENTER);

    // add all the panels to the dialog

    dialog.add(graphTypePanel);
    dialog.add(functionFieldPanel);
    dialog.add(chartSelectPanel);
    dialog.add(seriesNamePanel);
    dialog.add(bottomControlPanel);

    // do all the enables and set properties

    radio2d.setSelected(true);
    newGraph.setSelected(true);
    chartOptions.setEnabled(false);
    functionField.setText("Add function expression here....");
    functionField.setFont(new Font(Font.SANS_SERIF, Font.ITALIC, 15));
    functionField.setForeground(Color.GRAY);
    seriesName.setText("New function");
    ok.setMnemonic('P');
    cancel.setMnemonic('C');
    example.setToolTipText("click to try out");

    ok.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0), "ok");
    ok.getActionMap().put("ok", new AbstractAction() {

        @Override
        public void actionPerformed(ActionEvent e) {
            ok.doClick();
        }
    });

    cancel.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0),
            "cancel");
    cancel.getActionMap().put("cancel", new AbstractAction() {

        @Override
        public void actionPerformed(ActionEvent e) {
            cancel.doClick();
        }
    });

    boolean found = false;

    for (int i = 0; i < theTabs.getTabCount(); i++) {

        if (theTabs.getComponentAt(i) instanceof Graph) {
            chartOptions.addItem(getGraphName(i));
            found = true;
        }
    }

    if (!found) {

        existingGraph.setEnabled(false);
        chartOptions.setEnabled(false);
    }

    //add all the action listeners

    radio2d.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {

            if (radio2d.isSelected()) {

                radio3d.setSelected(false);

                if (chartOptions.getItemCount() > 0) {
                    existingGraph.setEnabled(true);
                    chartOptions.setEnabled(true);
                }

                example.setText(
                        "<html><font size=3 color=red>Example:</font><font size=3>x/2 + 5</font></html>");
            }
        }
    });

    radio3d.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {

            if (radio3d.isSelected()) {

                radio2d.setSelected(false);
                newGraph.setSelected(true);
                existingGraph.setEnabled(false);
                chartOptions.setEnabled(false);
                example.setText("<html><font size=3 color=red>Example:</font><font size=3>x+y+5</font></html>");

            }

        }
    });

    newGraph.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {

            if (newGraph.isSelected()) {
                existingGraph.setSelected(false);
                chartOptions.setEnabled(false);
            }
        }
    });

    existingGraph.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {

            if (existingGraph.isSelected()) {

                newGraph.setSelected(false);
                chartOptions.setEnabled(true);
            }
        }
    });

    ok.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {

            String function = functionField.getText();

            Expression expr = null;

            try {

                expr = GUIPrism.getGUI().getPrism().parseSingleExpressionString(function);
                expr = (Expression) expr.accept(new ASTTraverseModify() {

                    @Override
                    public Object visit(ExpressionIdent e) throws PrismLangException {
                        return new ExpressionConstant(e.getName(), TypeDouble.getInstance());
                    }

                });

                expr.typeCheck();
                expr.semanticCheck();

            } catch (PrismLangException e1) {

                // for copying style
                JLabel label = new JLabel();

                // html content in our case the error we want to show
                JEditorPane ep = new JEditorPane("text/html",
                        "<html> There was an error parsing the function. To read about what built-in"
                                + " functions are supported <br>and some more information on the functions, visit "
                                + "<a href='http://www.prismmodelchecker.org/manual/ThePRISMLanguage/Expressions'>Prism expressions site</a>."
                                + "<br><br><font color=red>Error: </font>" + e1.getMessage() + " </html>");

                // handle link events
                ep.addHyperlinkListener(new HyperlinkListener() {
                    @Override
                    public void hyperlinkUpdate(HyperlinkEvent e) {
                        if (e.getEventType().equals(HyperlinkEvent.EventType.ACTIVATED)) {
                            try {
                                Desktop.getDesktop().browse(e.getURL().toURI());
                            } catch (IOException | URISyntaxException e1) {

                                e1.printStackTrace();
                            }
                        }
                    }
                });
                ep.setEditable(false);
                ep.setBackground(label.getBackground());

                // show the error dialog
                JOptionPane.showMessageDialog(dialog, ep, "Parse Error", JOptionPane.ERROR_MESSAGE);
                return;
            }

            if (radio2d.isSelected()) {

                ParametricGraph graph = null;

                if (newGraph.isSelected()) {

                    graph = new ParametricGraph("");
                } else {

                    for (int i = 0; i < theTabs.getComponentCount(); i++) {

                        if (theTabs.getTitleAt(i).equals(chartOptions.getSelectedItem())) {

                            graph = (ParametricGraph) theTabs.getComponent(i);
                        }
                    }

                }

                dialog.dispose();
                defineConstantsAndPlot(expr, graph, seriesName.getText(), newGraph.isSelected(), true);

            } else if (radio3d.isSelected()) {

                try {

                    expr = (Expression) expr.accept(new ASTTraverseModify() {
                        @Override
                        public Object visit(ExpressionIdent e) throws PrismLangException {
                            return new ExpressionConstant(e.getName(), TypeDouble.getInstance());
                        }

                    });

                    expr.semanticCheck();
                    expr.typeCheck();

                } catch (PrismLangException e1) {
                    e1.printStackTrace();
                }

                if (expr.getAllConstants().size() < 2) {

                    JOptionPane.showMessageDialog(dialog,
                            "There are not enough variables in the function to plot a 3D chart!", "Error",
                            JOptionPane.ERROR_MESSAGE);
                    return;
                }

                // its always a new graph
                ParametricGraph3D graph = new ParametricGraph3D(expr);
                dialog.dispose();
                defineConstantsAndPlot(expr, graph, seriesName.getText(), true, false);
            }

            dialog.dispose();
        }
    });

    cancel.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {
            dialog.dispose();
        }
    });

    // we will show info about the function when field is out of focus
    functionField.addFocusListener(new FocusListener() {

        @Override
        public void focusLost(FocusEvent e) {

            if (!functionField.getText().equals("")) {
                return;
            }

            functionField.setText("Add function expression here....");
            functionField.setFont(new Font(Font.SANS_SERIF, Font.ITALIC, 15));
            functionField.setForeground(Color.GRAY);
        }

        @Override
        public void focusGained(FocusEvent e) {

            if (!functionField.getText().equals("Add function expression here....")) {
                return;
            }

            functionField.setForeground(Color.BLACK);
            functionField.setFont(new Font(Font.SANS_SERIF, Font.PLAIN, 15));
            functionField.setText("");
        }
    });

    // show the dialog
    dialog.setVisible(true);
}

From source file:musite.ui.MusiteResultPanel.java

/** This method is called from within the constructor to
 * initialize the form.//from ww  w .ja  v  a2s .  c  om
 * 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() {
    java.awt.GridBagConstraints gridBagConstraints;

    resDispPanel = new javax.swing.JPanel();
    javax.swing.JPanel modelPanel = new javax.swing.JPanel();
    modelComboBox = new javax.swing.JComboBox();
    javax.swing.JPanel accPanel = new javax.swing.JPanel();
    proteinListComboBox = new javax.swing.JComboBox();
    javax.swing.JPanel optionPanel = new javax.swing.JPanel();
    phosphoCheckBox = new javax.swing.JCheckBox();
    alphabetCheckBox = new javax.swing.JCheckBox();
    displayTabbedPane = new javax.swing.JTabbedPane();
    sequenceScrollPane = new javax.swing.JScrollPane();
    sitesScrollPane = new javax.swing.JScrollPane();
    javax.swing.JPanel adjustPanel = new javax.swing.JPanel();
    javax.swing.JPanel threholdPanel = new javax.swing.JPanel();
    javax.swing.JPanel sliderBasePanel = new javax.swing.JPanel();
    sliderTitleComboBox = new javax.swing.JComboBox();
    javax.swing.JPanel specificityPanel = new javax.swing.JPanel();
    javax.swing.JLabel specificityLabel = new javax.swing.JLabel();
    specificityTextField = new javax.swing.JTextField();
    javax.swing.JLabel percLabel = new javax.swing.JLabel();
    javax.swing.JLabel scoreCutoffLabel = new javax.swing.JLabel();
    scoreCutoffTextField = new javax.swing.JTextField();
    specificitySlider = new javax.swing.JSlider();
    javax.swing.JPanel exportPanel = new javax.swing.JPanel();
    exportComboBox = new javax.swing.JComboBox();
    javax.swing.JPanel closePanel = new javax.swing.JPanel();
    javax.swing.JButton saveButton = new javax.swing.JButton();

    setLayout(new java.awt.GridBagLayout());

    resDispPanel.setLayout(new java.awt.GridBagLayout());

    modelPanel.setVisible(result.getModels().size() > 1);
    modelPanel.setBorder(javax.swing.BorderFactory.createTitledBorder("Select model"));
    modelPanel.setLayout(new javax.swing.BoxLayout(modelPanel, javax.swing.BoxLayout.LINE_AXIS));

    PredictionModel[] models = result.getModels().toArray(new PredictionModel[0]);
    java.util.Arrays.sort(models, new java.util.Comparator<PredictionModel>() {
        public int compare(PredictionModel model1, PredictionModel model2) {
            String name1 = model1.getName();
            String name2 = model2.getName();
            if (name1 == null)
                return name2 == null ? 0 : -1;
            if (name2 == null)
                return 1;
            return name1.compareTo(name2);
        }
    });
    modelComboBox.setModel(new javax.swing.DefaultComboBoxModel(models));
    modelComboBox.setSelectedIndex(0);
    modelComboBox.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            modelComboBoxActionPerformed(evt);
        }
    });
    modelPanel.add(modelComboBox);

    gridBagConstraints = new java.awt.GridBagConstraints();
    gridBagConstraints.gridx = 0;
    gridBagConstraints.gridy = 0;
    gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
    gridBagConstraints.weightx = 1.0;
    gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3);
    resDispPanel.add(modelPanel, gridBagConstraints);

    accPanel.setBorder(javax.swing.BorderFactory.createTitledBorder("Select protein(s)"));
    accPanel.setLayout(new java.awt.GridBagLayout());

    Vector pros = new Vector(result.proteins());
    //pros.add("Display all listed proteins");
    proteinListComboBox.setModel(new javax.swing.DefaultComboBoxModel(pros));
    proteinListComboBox.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            proteinListComboBoxActionPerformed(evt);
        }
    });
    gridBagConstraints = new java.awt.GridBagConstraints();
    gridBagConstraints.gridx = 0;
    gridBagConstraints.gridy = 1;
    gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
    gridBagConstraints.anchor = java.awt.GridBagConstraints.LINE_START;
    gridBagConstraints.weightx = 1.0;
    gridBagConstraints.insets = new java.awt.Insets(0, 3, 0, 3);
    accPanel.add(proteinListComboBox, gridBagConstraints);

    optionPanel.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.LEFT, 3, 3));

    phosphoCheckBox.setText("List predicted phosphoproteins only");
    phosphoCheckBox.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            phosphoCheckBoxActionPerformed(evt);
        }
    });
    optionPanel.add(phosphoCheckBox);

    alphabetCheckBox.setText("List alphabetically (according to accessions)");
    alphabetCheckBox.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            alphabetCheckBoxActionPerformed(evt);
        }
    });
    optionPanel.add(alphabetCheckBox);

    gridBagConstraints = new java.awt.GridBagConstraints();
    gridBagConstraints.gridx = 0;
    gridBagConstraints.gridy = 0;
    gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
    accPanel.add(optionPanel, gridBagConstraints);

    gridBagConstraints = new java.awt.GridBagConstraints();
    gridBagConstraints.gridx = 0;
    gridBagConstraints.gridy = 1;
    gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
    gridBagConstraints.weightx = 1.0;
    resDispPanel.add(accPanel, gridBagConstraints);

    displayTextPane = new ViewResultTextPane();
    sequenceScrollPane.setViewportView(displayTextPane);

    displayTabbedPane.addTab("Sequence(s)", sequenceScrollPane);

    displayTable = new ViewResultTable();
    sitesScrollPane.setViewportView(displayTable);

    displayTabbedPane.addTab("Predicted Sites", sitesScrollPane);

    gridBagConstraints = new java.awt.GridBagConstraints();
    gridBagConstraints.gridx = 0;
    gridBagConstraints.gridy = 2;
    gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
    gridBagConstraints.weightx = 1.0;
    gridBagConstraints.weighty = 1.0;
    resDispPanel.add(displayTabbedPane, gridBagConstraints);

    adjustPanel.setBorder(javax.swing.BorderFactory.createTitledBorder("Stringency setting"));
    adjustPanel.setLayout(new java.awt.GridBagLayout());

    threholdPanel.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.CENTER, 5, 0));

    sliderBasePanel.setBorder(javax.swing.BorderFactory.createTitledBorder("Sliding according to"));
    sliderBasePanel.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.CENTER, 5, 0));

    sliderTitleComboBox.setMinimumSize(new java.awt.Dimension(150, 18));
    sliderTitleComboBox.setPreferredSize(new java.awt.Dimension(150, 22));
    sliderTitleComboBox.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            sliderTitleComboBoxActionPerformed(evt);
        }
    });
    sliderBasePanel.add(sliderTitleComboBox);

    threholdPanel.add(sliderBasePanel);

    specificityPanel.setBorder(javax.swing.BorderFactory.createTitledBorder("Cutoff"));
    specificityPanel.setLayout(new java.awt.GridBagLayout());

    specificityLabel.setText("Specificity:");
    gridBagConstraints = new java.awt.GridBagConstraints();
    gridBagConstraints.gridy = 0;
    gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 0);
    specificityPanel.add(specificityLabel, gridBagConstraints);

    specificityTextField.setHorizontalAlignment(javax.swing.JTextField.RIGHT);
    specificityTextField.setMinimumSize(new java.awt.Dimension(60, 19));
    specificityTextField.setPreferredSize(new java.awt.Dimension(60, 19));
    specificityTextField.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            specificityTextFieldActionPerformed(evt);
        }
    });
    gridBagConstraints = new java.awt.GridBagConstraints();
    gridBagConstraints.gridy = 0;
    gridBagConstraints.insets = new java.awt.Insets(0, 3, 0, 1);
    specificityPanel.add(specificityTextField, gridBagConstraints);

    percLabel.setText("%");
    gridBagConstraints = new java.awt.GridBagConstraints();
    gridBagConstraints.gridy = 0;
    gridBagConstraints.insets = new java.awt.Insets(0, 1, 0, 20);
    specificityPanel.add(percLabel, gridBagConstraints);

    scoreCutoffLabel.setText("Score:");
    gridBagConstraints = new java.awt.GridBagConstraints();
    gridBagConstraints.gridy = 0;
    specificityPanel.add(scoreCutoffLabel, gridBagConstraints);

    scoreCutoffTextField.setHorizontalAlignment(javax.swing.JTextField.RIGHT);
    scoreCutoffTextField.setMinimumSize(new java.awt.Dimension(60, 19));
    scoreCutoffTextField.setPreferredSize(new java.awt.Dimension(60, 19));
    scoreCutoffTextField.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            scoreCutoffTextFieldActionPerformed(evt);
        }
    });
    gridBagConstraints = new java.awt.GridBagConstraints();
    gridBagConstraints.gridy = 0;
    gridBagConstraints.insets = new java.awt.Insets(0, 3, 0, 20);
    specificityPanel.add(scoreCutoffTextField, gridBagConstraints);

    threholdPanel.add(specificityPanel);

    gridBagConstraints = new java.awt.GridBagConstraints();
    gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
    adjustPanel.add(threholdPanel, gridBagConstraints);

    specificitySlider.setPaintLabels(true);
    specificitySlider.addChangeListener(new javax.swing.event.ChangeListener() {
        public void stateChanged(javax.swing.event.ChangeEvent evt) {
            specificitySliderStateChanged(evt);
        }
    });
    gridBagConstraints = new java.awt.GridBagConstraints();
    gridBagConstraints.gridx = 0;
    gridBagConstraints.gridy = 2;
    gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
    gridBagConstraints.weightx = 1.0;
    adjustPanel.add(specificitySlider, gridBagConstraints);

    gridBagConstraints = new java.awt.GridBagConstraints();
    gridBagConstraints.gridx = 0;
    gridBagConstraints.gridy = 3;
    gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
    gridBagConstraints.weightx = 1.0;
    gridBagConstraints.insets = new java.awt.Insets(2, 2, 2, 2);
    resDispPanel.add(adjustPanel, gridBagConstraints);

    exportPanel.setLayout(new javax.swing.BoxLayout(exportPanel, javax.swing.BoxLayout.LINE_AXIS));

    exportComboBox.setModel(new javax.swing.DefaultComboBoxModel(
            new String[] { "Export this result as...", "Tab-delimited text file" }));
    exportComboBox.setMinimumSize(new java.awt.Dimension(200, 18));
    exportComboBox.setPreferredSize(new java.awt.Dimension(200, 22));
    exportComboBox.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            exportComboBoxActionPerformed(evt);
        }
    });
    exportPanel.add(exportComboBox);

    gridBagConstraints = new java.awt.GridBagConstraints();
    gridBagConstraints.gridx = 0;
    gridBagConstraints.gridy = 4;
    gridBagConstraints.anchor = java.awt.GridBagConstraints.LINE_START;
    gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
    resDispPanel.add(exportPanel, gridBagConstraints);

    closePanel.setLayout(new javax.swing.BoxLayout(closePanel, javax.swing.BoxLayout.LINE_AXIS));

    saveButton.setText("Save As...");
    saveButton.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            saveButtonActionPerformed(evt);
        }
    });
    closePanel.add(saveButton);

    gridBagConstraints = new java.awt.GridBagConstraints();
    gridBagConstraints.gridx = 0;
    gridBagConstraints.gridy = 4;
    gridBagConstraints.anchor = java.awt.GridBagConstraints.LINE_END;
    gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
    resDispPanel.add(closePanel, gridBagConstraints);

    gridBagConstraints = new java.awt.GridBagConstraints();
    gridBagConstraints.gridx = 0;
    gridBagConstraints.gridy = 0;
    gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
    gridBagConstraints.weightx = 1.0;
    gridBagConstraints.weighty = 1.0;
    add(resDispPanel, gridBagConstraints);
}

From source file:com.smanempat.controller.ControllerEvaluation.java

public void proccessMining(JTable tableDataSetModel, JTable tableDataSetTesting, JTextField txtNumberOfK,
        JLabel labelPesanError, JTabbedPane jTabbedPane1, JTable tableResult, JTable tableConfMatrix,
        JTable tableTahunTesting, JLabel totalAccuracy, JPanel panelChart, JPanel panelChart1,
        JPanel panelChart2, JRadioButton singleTesting, JRadioButton multiTesting, JTextArea txtArea)
        throws SQLException {
    Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR);
    modelEvaluation = new ModelEvaluation();
    int rowCountModel = tableDataSetModel.getRowCount();
    int rowCountTest = tableDataSetTesting.getRowCount();
    int[] tempK;//from w w w  .j a  va  2s  .c  o m
    double[][] tempEval;
    double[][] evalValue;
    boolean valid = false;

    /*Validasi Dataset Model dan Dataset Uji*/
    if (rowCountModel == 0) {
        JOptionPane.showMessageDialog(null, "Pilih dataset model terlebih dahulu!", "Error",
                JOptionPane.INFORMATION_MESSAGE,
                new ImageIcon(getClass().getResource("/com/smanempat/image/fail.png")));
        txtNumberOfK.requestFocus();
    } else if (rowCountTest == 0) {
        JOptionPane.showMessageDialog(null, "Pilih dataset uji terlebih dahulu!", "Error",
                JOptionPane.INFORMATION_MESSAGE,
                new ImageIcon(getClass().getResource("/com/smanempat/image/fail.png")));
        txtNumberOfK.requestFocus();
    } else {
        valid = true;
    }
    /*Validasi Dataset Model dan Dataset Uji*/

    if (valid == true) {
        if (multiTesting.isSelected()) {
            String iterasi = JOptionPane.showInputDialog("Input Jumlah Iterasi Pengujian :");
            boolean validMulti = false;

            if (iterasi != null) {

                /*Validasi Jumlah Iterasi*/
                if (Pattern.matches("[0-9]+", iterasi) == false && iterasi.length() > 0) {
                    JOptionPane.showMessageDialog(null, "Nilai iterasi tidak valid!", "Error",
                            JOptionPane.INFORMATION_MESSAGE,
                            new ImageIcon(getClass().getResource("/com/smanempat/image/fail.png")));
                } else if (iterasi.isEmpty()) {
                    JOptionPane.showMessageDialog(null, "Nilai iterasi tidak boleh kosong!", "Error",
                            JOptionPane.INFORMATION_MESSAGE,
                            new ImageIcon(getClass().getResource("/com/smanempat/image/fail.png")));
                } else if (iterasi.length() == 9) {
                    JOptionPane.showMessageDialog(null, "Nilai iterasi terlalu panjang!", "Error",
                            JOptionPane.INFORMATION_MESSAGE,
                            new ImageIcon(getClass().getResource("/com/smanempat/image/fail.png")));
                } else if (rowCountTest > rowCountModel) {

                    JOptionPane.showMessageDialog(null, "Data Uji tidak boleh lebih besar daripada data Model!",
                            "Error", JOptionPane.INFORMATION_MESSAGE,
                            new ImageIcon(getClass().getResource("/com/smanempat/image/fail.png")));
                } else {
                    validMulti = true;
                    System.out.println("valiMulti = " + validMulti + " Kok");
                }
                /*Validasi Jumlah Iterasi*/
            }

            if (validMulti == true) {
                tempK = new int[Integer.parseInt(iterasi)];
                evalValue = new double[3][tempK.length];
                for (int i = 0; i < Integer.parseInt(iterasi); i++) {
                    validMulti = false;
                    String k = JOptionPane
                            .showInputDialog("Input Nilai Nearest Neighbor (k) ke " + (i + 1) + " :");
                    if (k != null) {
                        /*Validasi Nilai K Tiap Iterasi*/
                        if (Pattern.matches("[0-9]+", k) == false && k.length() > 0) {
                            JOptionPane.showMessageDialog(null, "Nilai nearest neighbor (k) tidak valid!",
                                    "Error", JOptionPane.INFORMATION_MESSAGE,
                                    new ImageIcon(getClass().getResource("/com/smanempat/image/fail.png")));
                        } else if (k.isEmpty()) {
                            JOptionPane.showMessageDialog(null,
                                    "Nilai nearest neighbor (k) tidak boleh kosong!", "Error",
                                    JOptionPane.INFORMATION_MESSAGE,
                                    new ImageIcon(getClass().getResource("/com/smanempat/image/fail.png")));
                        } else if (k.length() == 9) {
                            JOptionPane.showMessageDialog(null, "Nilai nearest neighbor (k) terlalu panjang!",
                                    "Error", JOptionPane.INFORMATION_MESSAGE,
                                    new ImageIcon(getClass().getResource("/com/smanempat/image/fail.png")));
                        } else {
                            validMulti = true;
                        }
                        /*Validasi Nilai K Tiap Iterasi*/
                    }

                    if (validMulti == true) {
                        tempK[i] = Integer.parseInt(k);
                        System.out.println(tempK[i]);
                    } else {
                        break;
                    }
                }

                if (validMulti == true) {
                    for (int i = 0; i < tempK.length; i++) {
                        int kValue = tempK[i];
                        String[][] modelValue = getModelValue(rowCountModel, tableDataSetModel);
                        double[][] testValue = getTestvalue(rowCountTest, tableDataSetTesting);
                        String[] knnValue = getKNNValue(rowCountModel, rowCountTest, modelValue, testValue,
                                kValue);
                        tempEval = evaluationModel(tableResult, tableConfMatrix, totalAccuracy,
                                tableTahunTesting, tableDataSetTesting, knnValue, i, tempK, panelChart);
                        //Menampung nilai Accuracy
                        evalValue[0][i] = tempEval[0][i];
                        //Menampung nilai Recall
                        evalValue[1][i] = tempEval[1][i];
                        //Menampung nilai Precision
                        evalValue[2][i] = tempEval[2][i];
                        jTabbedPane1.setSelectedIndex(1);
                        txtArea.append(
                                "Tingkat Keberhasilan Sistem dengan Nilai Number of Nearest Neighbor (K) = "
                                        + tempK[i] + "\n");
                        txtArea.append("Akurasi\t\t: " + evalValue[0][i] * 100 + " %\n");
                        txtArea.append("Recall\t\t: " + evalValue[1][i] * 100 + " %\n");
                        txtArea.append("Precision\t: " + evalValue[2][i] * 100 + " %\n");
                        txtArea.append(
                                "=============================================================================\n");
                    }
                    showChart(tempK, evalValue, panelChart, panelChart1, panelChart2);
                }
            }
        } else if (singleTesting.isSelected()) {
            boolean validSingle = false;
            String k = txtNumberOfK.getText();
            int nilaiK = 0;
            evalValue = new double[3][1];

            /*Validasi Nilai Number of Nearest Neighbor*/
            if (Pattern.matches("[0-9]+", k) == false && k.length() > 0) {
                labelPesanError.setText("Number of Nearest Neighbor tidak valid");
                JOptionPane.showMessageDialog(null, "Number of Nearest Neighbor tidak valid!", "Error",
                        JOptionPane.INFORMATION_MESSAGE,
                        new ImageIcon(getClass().getResource("/com/smanempat/image/fail.png")));
                txtNumberOfK.requestFocus();
            } else if (k.isEmpty()) {
                JOptionPane.showMessageDialog(null, "Number of Nearest Neighbor tidak boleh kosong!", "Error",
                        JOptionPane.INFORMATION_MESSAGE,
                        new ImageIcon(getClass().getResource("/com/smanempat/image/fail.png")));
                labelPesanError.setText("Number of Nearest Neighbor tidak boleh kosong");
                txtNumberOfK.requestFocus();
            } else if (rowCountModel == 0 && Integer.parseInt(k) >= rowCountModel) {
                JOptionPane.showMessageDialog(null, "Pilih dataset model terlebih dahulu!", "Error",
                        JOptionPane.INFORMATION_MESSAGE,
                        new ImageIcon(getClass().getResource("/com/smanempat/image/fail.png")));
                txtNumberOfK.requestFocus();
            } else if (rowCountTest == 0 && Integer.parseInt(k) >= rowCountTest) {
                JOptionPane.showMessageDialog(null, "Pilih dataset uji terlebih dahulu!", "Error",
                        JOptionPane.INFORMATION_MESSAGE,
                        new ImageIcon(getClass().getResource("/com/smanempat/image/fail.png")));
                txtNumberOfK.requestFocus();
            } else if (Integer.parseInt(k) >= rowCountModel) {
                JOptionPane.showMessageDialog(null,
                        "Number of Nearest Neighbor tidak boleh lebih dari " + rowCountModel + " !", "Error",
                        JOptionPane.INFORMATION_MESSAGE,
                        new ImageIcon(getClass().getResource("/com/smanempat/image/fail.png")));
                txtNumberOfK.requestFocus();
            } else {
                validSingle = true;
                nilaiK = Integer.parseInt(k);
            }
            /*Validasi Nilai Number of Nearest Neighbor*/

            if (validSingle == true) {
                int confirm;
                int i = 0;
                confirm = JOptionPane.showOptionDialog(null, "Yakin ingin memproses data?",
                        "Proses Klasifikasi", JOptionPane.OK_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE, null,
                        null, null);
                if (confirm == JOptionPane.OK_OPTION) {

                    int kValue = Integer.parseInt(txtNumberOfK.getText());
                    String[][] modelValue = getModelValue(rowCountModel, tableDataSetModel);
                    double[][] testValue = getTestvalue(rowCountTest, tableDataSetTesting);
                    String[] knnValue = getKNNValue(rowCountModel, rowCountTest, modelValue, testValue, kValue);
                    tempEval = evaluationModel(tableResult, tableConfMatrix, totalAccuracy, tableTahunTesting,
                            tableDataSetTesting, knnValue, nilaiK, panelChart);
                    evalValue[0][i] = tempEval[0][0];
                    evalValue[1][i] = tempEval[1][0];
                    evalValue[2][i] = tempEval[2][0];
                    jTabbedPane1.setSelectedIndex(1);
                }
                System.out.println("com.smanempat.controller.ControllerEvaluation.proccessMining()OKOKOK");
                showChart(nilaiK, evalValue, panelChart, panelChart1, panelChart2);
                Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR);
            }
        }
    }

}

From source file:src.gui.ItSIMPLE.java

/**
 * This methods calls all possible planners to solve a planning problem.
 * Every plan (in a XML format) is inserted in a global variavel called
 * (Element) plans//www  .j a va2s . c o m
 * @param project the chosen project
 * @param problem the chosen problem
 */
public void solveProblemWithAllPlanners(Element project, Element problem) {
    if (problem != null) {
        // clear plan list and plan info pane
        setPlanList(null);
        setPlanInfoPanelText("");
        setPlanEvaluationInfoPanelText("");
        String pddlVersion = pddlButtonsGroup.getSelection().getActionCommand();
        cleanupPlanDatabaseReference();

        // generate PDDL domain                     // root element
        Element xpddlDomain = ToXPDDL.XMLToXPDDLDomain(project, pddlVersion, null);
        // generate PDDL problem
        Element xpddlProblem = ToXPDDL.XMLToXPDDLProblem(problem, pddlVersion);

        ToXPDDL.adjustRequirements(xpddlDomain, xpddlProblem, pddlVersion);

        String pddlDomain = XPDDLToPDDL.parseXPDDLToPDDL(xpddlDomain, "");
        String pddlProblem = XPDDLToPDDL.parseXPDDLToPDDL(xpddlProblem, "");

        // save in auxiliary files
        File domainFile = new File("resources/planners/domain.pddl");
        File problemFile = new File("resources/planners/problem.pddl");
        try {
            FileWriter domainWriter = new FileWriter(domainFile);
            domainWriter.write(pddlDomain);
            domainWriter.close();

            FileWriter problemWriter = new FileWriter(problemFile);
            problemWriter.write(pddlProblem);
            problemWriter.close();
        } catch (IOException e1) {
            e1.printStackTrace();
        }

        // execute planner

        exe = new ExecPlanner(null, domainFile.getPath(), problemFile.getPath(), true);

        exe.setXMLDomain(problem.getParentElement().getParentElement());
        exe.setXMLProblem(problem);
        exe.setProblemName(problem.getChildText("name"));
        exe.setDomainName(problem.getParentElement().getParentElement().getChildText("name"));
        exe.setProjectName(project.getChildText("name"));

        plans = new Element("plans");
        appendOutputPanelText(">> Calling all possible planners to solve the selected problem ");

        currentThread = new Thread() {
            public void run() {

                JLabel status = ItSIMPLE.getInstance().getPlanSimStatusBar();
                status.setText("Status: Solving planning problem...");

                List<Element> planners = itPlanners.getChild("planners").getChildren("planner");
                for (Iterator<Element> it = planners.iterator(); it.hasNext();) {
                    Element planner = it.next();
                    if (planner.getChild("platform").getChild("windows") == null) {
                        try {
                            status.setText("Status: Solving planning problem with "
                                    + planner.getChildText("name") + "...");
                            skipPlannerProblemButton
                                    .setToolTipText("<html>Skip planning:<br /><strong>Planner</strong>:"
                                            + planner.getChildText("name") + "<br /><strong>Problem</strong>:"
                                            + exe.getProblemName() + "</html>");
                            exe.setChosenPlanner(planner);
                            Element xmlPlan = exe.solveProblem();
                            plans.addContent((Element) xmlPlan.clone());
                            status.setText("Status: Done solving planning problem with "
                                    + planner.getChildText("name") + "!");
                            skipPlannerProblemButton.setToolTipText("");
                        } catch (Exception e) {

                        }

                    }

                }

                status.setText("Status: Done solving planning problem with multiple planners!");
                ItSIMPLE.getInstance().setSolveProblemButton();

                //XMLUtilities.printXML(plans);

                appendOutputPanelText(">> Done with all possible planners to solve the selected problem!");

            }
        };

        currentThread.start();

        // changes the button action command
        solveProblemButton.setActionCommand("stop");
        solveProblemButton.setText("Stop");
        solveProblemButton.setIcon(new ImageIcon("resources/images/stop.png"));
    }
}

From source file:cfa.vo.sed.science.stacker.SedStackerFrame.java

/** This method is called from within the constructor to
 * initialize the form./*from   w  w w  . java 2  s.  co  m*/
 * 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() {
    bindingGroup = new org.jdesktop.beansbinding.BindingGroup();

    javax.swing.ButtonGroup buttonGroup1 = new javax.swing.ButtonGroup();
    javax.swing.ButtonGroup buttonGroup2 = new javax.swing.ButtonGroup();
    jPopupMenu1 = new javax.swing.JPopupMenu();
    javax.swing.JMenuItem jMenuItem1 = new javax.swing.JMenuItem();
    jPopupMenu2 = new javax.swing.JPopupMenu();
    javax.swing.JMenuItem jMenuItem2 = new javax.swing.JMenuItem();
    jButton1 = new javax.swing.JButton();
    javax.swing.JPanel jPanel1 = new javax.swing.JPanel();
    stackPanel = new javax.swing.JScrollPane();
    jList1 = new javax.swing.JList();
    javax.swing.JPanel jPanel5 = new javax.swing.JPanel();
    correctFlux = new javax.swing.JCheckBox();
    jTextField8 = new javax.swing.JTextField();
    javax.swing.JLabel jLabel11 = new javax.swing.JLabel();
    redshiftButton = new javax.swing.JButton();
    javax.swing.JLabel jLabel6 = new javax.swing.JLabel();
    jRadioButton3 = new javax.swing.JRadioButton();
    jRadioButton4 = new javax.swing.JRadioButton();
    integrationXMaxText = new javax.swing.JTextField();
    integrationMinMaxUnit = new WiderJComboBox();
    integrationYUnit = new WiderJComboBox();
    integrationValueText = new javax.swing.JTextField();
    integrationNormType = new javax.swing.JComboBox();
    javax.swing.JLabel integrationNormToLabel = new javax.swing.JLabel();
    javax.swing.JLabel integrationXMinLabel = new javax.swing.JLabel();
    integrationXMinText = new javax.swing.JTextField();
    jRadioButton1 = new javax.swing.JRadioButton();
    jRadioButton2 = new javax.swing.JRadioButton();
    javax.swing.JLabel atPointXLabel = new javax.swing.JLabel();
    javax.swing.JLabel atPointYLabel = new javax.swing.JLabel();
    atPointXText = new javax.swing.JTextField();
    atPointYType = new javax.swing.JComboBox();
    atPointXUnit = new javax.swing.JComboBox();
    atPointYText = new javax.swing.JTextField();
    atPointYUnit = new javax.swing.JComboBox();
    normalizeButton = new javax.swing.JButton();
    javax.swing.JSeparator jSeparator1 = new javax.swing.JSeparator();
    javax.swing.JLabel integrationXMaxLabel = new javax.swing.JLabel();
    javax.swing.JCheckBox jCheckBox1 = new javax.swing.JCheckBox();
    javax.swing.JCheckBox jCheckBox2 = new javax.swing.JCheckBox();
    javax.swing.JPanel jPanel4 = new javax.swing.JPanel();
    addButton = new javax.swing.JButton();
    removeButton = new javax.swing.JButton();
    javax.swing.JScrollPane jScrollPane2 = new javax.swing.JScrollPane();
    sedsTable = new javax.swing.JTable();
    javax.swing.JPanel jPanel6 = new javax.swing.JPanel();
    javax.swing.JLabel jLabel7 = new javax.swing.JLabel();
    stackStatisticComboBox = new javax.swing.JComboBox();
    smoothCheckBox = new javax.swing.JCheckBox();
    javax.swing.JLabel jLabel8 = new javax.swing.JLabel();
    jTextField6 = new javax.swing.JTextField();
    logBinningCheckBox = new javax.swing.JCheckBox();
    javax.swing.JLabel jLabel9 = new javax.swing.JLabel();
    binsizeTextField = new javax.swing.JTextField();
    stackBinSizeUnitsComboBox = new javax.swing.JComboBox();
    javax.swing.JLabel jLabel10 = new javax.swing.JLabel();
    stackButton = new javax.swing.JButton();
    stackYUnitComboBox = new javax.swing.JComboBox();
    javax.swing.JLabel jLabel1 = new javax.swing.JLabel();
    javax.swing.JPanel jPanel2 = new javax.swing.JPanel();
    resetButton = new javax.swing.JButton();
    javax.swing.JButton deleteButton = new javax.swing.JButton();
    createSedButton = new javax.swing.JButton();

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

    jMenuItem1.setText("Rename...");
    jMenuItem1.setName("jMenuItem1"); // NOI18N
    jMenuItem1.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItem1ActionPerformed(evt);
        }
    });
    jPopupMenu1.add(jMenuItem1);

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

    jMenuItem2.setText("Change redshift...");
    jMenuItem2.setName("jMenuItem2"); // NOI18N
    jMenuItem2.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuItem2ActionPerformed(evt);
        }
    });
    jPopupMenu2.add(jMenuItem2);

    setClosable(true);
    setDefaultCloseOperation(javax.swing.WindowConstants.HIDE_ON_CLOSE);
    setIconifiable(true);
    setResizable(true);
    setTitle("SED Stacker");

    jButton1.setText("Create New Stack");
    jButton1.setName("jButton1"); // NOI18N
    jButton1.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            newStack(evt);
        }
    });

    jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder("Open Stacks"));
    jPanel1.setName("jPanel1"); // NOI18N

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

    jList1.setModel(new javax.swing.AbstractListModel() {
        String[] strings = { "Item 1", "Item 2", "Item 3", "Item 4", "Item 5" };

        public int getSize() {
            return strings.length;
        }

        public Object getElementAt(int i) {
            return strings[i];
        }
    });
    jList1.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
    jList1.setName("jList1"); // NOI18N

    org.jdesktop.beansbinding.ELProperty eLProperty = org.jdesktop.beansbinding.ELProperty.create("${stacks}");
    org.jdesktop.swingbinding.JListBinding jListBinding = org.jdesktop.swingbinding.SwingBindings
            .createJListBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, this,
                    eLProperty, jList1);
    jListBinding.setSourceUnreadableValue(null);
    bindingGroup.addBinding(jListBinding);
    org.jdesktop.beansbinding.Binding binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(
            org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, this,
            org.jdesktop.beansbinding.ELProperty.create("${selectedStack}"), jList1,
            org.jdesktop.beansbinding.BeanProperty.create("selectedElement"));
    bindingGroup.addBinding(binding);

    jList1.addMouseListener(new java.awt.event.MouseAdapter() {
        public void mousePressed(java.awt.event.MouseEvent evt) {
            jList1MousePressed(evt);
        }

        public void mouseReleased(java.awt.event.MouseEvent evt) {
            jList1MouseReleased(evt);
        }
    });
    stackPanel.setViewportView(jList1);

    org.jdesktop.layout.GroupLayout jPanel1Layout = new org.jdesktop.layout.GroupLayout(jPanel1);
    jPanel1.setLayout(jPanel1Layout);
    jPanel1Layout.setHorizontalGroup(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(stackPanel, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 153, Short.MAX_VALUE));
    jPanel1Layout.setVerticalGroup(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(org.jdesktop.layout.GroupLayout.TRAILING, stackPanel));

    jPanel5.setBorder(javax.swing.BorderFactory.createTitledBorder("Redshift and Normalize"));
    jPanel5.setName("jPanel5"); // NOI18N

    correctFlux.setText("Correct flux");
    correctFlux.setName("correctFlux"); // NOI18N

    binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(
            org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, this,
            org.jdesktop.beansbinding.ELProperty.create("${selectedConfig.redshiftConfiguration.correctFlux}"),
            correctFlux, org.jdesktop.beansbinding.BeanProperty.create("selected"));
    bindingGroup.addBinding(binding);

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

    binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(
            org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, this,
            org.jdesktop.beansbinding.ELProperty.create("${selectedConfig.redshiftConfiguration.toRedshift}"),
            jTextField8, org.jdesktop.beansbinding.BeanProperty.create("text"));
    bindingGroup.addBinding(binding);

    jLabel11.setText("Move to redshift:");
    jLabel11.setName("jLabel11"); // NOI18N

    redshiftButton.setText("Redshift");
    redshiftButton.setName("redshiftButton"); // NOI18N
    redshiftButton.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            redshiftButtonActionPerformed(evt);
        }
    });

    jLabel6.setText("Add or multiply normalization constant:");
    jLabel6.setName("jLabel6"); // NOI18N

    buttonGroup2.add(jRadioButton3);
    jRadioButton3.setText("Add");
    jRadioButton3.setName("jRadioButton3"); // NOI18N

    binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(
            org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, this,
            org.jdesktop.beansbinding.ELProperty.create("${selectedConfig.normConfiguration.add}"),
            jRadioButton3, org.jdesktop.beansbinding.BeanProperty.create("selected"));
    bindingGroup.addBinding(binding);

    buttonGroup2.add(jRadioButton4);
    jRadioButton4.setText("Multiply");
    jRadioButton4.setName("jRadioButton4"); // NOI18N

    binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(
            org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, this,
            org.jdesktop.beansbinding.ELProperty.create("${selectedConfig.normConfiguration.multiply}"),
            jRadioButton4, org.jdesktop.beansbinding.BeanProperty.create("selected"));
    bindingGroup.addBinding(binding);

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

    binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(
            org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, this,
            org.jdesktop.beansbinding.ELProperty.create("${selectedConfig.normConfiguration.xmax}"),
            integrationXMaxText, org.jdesktop.beansbinding.BeanProperty.create("text"));
    bindingGroup.addBinding(binding);
    binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(
            org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, jRadioButton1,
            org.jdesktop.beansbinding.ELProperty.create("${selected}"), integrationXMaxText,
            org.jdesktop.beansbinding.BeanProperty.create("enabled"));
    bindingGroup.addBinding(binding);

    integrationMinMaxUnit.setModel(new DefaultComboBoxModel(loadEnum(XUnit.class)));
    integrationMinMaxUnit.setToolTipText("null");
    integrationMinMaxUnit.setName("integrationMinMaxUnit"); // NOI18N

    binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(
            org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, this,
            org.jdesktop.beansbinding.ELProperty.create("${selectedConfig.normConfiguration.XUnits}"),
            integrationMinMaxUnit, org.jdesktop.beansbinding.BeanProperty.create("selectedItem"));
    bindingGroup.addBinding(binding);
    binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(
            org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, jRadioButton1,
            org.jdesktop.beansbinding.ELProperty.create("${selected}"), integrationMinMaxUnit,
            org.jdesktop.beansbinding.BeanProperty.create("enabled"));
    bindingGroup.addBinding(binding);

    integrationYUnit.setModel(new javax.swing.DefaultComboBoxModel(
            new String[] { "erg/s/cm2", "Jy-Hz", "Watt/m2", "erg/s", "Watt" }));
    integrationYUnit.setName("integrationYUnit"); // NOI18N

    binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(
            org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, this,
            org.jdesktop.beansbinding.ELProperty
                    .create("${selectedConfig.normConfiguration.integrateValueYUnits}"),
            integrationYUnit, org.jdesktop.beansbinding.BeanProperty.create("selectedItem"));
    bindingGroup.addBinding(binding);
    binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(
            org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, jRadioButton1,
            org.jdesktop.beansbinding.ELProperty.create("${selected}"), integrationYUnit,
            org.jdesktop.beansbinding.BeanProperty.create("enabled"));
    bindingGroup.addBinding(binding);

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

    binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(
            org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, this,
            org.jdesktop.beansbinding.ELProperty.create("${selectedConfig.normConfiguration.YValue}"),
            integrationValueText, org.jdesktop.beansbinding.BeanProperty.create("text"));
    bindingGroup.addBinding(binding);
    binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(
            org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, this,
            org.jdesktop.beansbinding.ELProperty
                    .create("${selectedConfig.normConfiguration.integrateYTextEnabled}"),
            integrationValueText, org.jdesktop.beansbinding.BeanProperty.create("enabled"));
    bindingGroup.addBinding(binding);

    integrationNormType
            .setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Value", "Average", "Median" }));
    integrationNormType.setName("integrationNormType"); // NOI18N

    binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(
            org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, this,
            org.jdesktop.beansbinding.ELProperty.create("${selectedConfig.normConfiguration.stats}"),
            integrationNormType, org.jdesktop.beansbinding.BeanProperty.create("selectedItem"));
    bindingGroup.addBinding(binding);
    binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(
            org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, jRadioButton1,
            org.jdesktop.beansbinding.ELProperty.create("${selected}"), integrationNormType,
            org.jdesktop.beansbinding.BeanProperty.create("enabled"));
    bindingGroup.addBinding(binding);

    integrationNormToLabel.setText("Normalize to");
    integrationNormToLabel.setName("integrationNormToLabel"); // NOI18N

    binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(
            org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, jRadioButton1,
            org.jdesktop.beansbinding.ELProperty.create("${selected}"), integrationNormToLabel,
            org.jdesktop.beansbinding.BeanProperty.create("enabled"));
    bindingGroup.addBinding(binding);

    integrationXMinLabel.setText("X Min:");
    integrationXMinLabel.setName("integrationXMinLabel"); // NOI18N

    binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(
            org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, jRadioButton1,
            org.jdesktop.beansbinding.ELProperty.create("${selected}"), integrationXMinLabel,
            org.jdesktop.beansbinding.BeanProperty.create("enabled"));
    bindingGroup.addBinding(binding);

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

    binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(
            org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, this,
            org.jdesktop.beansbinding.ELProperty.create("${selectedConfig.normConfiguration.xmin}"),
            integrationXMinText, org.jdesktop.beansbinding.BeanProperty.create("text"));
    bindingGroup.addBinding(binding);
    binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(
            org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, jRadioButton1,
            org.jdesktop.beansbinding.ELProperty.create("${selected}"), integrationXMinText,
            org.jdesktop.beansbinding.BeanProperty.create("enabled"));
    bindingGroup.addBinding(binding);

    buttonGroup1.add(jRadioButton1);
    jRadioButton1.setText("Integration");
    jRadioButton1.setName("jRadioButton1"); // NOI18N

    binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(
            org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, this,
            org.jdesktop.beansbinding.ELProperty.create("${selectedConfig.normConfiguration.integrate}"),
            jRadioButton1, org.jdesktop.beansbinding.BeanProperty.create("selected"));
    bindingGroup.addBinding(binding);

    buttonGroup1.add(jRadioButton2);
    jRadioButton2.setText("At point");
    jRadioButton2.setName("jRadioButton2"); // NOI18N

    binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(
            org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, this,
            org.jdesktop.beansbinding.ELProperty.create("${selectedConfig.normConfiguration.atPoint}"),
            jRadioButton2, org.jdesktop.beansbinding.BeanProperty.create("selected"));
    bindingGroup.addBinding(binding);

    atPointXLabel.setText("X:");
    atPointXLabel.setName("atPointXLabel"); // NOI18N

    binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(
            org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, jRadioButton2,
            org.jdesktop.beansbinding.ELProperty.create("${selected}"), atPointXLabel,
            org.jdesktop.beansbinding.BeanProperty.create("enabled"));
    bindingGroup.addBinding(binding);

    atPointYLabel.setText("Y:");
    atPointYLabel.setName("atPointYLabel"); // NOI18N

    binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(
            org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, jRadioButton2,
            org.jdesktop.beansbinding.ELProperty.create("${selected}"), atPointYLabel,
            org.jdesktop.beansbinding.BeanProperty.create("enabled"));
    bindingGroup.addBinding(binding);

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

    binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(
            org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, this,
            org.jdesktop.beansbinding.ELProperty.create("${selectedConfig.normConfiguration.atPointXValue}"),
            atPointXText, org.jdesktop.beansbinding.BeanProperty.create("text"));
    bindingGroup.addBinding(binding);
    binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(
            org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, jRadioButton2,
            org.jdesktop.beansbinding.ELProperty.create("${selected}"), atPointXText,
            org.jdesktop.beansbinding.BeanProperty.create("enabled"));
    bindingGroup.addBinding(binding);

    atPointYType.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Value", "Average", "Median" }));
    atPointYType.setName("atPointYType"); // NOI18N

    binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(
            org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, this,
            org.jdesktop.beansbinding.ELProperty.create("${selectedConfig.normConfiguration.atPointStats}"),
            atPointYType, org.jdesktop.beansbinding.BeanProperty.create("selectedItem"));
    bindingGroup.addBinding(binding);
    binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(
            org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, jRadioButton2,
            org.jdesktop.beansbinding.ELProperty.create("${selected}"), atPointYType,
            org.jdesktop.beansbinding.BeanProperty.create("enabled"));
    bindingGroup.addBinding(binding);

    atPointXUnit.setModel(new DefaultComboBoxModel(loadEnum(XUnit.class)));
    atPointXUnit.setName("atPointXUnit"); // NOI18N

    binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(
            org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, this,
            org.jdesktop.beansbinding.ELProperty.create("${selectedConfig.normConfiguration.atPointXUnits}"),
            atPointXUnit, org.jdesktop.beansbinding.BeanProperty.create("selectedItem"));
    bindingGroup.addBinding(binding);
    binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(
            org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, jRadioButton2,
            org.jdesktop.beansbinding.ELProperty.create("${selected}"), atPointXUnit,
            org.jdesktop.beansbinding.BeanProperty.create("enabled"));
    bindingGroup.addBinding(binding);

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

    binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(
            org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, this,
            org.jdesktop.beansbinding.ELProperty.create("${selectedConfig.normConfiguration.atPointYValue}"),
            atPointYText, org.jdesktop.beansbinding.BeanProperty.create("text"));
    bindingGroup.addBinding(binding);
    binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(
            org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, this,
            org.jdesktop.beansbinding.ELProperty
                    .create("${selectedConfig.normConfiguration.atPointYTextEnabled}"),
            atPointYText, org.jdesktop.beansbinding.BeanProperty.create("enabled"));
    bindingGroup.addBinding(binding);

    atPointYUnit.setModel(new DefaultComboBoxModel(loadEnum(SPVYUnit.class)));
    atPointYUnit.setName("atPointYUnit"); // NOI18N

    binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(
            org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, this,
            org.jdesktop.beansbinding.ELProperty.create("${selectedConfig.normConfiguration.atPointYUnits}"),
            atPointYUnit, org.jdesktop.beansbinding.BeanProperty.create("selectedItem"));
    bindingGroup.addBinding(binding);
    binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(
            org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, jRadioButton2,
            org.jdesktop.beansbinding.ELProperty.create("${selected}"), atPointYUnit,
            org.jdesktop.beansbinding.BeanProperty.create("enabled"));
    bindingGroup.addBinding(binding);

    normalizeButton.setText("Normalize");
    normalizeButton.setName("normalizeButton"); // NOI18N
    normalizeButton.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            normalizeButtonActionPerformed(evt);
        }
    });

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

    integrationXMaxLabel.setText("X Max:");
    integrationXMaxLabel.setName("integrationXMaxLabel"); // NOI18N

    binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(
            org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, jRadioButton1,
            org.jdesktop.beansbinding.ELProperty.create("${selected}"), integrationXMaxLabel,
            org.jdesktop.beansbinding.BeanProperty.create("enabled"));
    bindingGroup.addBinding(binding);

    jCheckBox1.setText("Create SED");
    jCheckBox1.setToolTipText("Create and view SED after redshifting");
    jCheckBox1.setName("jCheckBox1"); // NOI18N

    binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(
            org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, this,
            org.jdesktop.beansbinding.ELProperty.create("${createSedAfterRedshift}"), jCheckBox1,
            org.jdesktop.beansbinding.BeanProperty.create("selected"));
    bindingGroup.addBinding(binding);

    jCheckBox2.setText("Create SED");
    jCheckBox2.setToolTipText("Create and view SED after normalizing");
    jCheckBox2.setName("jCheckBox2"); // NOI18N

    binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(
            org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, this,
            org.jdesktop.beansbinding.ELProperty.create("${createSedAfterNormalize}"), jCheckBox2,
            org.jdesktop.beansbinding.BeanProperty.create("selected"));
    bindingGroup.addBinding(binding);

    org.jdesktop.layout.GroupLayout jPanel5Layout = new org.jdesktop.layout.GroupLayout(jPanel5);
    jPanel5.setLayout(jPanel5Layout);
    jPanel5Layout
            .setHorizontalGroup(jPanel5Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(jPanel5Layout.createSequentialGroup().addContainerGap().add(jPanel5Layout
                            .createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING).add(jSeparator1)
                            .add(jPanel5Layout.createSequentialGroup().add(jLabel11)
                                    .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                                    .add(jTextField8, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 76,
                                            org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                                    .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED).add(correctFlux)
                                    .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED,
                                            org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .add(jCheckBox1).addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                                    .add(redshiftButton))
                            .add(jPanel5Layout.createSequentialGroup().add(jPanel5Layout
                                    .createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                                    .add(jPanel5Layout.createSequentialGroup().add(jRadioButton2)
                                            .add(26, 26, 26)
                                            .add(jPanel5Layout
                                                    .createParallelGroup(
                                                            org.jdesktop.layout.GroupLayout.LEADING)
                                                    .add(jPanel5Layout.createSequentialGroup()
                                                            .add(atPointXLabel)
                                                            .addPreferredGap(
                                                                    org.jdesktop.layout.LayoutStyle.RELATED)
                                                            .add(atPointXText,
                                                                    org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
                                                                    73,
                                                                    org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                                                            .add(3, 3, 3).add(atPointXUnit,
                                                                    org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
                                                                    116,
                                                                    org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                                                    .add(jPanel5Layout.createSequentialGroup()
                                                            .add(atPointYLabel)
                                                            .addPreferredGap(
                                                                    org.jdesktop.layout.LayoutStyle.RELATED)
                                                            .add(atPointYType,
                                                                    org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
                                                                    org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
                                                                    org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                                                            .addPreferredGap(
                                                                    org.jdesktop.layout.LayoutStyle.RELATED)
                                                            .add(atPointYText,
                                                                    org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
                                                                    78,
                                                                    org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                                                            .add(7, 7, 7)
                                                            .add(atPointYUnit,
                                                                    org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
                                                                    116,
                                                                    org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))))
                                    .add(jPanel5Layout.createSequentialGroup().add(jPanel5Layout
                                            .createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
                                            .add(jPanel5Layout.createSequentialGroup()
                                                    .add(integrationNormToLabel)
                                                    .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                                                    .add(integrationNormType,
                                                            org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
                                                            org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
                                                            org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                                                    .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED))
                                            .add(jPanel5Layout.createSequentialGroup().add(jRadioButton1)
                                                    .add(8, 8, 8).add(integrationXMinLabel).add(3, 3, 3)
                                                    .add(integrationXMinText,
                                                            org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 73,
                                                            org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                                                    .addPreferredGap(
                                                            org.jdesktop.layout.LayoutStyle.RELATED)
                                                    .add(integrationXMaxLabel).add(3, 3, 3)))
                                            .add(jPanel5Layout
                                                    .createParallelGroup(
                                                            org.jdesktop.layout.GroupLayout.TRAILING, false)
                                                    .add(jPanel5Layout
                                                            .createSequentialGroup()
                                                            .add(integrationXMaxText,
                                                                    org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
                                                                    73,
                                                                    org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                                                            .addPreferredGap(
                                                                    org.jdesktop.layout.LayoutStyle.RELATED)
                                                            .add(integrationMinMaxUnit,
                                                                    org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
                                                                    116,
                                                                    org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                                                    .add(jPanel5Layout.createSequentialGroup().add(
                                                            integrationValueText,
                                                            org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 73,
                                                            org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                                                            .addPreferredGap(
                                                                    org.jdesktop.layout.LayoutStyle.RELATED)
                                                            .add(integrationYUnit,
                                                                    org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
                                                                    116,
                                                                    org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))))
                                    .add(jPanel5Layout.createSequentialGroup().add(jLabel6)
                                            .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                                            .add(jRadioButton3)
                                            .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                                            .add(jRadioButton4)))
                                    .add(0, 0, Short.MAX_VALUE))
                            .add(org.jdesktop.layout.GroupLayout.TRAILING,
                                    jPanel5Layout.createSequentialGroup().add(0, 0, Short.MAX_VALUE)
                                            .add(jCheckBox2)
                                            .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                                            .add(normalizeButton)))
                            .addContainerGap()));
    jPanel5Layout.setVerticalGroup(jPanel5Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(jPanel5Layout.createSequentialGroup()
                    .add(jPanel5Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                            .add(jPanel5Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                                    .add(correctFlux)
                                    .add(jTextField8, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
                                            org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
                                            org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                                    .add(jLabel11))
                            .add(jPanel5Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                                    .add(redshiftButton).add(jCheckBox1)))
                    .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                    .add(jSeparator1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 10,
                            org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                    .add(jPanel5Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                            .add(jLabel6).add(jRadioButton3).add(jRadioButton4))
                    .add(18, 18, 18)
                    .add(jPanel5Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                            .add(jRadioButton1)
                            .add(integrationMinMaxUnit, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
                                    org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
                                    org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                            .add(integrationXMaxText, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
                                    org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
                                    org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                            .add(integrationXMinText, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
                                    org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
                                    org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                            .add(integrationXMinLabel).add(integrationXMaxLabel))
                    .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                    .add(jPanel5Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                            .add(integrationYUnit, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
                                    org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
                                    org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                            .add(integrationValueText, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
                                    org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
                                    org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                            .add(integrationNormType, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
                                    org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
                                    org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                            .add(integrationNormToLabel))
                    .add(11, 11, 11)
                    .add(jPanel5Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                            .add(jRadioButton2)
                            .add(jPanel5Layout.createSequentialGroup().add(jPanel5Layout
                                    .createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                                    .add(jPanel5Layout
                                            .createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                                            .add(atPointXText, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
                                                    org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
                                                    org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                                            .add(atPointXLabel))
                                    .add(atPointXUnit, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
                                            org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
                                            org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                                    .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                                    .add(jPanel5Layout
                                            .createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                                            .add(atPointYLabel)
                                            .add(atPointYType, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
                                                    org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
                                                    org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                                            .add(atPointYText, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
                                                    org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
                                                    org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                                            .add(atPointYUnit, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
                                                    org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
                                                    org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))))
                    .addPreferredGap(org.jdesktop.layout.LayoutStyle.UNRELATED)
                    .add(jPanel5Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                            .add(normalizeButton).add(jCheckBox2))
                    .addContainerGap(org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)));

    jPanel4.setBorder(javax.swing.BorderFactory.createTitledBorder("Added SEDs"));
    jPanel4.setName("jPanel4"); // NOI18N

    addButton.setText("Add...");
    addButton.setName("addButton"); // NOI18N
    addButton.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            addButtonActionPerformed(evt);
        }
    });

    removeButton.setText("Remove");
    removeButton.setName("removeButton"); // NOI18N
    removeButton.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            removeButtonActionPerformed(evt);
        }
    });

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

    sedsTable.setModel(new StackTableModel());
    sedsTable.setName("sedsTable"); // NOI18N
    sedsTable.getTableHeader().setReorderingAllowed(false);

    binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(
            org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, this,
            org.jdesktop.beansbinding.ELProperty.create("${selectedSeds}"), sedsTable,
            org.jdesktop.beansbinding.BeanProperty.create("selectedElements"));
    bindingGroup.addBinding(binding);

    sedsTable.addMouseListener(new java.awt.event.MouseAdapter() {
        public void mousePressed(java.awt.event.MouseEvent evt) {
            sedsTableMousePressed(evt);
        }
    });
    jScrollPane2.setViewportView(sedsTable);

    org.jdesktop.layout.GroupLayout jPanel4Layout = new org.jdesktop.layout.GroupLayout(jPanel4);
    jPanel4.setLayout(jPanel4Layout);
    jPanel4Layout
            .setHorizontalGroup(jPanel4Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(org.jdesktop.layout.GroupLayout.TRAILING, jPanel4Layout.createSequentialGroup()
                            .add(jPanel4Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                                    .add(addButton).add(removeButton))
                            .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED).add(jScrollPane2,
                                    org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 653, Short.MAX_VALUE)));
    jPanel4Layout.setVerticalGroup(jPanel4Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(jPanel4Layout.createSequentialGroup().add(addButton)
                    .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED).add(removeButton))
            .add(jScrollPane2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 160,
                    org.jdesktop.layout.GroupLayout.PREFERRED_SIZE));

    jPanel6.setBorder(javax.swing.BorderFactory.createTitledBorder("Stacking Options"));
    jPanel6.setName("jPanel6"); // NOI18N

    jLabel7.setText("Statistic:");
    jLabel7.setName("jLabel7"); // NOI18N

    stackStatisticComboBox
            .setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Average", "Weighted Avg", "Sum" }));
    stackStatisticComboBox.setName("stackStatisticComboBox"); // NOI18N

    binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(
            org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, this,
            org.jdesktop.beansbinding.ELProperty.create("${selectedConfig.stackConfiguration.statistic}"),
            stackStatisticComboBox, org.jdesktop.beansbinding.BeanProperty.create("selectedItem"));
    bindingGroup.addBinding(binding);

    smoothCheckBox.setText("Smooth");
    smoothCheckBox.setName("smoothCheckBox"); // NOI18N

    binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(
            org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, this,
            org.jdesktop.beansbinding.ELProperty.create("${selectedConfig.stackConfiguration.smooth}"),
            smoothCheckBox, org.jdesktop.beansbinding.BeanProperty.create("selected"));
    bindingGroup.addBinding(binding);

    jLabel8.setText("Box Size:");
    jLabel8.setName("jLabel8"); // NOI18N

    binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(
            org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, smoothCheckBox,
            org.jdesktop.beansbinding.ELProperty.create("${selected}"), jLabel8,
            org.jdesktop.beansbinding.BeanProperty.create("enabled"));
    bindingGroup.addBinding(binding);

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

    binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(
            org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, this,
            org.jdesktop.beansbinding.ELProperty.create("${selectedConfig.stackConfiguration.smoothBinsize}"),
            jTextField6, org.jdesktop.beansbinding.BeanProperty.create("text"));
    bindingGroup.addBinding(binding);
    binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(
            org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, smoothCheckBox,
            org.jdesktop.beansbinding.ELProperty.create("${selected}"), jTextField6,
            org.jdesktop.beansbinding.BeanProperty.create("enabled"));
    bindingGroup.addBinding(binding);

    logBinningCheckBox.setText("Logarithmic Binning");
    logBinningCheckBox.setToolTipText(
            "java.lang.String \"Note: If logarithmic binning is on, the Bin Size is also logarithmic (e.g., a bin size of 1.0 with logarithmic binning spans 1 decade).\""); // NOI18N
    logBinningCheckBox.setName("logBinningCheckBox"); // NOI18N

    binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(
            org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, this,
            org.jdesktop.beansbinding.ELProperty.create("${selectedConfig.stackConfiguration.logbin}"),
            logBinningCheckBox, org.jdesktop.beansbinding.BeanProperty.create("selected"));
    bindingGroup.addBinding(binding);

    jLabel9.setText("Bin Size:");
    jLabel9.setName("jLabel9"); // NOI18N

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

    binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(
            org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, this,
            org.jdesktop.beansbinding.ELProperty.create("${selectedConfig.stackConfiguration.binsize}"),
            binsizeTextField, org.jdesktop.beansbinding.BeanProperty.create("text"));
    bindingGroup.addBinding(binding);

    stackBinSizeUnitsComboBox.setModel(new DefaultComboBoxModel(loadEnum(XUnit.class)));
    stackBinSizeUnitsComboBox.setName("stackBinSizeUnitsComboBox"); // NOI18N

    binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(
            org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, this,
            org.jdesktop.beansbinding.ELProperty.create("${selectedConfig.stackConfiguration.binsizeUnit}"),
            stackBinSizeUnitsComboBox, org.jdesktop.beansbinding.BeanProperty.create("selectedItem"));
    bindingGroup.addBinding(binding);

    jLabel10.setText("Bin Size Units:");
    jLabel10.setName("jLabel10"); // NOI18N

    stackButton.setText("Stack!");
    stackButton.setName("stackButton"); // NOI18N
    stackButton.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            stackButtonActionPerformed(evt);
        }
    });

    stackYUnitComboBox.setModel(new DefaultComboBoxModel(loadEnum(SPVYUnit.class)));
    stackYUnitComboBox.setName("stackYUnitComboBox"); // NOI18N

    binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(
            org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, this,
            org.jdesktop.beansbinding.ELProperty.create("${selectedConfig.stackConfiguration.YUnits}"),
            stackYUnitComboBox, org.jdesktop.beansbinding.BeanProperty.create("selectedItem"));
    bindingGroup.addBinding(binding);

    jLabel1.setText("Y Axis:");
    jLabel1.setName("jLabel1"); // NOI18N

    org.jdesktop.layout.GroupLayout jPanel6Layout = new org.jdesktop.layout.GroupLayout(jPanel6);
    jPanel6.setLayout(jPanel6Layout);
    jPanel6Layout.setHorizontalGroup(jPanel6Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(jPanel6Layout.createSequentialGroup().addContainerGap().add(jPanel6Layout
                    .createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(org.jdesktop.layout.GroupLayout.TRAILING,
                            jPanel6Layout.createSequentialGroup().add(0, 0, Short.MAX_VALUE).add(stackButton)
                                    .addContainerGap())
                    .add(jPanel6Layout.createSequentialGroup().add(29, 29, 29).add(jLabel8)
                            .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED).add(jTextField6)
                            .add(17, 17, 17))
                    .add(jPanel6Layout.createSequentialGroup()
                            .add(jPanel6Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                                    .add(jPanel6Layout.createSequentialGroup().add(jLabel10)
                                            .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                                            .add(stackBinSizeUnitsComboBox,
                                                    org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 116,
                                                    org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                                    .add(jPanel6Layout.createSequentialGroup().add(jPanel6Layout
                                            .createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                                            .add(jLabel7).add(jLabel1))
                                            .add(jPanel6Layout
                                                    .createParallelGroup(
                                                            org.jdesktop.layout.GroupLayout.LEADING)
                                                    .add(jPanel6Layout.createSequentialGroup().add(12, 12, 12)
                                                            .add(stackYUnitComboBox,
                                                                    org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
                                                                    143,
                                                                    org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                                                    .add(jPanel6Layout.createSequentialGroup()
                                                            .addPreferredGap(
                                                                    org.jdesktop.layout.LayoutStyle.UNRELATED)
                                                            .add(stackStatisticComboBox,
                                                                    org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
                                                                    143,
                                                                    org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))))
                                    .add(smoothCheckBox).add(logBinningCheckBox)
                                    .add(jPanel6Layout.createSequentialGroup().add(jLabel9).add(43, 43, 43).add(
                                            binsizeTextField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
                                            115, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)))
                            .addContainerGap(org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))));
    jPanel6Layout.setVerticalGroup(jPanel6Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(jPanel6Layout.createSequentialGroup().addContainerGap()
                    .add(jPanel6Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                            .add(jLabel7).add(stackStatisticComboBox,
                                    org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
                                    org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
                                    org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                    .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED,
                            org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .add(jPanel6Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                            .add(stackYUnitComboBox, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
                                    org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
                                    org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                            .add(jLabel1))
                    .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                    .add(jPanel6Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                            .add(jLabel9).add(binsizeTextField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
                                    org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
                                    org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                    .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                    .add(jPanel6Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                            .add(jLabel10).add(stackBinSizeUnitsComboBox,
                                    org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
                                    org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
                                    org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                    .add(9, 9, 9).add(logBinningCheckBox)
                    .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED).add(smoothCheckBox)
                    .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                    .add(jPanel6Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                            .add(jLabel8).add(jTextField6, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
                                    org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
                                    org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                    .add(18, 18, 18).add(stackButton).add(18, 18, 18)));

    jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder("Managment"));
    jPanel2.setName("jPanel2"); // NOI18N

    resetButton.setText("Reset");
    resetButton.setToolTipText("Reset SEDs to their original values");
    resetButton.setName("resetButton"); // NOI18N
    resetButton.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            resetButtonActionPerformed(evt);
        }
    });

    deleteButton.setText("Delete");
    deleteButton.setToolTipText("Delete the currently selected Stack");
    deleteButton.setName("deleteButton"); // NOI18N
    deleteButton.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            deleteButtonActionPerformed(evt);
        }
    });

    createSedButton.setText("Create SED");
    createSedButton.setToolTipText("Create new SED of the current Stack.");
    createSedButton.setName("createSedButton"); // NOI18N
    createSedButton.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            createSedButtonActionPerformed(evt);
        }
    });

    org.jdesktop.layout.GroupLayout jPanel2Layout = new org.jdesktop.layout.GroupLayout(jPanel2);
    jPanel2.setLayout(jPanel2Layout);
    jPanel2Layout.setHorizontalGroup(jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(jPanel2Layout.createSequentialGroup()
                    .add(jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                            .add(resetButton).add(createSedButton).add(deleteButton))
                    .addContainerGap(org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)));
    jPanel2Layout.setVerticalGroup(jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(jPanel2Layout.createSequentialGroup().addContainerGap().add(resetButton)
                    .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED).add(deleteButton)
                    .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED,
                            org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .add(createSedButton).addContainerGap()));

    org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(getContentPane());
    getContentPane().setLayout(layout);
    layout.setHorizontalGroup(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING).add(layout
            .createSequentialGroup().addContainerGap()
            .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING, false)
                    .add(jPanel4, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
                            org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
                            org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .add(layout.createSequentialGroup()
                            .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                                    .add(jButton1).add(jPanel1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
                                            org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
                                            org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                            .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED).add(jPanel5,
                                    org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
                                    org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
            .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
            .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING, false)
                    .add(org.jdesktop.layout.GroupLayout.LEADING, jPanel2,
                            org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
                            org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .add(org.jdesktop.layout.GroupLayout.LEADING, jPanel6,
                            org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
                            org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
            .add(0, 10, Short.MAX_VALUE)));
    layout.setVerticalGroup(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(org.jdesktop.layout.GroupLayout.TRAILING, layout.createSequentialGroup()
                    .addContainerGap(org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING, false)
                            .add(org.jdesktop.layout.GroupLayout.LEADING, layout.createSequentialGroup()
                                    .add(jButton1).addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                                    .add(jPanel1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
                                            org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                            .add(org.jdesktop.layout.GroupLayout.LEADING, jPanel6,
                                    org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 301, Short.MAX_VALUE)
                            .add(org.jdesktop.layout.GroupLayout.LEADING, jPanel5,
                                    org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
                                    org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                    .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                    .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING, false)
                            .add(jPanel4, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
                                    org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .add(jPanel2, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
                                    org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                    .addContainerGap()));

    bindingGroup.bind();

    pack();
}

From source file:src.gui.ItSIMPLE.java

public Element solveProblemWithPlannersList(Element project, Element domain, Element problem, String pddlDomain,
        String pddlProblem, List<Element> planners) {
    Element container = null;/*  w  w w.j  a  v  a  2s  .  c o m*/

    if (project != null && problem != null) {
        container = new Element("problem");
        container.setAttribute("id", problem.getAttributeValue("id"));
        container.addContent((Element) problem.getChild("name").clone());

        //add metrics (domain and problem level) to the problem reference (container)
        Element mainMetrics = PlanSimulator.createMetricsNode(problem, domain);
        container.addContent(mainMetrics);

        Element thePlans = new Element("plans");
        container.addContent(thePlans);

        //just in case the pddl is empty or null;
        if (pddlDomain == null || pddlDomain.trim().equals("") || pddlProblem == null
                || pddlProblem.trim().equals("")) {

            String pddlVersion = pddlButtonsGroup.getSelection().getActionCommand();
            // generate PDDL domain                     // root element
            Element xpddlDomain = ToXPDDL.XMLToXPDDLDomain(project, pddlVersion, null);
            // generate PDDL problem
            Element xpddlProblem = ToXPDDL.XMLToXPDDLProblem(problem, pddlVersion);

            ToXPDDL.adjustRequirements(xpddlDomain, xpddlProblem, pddlVersion);

            pddlDomain = XPDDLToPDDL.parseXPDDLToPDDL(xpddlDomain, "");
            pddlProblem = XPDDLToPDDL.parseXPDDLToPDDL(xpddlProblem, "");
        }

        // save in auxiliary files
        File domainFile = new File("resources/planners/domain.pddl");
        File problemFile = new File("resources/planners/problem.pddl");
        try {
            FileWriter domainWriter = new FileWriter(domainFile);
            domainWriter.write(pddlDomain);
            domainWriter.close();

            FileWriter problemWriter = new FileWriter(problemFile);
            problemWriter.write(pddlProblem);
            problemWriter.close();
        } catch (IOException e1) {
            e1.printStackTrace();
        }

        // execute planner

        exe = new ExecPlanner(null, domainFile.getPath(), problemFile.getPath(), true);

        exe.setXMLDomain(problem.getParentElement().getParentElement());
        exe.setXMLProblem(problem);
        exe.setProblemName(problem.getChildText("name"));
        exe.setDomainName(problem.getParentElement().getParentElement().getChildText("name"));
        exe.setProjectName(project.getChildText("name"));
        exe.setShowReport(false);

        appendOutputPanelText(">> Solving " + problem.getChildText("name") + " with selected planner(s) \n");

        JLabel status = ItSIMPLE.getInstance().getPlanSimStatusBar();

        //TODO: check if each planners is enabled to be included in the run all procedure
        for (Iterator<Element> it = planners.iterator(); it.hasNext();) {

            //stop this 'for' if the user press STOP
            if (stopRunningPlanners) {
                break;
            }

            Element planner = it.next();
            //hideSimProgressBar();
            status.setText("Status: Solving planning problem ...");

            /// set start datetime
            DateFormat dateFormat = new SimpleDateFormat("HH:mm:ss yyyy-MM-dd");
            Date date = new Date();
            String dateTime = dateFormat.format(date);

            //record in the log file
            savetologfile("Starting: " + domain.getChildText("name").replaceAll(".pddl", "") + "; "
                    + problem.getChildText("name").replaceAll(".pddl", "") + "; "
                    + planner.getChildText("name"));

            try {
                appendOutputPanelText("\n     Solving " + problem.getChildText("name") + " with planner "
                        + planner.getChildText("name") + " \n");
                status.setText("Status: Solving planning problem " + problem.getChildText("name")
                        + " with planner " + planner.getChildText("name") + "... \n");
                skipPlannerProblemButton.setToolTipText("<html>Skip planning:<br /><strong>Planner</strong>:"
                        + planner.getChildText("name") + "<br/><strong>Problem</strong>:" + exe.getProblemName()
                        + "<br/><strong>Started at</strong>:" + dateTime + "</html>");
                exe.setChosenPlanner(planner);
                //Element result = exe.solveProblem();

                //New approach if timeout and theads

                //Garantee that there will be the minimal information in a empty plan
                exe.setEmptyPlan();

                Element result = null;
                plannerThread = new Thread() {
                    public void run() {
                        exe.solveProblem();
                    }
                };

                //TODO:
                // 1. We must get if it was time out or not ant put it in the report (the result xml)

                // Master Time-Out
                boolean masterTimeOutEnabled = itPlanners.getChild("settings").getChild("timeout")
                        .getAttributeValue("enabled").equals("true");
                long masterTimeOutValue = 0;
                if (!itPlanners.getChild("settings").getChildText("timeout").trim().equals("")) {
                    masterTimeOutValue = Long
                            .parseLong(itPlanners.getChild("settings").getChildText("timeout"));
                }

                // Local Time-out
                boolean localTimeOutEnabled = planner.getChild("settings").getChild("timeout")
                        .getAttributeValue("enabled").equals("true");
                long localTimeOutValue = 0;

                if (!planner.getChild("settings").getChildText("timeout").trim().equals("")) {
                    localTimeOutValue = Long.parseLong(planner.getChild("settings").getChildText("timeout"));
                }

                // Time-out value
                long timeout = 0;
                if (localTimeOutEnabled)
                    timeout = localTimeOutValue;
                else if (masterTimeOutEnabled)
                    timeout = masterTimeOutValue;

                timeout = timeout * 1000; // seconds to milliseconds
                if (timeout > 0) {
                    simProgressBar.setVisible(true);
                    simProgressBar.setValue(0);
                    String barmax = Long.toString(timeout / 1000);
                    simProgressBar.setMaximum(Integer.parseInt(barmax));
                    simProgressBar.setString("0 of " + barmax + " (s)");

                    //System.out.println(barmax);

                    TimeKiller timeKiller = new TimeKiller(plannerThread, timeout); // Timeout
                    long start = System.currentTimeMillis();
                    plannerThread.start();
                    //wait to finish normaly or by timeout
                    long timespent = 0;
                    String timespentStr = "0";
                    DecimalFormat df = new DecimalFormat("###.#");
                    while (!timeKiller.isFinished() && plannerThread.isAlive() && !forceFinish) {
                        Thread.sleep(200); //sleep

                        timespent = System.currentTimeMillis() - start;
                        //timespentStr = Long.toString((System.currentTimeMillis() - start)/1000);
                        timespentStr = Long.toString((timespent) / 1000);
                        int barvalue = Integer.parseInt(timespentStr);
                        simProgressBar.setValue(barvalue);
                        String percentage = df.format(simProgressBar.getPercentComplete() * 100);
                        simProgressBar
                                .setString(timespentStr + " of " + barmax + " (s) - (" + percentage + "%)");
                        //simProgressBar.setToolTipText(timespentStr + " of "+ barmax +" (s)");
                        simProgressBar.repaint();
                    }

                    if (forceFinish) {
                        timeKiller.setFinished(true);
                        exe.destroyProcess();
                        plannerThread.interrupt();
                        timeKiller.done();
                        forceFinish = false;
                        //wait for plannerThread to finish
                        while (plannerThread.isAlive()) {
                            Thread.sleep(500); //sleep to finish all killing
                        }

                        //set the reason (skipped) and time in the statistics
                        Element plan = exe.getPlan();
                        //System.out.println("forced " + timespentStr +" - "+ planner.getChildText("name"));
                        Element statistics = plan.getChild("statistics");
                        statistics.getChild("toolTime").setText(timespentStr);
                        Element plannerstatus = statistics.getChild("forcedQuit");
                        plannerstatus.setText("skipped");

                        //set datetime
                        dateTime = dateFormat.format(date);
                        plan.getChild("datetime").setText(dateTime);

                    } else if (timeKiller.isTimeoutReached() || timespent >= timeout) {
                        timeKiller.setFinished(true);
                        exe.destroyProcess();
                        plannerThread.interrupt();
                        timeKiller.done();
                        //wait for plannerThread to finish
                        while (plannerThread.isAlive()) {
                            Thread.sleep(500); //sleep to finish all killing
                        }

                        //set the reason (timeout) and time in the statistics
                        Element plan = exe.getPlan();
                        String thetimeoutstr = Long.toString(timeout / 1000);
                        //System.out.println("timeout "+ thetimeoutstr+" - "+ planner.getChildText("name"));
                        Element statistics = plan.getChild("statistics");
                        statistics.getChild("toolTime").setText(thetimeoutstr);
                        Element plannerstatus = statistics.getChild("forcedQuit");
                        plannerstatus.setText("timeout");

                        //set datetime
                        dateTime = dateFormat.format(date);
                        plan.getChild("datetime").setText(dateTime);
                    }

                } else { // without time-out
                    simTimeSpent.setText("");
                    long start = System.currentTimeMillis();
                    plannerThread.start();
                    long timespent = 0;
                    String timespentStr = "0";
                    while (plannerThread.isAlive() && !forceFinish) {
                        Thread.sleep(200); //sleep
                        timespent = System.currentTimeMillis() - start;
                        timespentStr = Long.toString(timespent / 1000);
                        simTimeSpent.setText("  Time: " + timespentStr + " (s)");
                        //System.out.println(timespent/1000);
                    }

                    Element plan = exe.getPlan();
                    if (forceFinish) {
                        plannerThread.interrupt();
                        forceFinish = false;
                        //set the reason and time in the statistics
                        Element statistics = plan.getChild("statistics");
                        statistics.getChild("toolTime").setText(timespentStr);
                        Element plannerstatus = statistics.getChild("forcedQuit");
                        plannerstatus.setText("skipped");
                    }
                }
                hideSimProgressBar();
                simTimeSpent.setText("");

                //garantee to destroy process
                exe.destroyProcess();

                //LOG: record it in the log file
                savetologfile("Finish: " + domain.getChildText("name").replaceAll(".pddl", "") + "; "
                        + problem.getChildText("name").replaceAll(".pddl", "") + "; "
                        + planner.getChildText("name") + "\n");

                //get resulting plan (might have plan)
                result = exe.getPlan();
                //End of new approach if timeout and theads

                if (result != null) {
                    //Calculate metrics dataset. Add metrics data to the plan "xmlPlan/metrics"
                    Element metrics = PlanSimulator.createMetricsNode(problem, domain);
                    if (metrics != null && metrics.getChildren().size() > 0
                            && result.getChild("plan").getChildren().size() > 0) {
                        appendOutputPanelText(">> Calculating metrics for the plan given by "
                                + planner.getChildText("name") + ". \n");
                        PlanSimulator.createMetricDatasets(metrics, result, problem, domain, null);
                    }
                    result.addContent(metrics);

                    thePlans.addContent((Element) result.clone());

                    //Log the resulting plan
                    logplan(domain, problem, planner, result);
                } else {
                    appendOutputPanelText(" ## No plan from " + planner.getChildText("name") + "! \n");
                }

                appendOutputPanelText(" (!) Done with " + planner.getChildText("name") + "! \n");
                skipPlannerProblemButton.setToolTipText("");

            } catch (Exception e) {

            }
        }

        status.setText(
                "Status: Done solving planning problem " + problem.getChildText("name") + " with planner(s)!");

        appendOutputPanelText(
                ">> Done solving problem " + problem.getChildText("name") + " with selected planner(s)! \n");

    }

    return container;
}