Example usage for javax.swing JButton setIcon

List of usage examples for javax.swing JButton setIcon

Introduction

In this page you can find the example usage for javax.swing JButton setIcon.

Prototype

@BeanProperty(visualUpdate = true, description = "The button's default icon")
public void setIcon(Icon defaultIcon) 

Source Link

Document

Sets the button's default icon.

Usage

From source file:marytts.tools.voiceimport.DatabaseImportMain.java

protected void setupGUI() {
    // A scroll pane containing one labelled checkbox per component,
    // and a "run selected components" button below.
    GridBagLayout gridBagLayout = new GridBagLayout();
    GridBagConstraints gridC = new GridBagConstraints();
    getContentPane().setLayout(gridBagLayout);

    JPanel checkboxPane = new JPanel();
    checkboxPane.setLayout(new BoxLayout(checkboxPane, BoxLayout.Y_AXIS));
    //checkboxPane.setPreferredSize(new Dimension(300, 300));
    int compIndex = 0;
    for (int j = 0; j < groups2Comps.length; j++) {
        String[] nextGroup = groups2Comps[j];
        JPanel groupPane = new JPanel();
        groupPane.setLayout(new BoxLayout(groupPane, BoxLayout.Y_AXIS));
        groupPane.setBorder(BorderFactory.createCompoundBorder(BorderFactory.createTitledBorder(nextGroup[0]),
                BorderFactory.createEmptyBorder(1, 1, 1, 1)));
        for (int i = 1; i < nextGroup.length; i++) {
            JButton configButton = new JButton();
            Icon configIcon = new ImageIcon(DatabaseImportMain.class.getResource("configure.png"), "Configure");
            configButton.setIcon(configIcon);
            configButton.setPreferredSize(new Dimension(configIcon.getIconWidth(), configIcon.getIconHeight()));
            configButton.addActionListener(new ConfigButtonActionListener(nextGroup[i]));
            configButton.setBorderPainted(false);
            //System.out.println("Adding checkbox for "+components[i].getClass().getName());
            checkboxes[compIndex] = new JCheckBox(nextGroup[i]);
            checkboxes[compIndex].setFocusable(true);
            //checkboxes[i].setPreferredSize(new Dimension(200, 30));
            JPanel line = new JPanel();
            line.setLayout(new BorderLayout(5, 0));
            line.add(configButton, BorderLayout.WEST);
            line.add(checkboxes[compIndex], BorderLayout.CENTER);
            groupPane.add(line);/*from w w w  .ja  v a  2s.  co  m*/
            compIndex++;
        }
        checkboxPane.add(groupPane);
    }
    gridC.gridx = 0;
    gridC.gridy = 0;
    gridC.fill = GridBagConstraints.BOTH;
    JScrollPane scrollPane = new JScrollPane(checkboxPane);
    scrollPane.setPreferredSize(new Dimension(450, 300));
    gridBagLayout.setConstraints(scrollPane, gridC);
    getContentPane().add(scrollPane);

    JButton helpButton = new JButton("Help");
    helpButton.setMnemonic(KeyEvent.VK_H);
    helpButton.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent ae) {
            displayHelpGUI();
        }
    });
    JButton settingsButton = new JButton("Settings");
    settingsButton.setMnemonic(KeyEvent.VK_S);
    settingsButton.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent ae) {
            currentComponent = "Global properties";
            displaySettingsGUI();
        }
    });
    runButton = new JButton("Run");
    runButton.setMnemonic(KeyEvent.VK_R);
    runButton.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent ae) {
            runSelectedComponents();
        }
    });

    JButton quitAndSaveButton = new JButton("Quit");
    quitAndSaveButton.setMnemonic(KeyEvent.VK_Q);
    quitAndSaveButton.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent ae) {
            try {
                askIfSave();
            } catch (IOException ioe) {
                ioe.printStackTrace();
            }
            System.exit(0);
        }
    });

    gridC.gridy = 1;
    JPanel buttonPanel = new JPanel();
    buttonPanel.setLayout(new FlowLayout());
    //buttonPanel.setLayout(new BoxLayout(buttonPanel,BoxLayout.X_AXIS));
    //runButton.setAlignmentX(JButton.LEFT_ALIGNMENT);
    buttonPanel.add(runButton);
    //helpButton.setAlignmentX(JButton.LEFT_ALIGNMENT);
    buttonPanel.add(helpButton);
    //settingsButton.setAlignmentX(JButton.LEFT_ALIGNMENT);
    buttonPanel.add(settingsButton);
    //buttonPanel.add(Box.createHorizontalGlue());
    //quitAndSaveButton.setAlignmentX(JButton.RIGHT_ALIGNMENT);
    buttonPanel.add(quitAndSaveButton);
    gridBagLayout.setConstraints(buttonPanel, gridC);
    getContentPane().add(buttonPanel);

    //getContentPane().setPreferredSize(new Dimension(300, 300));
    // End program when closing window:
    addWindowListener(new WindowAdapter() {
        public void windowClosing(WindowEvent evt) {
            try {
                askIfSave();
            } catch (IOException ioe) {
                ioe.printStackTrace();
            }
            System.exit(0);
        }
    });
}

From source file:com.litt.core.security.license.gui.CustomerPanel.java

public CustomerPanel() {
    GridBagLayout gridBagLayout = new GridBagLayout();
    gridBagLayout.columnWidths = new int[] { 0, 0, 0, 0 };
    gridBagLayout.rowHeights = new int[] { 0, 0, 0, 0, 0, 0, 0, 0, 0 };
    gridBagLayout.columnWeights = new double[] { 0.0, 1.0, 0.0, Double.MIN_VALUE };
    gridBagLayout.rowWeights = new double[] { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0 };
    setLayout(gridBagLayout);/* w  w  w  . j a v a2s.  c o  m*/

    JLabel lblProduct = new JLabel("\u4EA7\u54C1\uFF1A");
    GridBagConstraints gbc_lblProduct = new GridBagConstraints();
    gbc_lblProduct.insets = new Insets(0, 0, 5, 5);
    gbc_lblProduct.anchor = GridBagConstraints.EAST;
    gbc_lblProduct.gridx = 0;
    gbc_lblProduct.gridy = 0;
    add(lblProduct, gbc_lblProduct);

    comboBoxProduct = new JComboBox();
    GridBagConstraints gbc_comboBoxProduct = new GridBagConstraints();
    gbc_comboBoxProduct.insets = new Insets(0, 0, 5, 5);
    gbc_comboBoxProduct.fill = GridBagConstraints.HORIZONTAL;
    gbc_comboBoxProduct.gridx = 1;
    gbc_comboBoxProduct.gridy = 0;
    add(comboBoxProduct, gbc_comboBoxProduct);

    JButton btnRefresh = new JButton("");
    btnRefresh.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            initProduct();
        }
    });
    btnRefresh.setIcon(new ImageIcon(CustomerPanel.class.getResource("/images/icon_refresh.png")));
    GridBagConstraints gbc_btnRefresh = new GridBagConstraints();
    gbc_btnRefresh.insets = new Insets(0, 0, 5, 0);
    gbc_btnRefresh.gridx = 2;
    gbc_btnRefresh.gridy = 0;
    add(btnRefresh, gbc_btnRefresh);

    JLabel lblProductVersion = new JLabel("\u4EA7\u54C1\u7248\u672C\uFF1A");
    GridBagConstraints gbc_lblProductVersion = new GridBagConstraints();
    gbc_lblProductVersion.anchor = GridBagConstraints.EAST;
    gbc_lblProductVersion.insets = new Insets(0, 0, 5, 5);
    gbc_lblProductVersion.gridx = 0;
    gbc_lblProductVersion.gridy = 1;
    add(lblProductVersion, gbc_lblProductVersion);

    textFieldProductVersion = new VersionTextField();
    textFieldProductVersion.setColumns(10);
    GridBagConstraints gbc_textFieldProductVersion = new GridBagConstraints();
    gbc_textFieldProductVersion.anchor = GridBagConstraints.WEST;
    gbc_textFieldProductVersion.insets = new Insets(0, 0, 5, 5);
    gbc_textFieldProductVersion.gridx = 1;
    gbc_textFieldProductVersion.gridy = 1;
    add(textFieldProductVersion, gbc_textFieldProductVersion);

    JLabel lblCompanyName = new JLabel("\u516C\u53F8\u540D\u79F0\uFF1A");
    GridBagConstraints gbc_lblCompanyName = new GridBagConstraints();
    gbc_lblCompanyName.anchor = GridBagConstraints.EAST;
    gbc_lblCompanyName.insets = new Insets(0, 0, 5, 5);
    gbc_lblCompanyName.gridx = 0;
    gbc_lblCompanyName.gridy = 2;
    add(lblCompanyName, gbc_lblCompanyName);

    textFieldCompanyName = new JTextField();
    GridBagConstraints gbc_textFieldCompanyName = new GridBagConstraints();
    gbc_textFieldCompanyName.insets = new Insets(0, 0, 5, 5);
    gbc_textFieldCompanyName.fill = GridBagConstraints.HORIZONTAL;
    gbc_textFieldCompanyName.gridx = 1;
    gbc_textFieldCompanyName.gridy = 2;
    add(textFieldCompanyName, gbc_textFieldCompanyName);
    textFieldCompanyName.setColumns(10);

    JLabel lblCustomerCode = new JLabel("\u5BA2\u6237\u7F16\u53F7\uFF1A");
    GridBagConstraints gbc_lblCustomerCode = new GridBagConstraints();
    gbc_lblCustomerCode.anchor = GridBagConstraints.EAST;
    gbc_lblCustomerCode.insets = new Insets(0, 0, 5, 5);
    gbc_lblCustomerCode.gridx = 0;
    gbc_lblCustomerCode.gridy = 3;
    add(lblCustomerCode, gbc_lblCustomerCode);

    textFieldCustomerCode = new JTextField();
    GridBagConstraints gbc_textFieldCustomerCode = new GridBagConstraints();
    gbc_textFieldCustomerCode.insets = new Insets(0, 0, 5, 5);
    gbc_textFieldCustomerCode.fill = GridBagConstraints.HORIZONTAL;
    gbc_textFieldCustomerCode.gridx = 1;
    gbc_textFieldCustomerCode.gridy = 3;
    add(textFieldCustomerCode, gbc_textFieldCustomerCode);
    textFieldCustomerCode.setColumns(10);

    JLabel lblCustomerName = new JLabel("\u5BA2\u6237\u540D\u79F0\uFF1A");
    GridBagConstraints gbc_lblCustomerName = new GridBagConstraints();
    gbc_lblCustomerName.anchor = GridBagConstraints.EAST;
    gbc_lblCustomerName.insets = new Insets(0, 0, 5, 5);
    gbc_lblCustomerName.gridx = 0;
    gbc_lblCustomerName.gridy = 4;
    add(lblCustomerName, gbc_lblCustomerName);

    textFieldCustomerName = new JTextField();
    GridBagConstraints gbc_textFieldCustomerName = new GridBagConstraints();
    gbc_textFieldCustomerName.insets = new Insets(0, 0, 5, 5);
    gbc_textFieldCustomerName.fill = GridBagConstraints.HORIZONTAL;
    gbc_textFieldCustomerName.gridx = 1;
    gbc_textFieldCustomerName.gridy = 4;
    add(textFieldCustomerName, gbc_textFieldCustomerName);
    textFieldCustomerName.setColumns(10);

    JLabel lblLicenseType = new JLabel("\u8BC1\u4E66\u7C7B\u578B\uFF1A");
    GridBagConstraints gbc_lblLicenseType = new GridBagConstraints();
    gbc_lblLicenseType.anchor = GridBagConstraints.EAST;
    gbc_lblLicenseType.insets = new Insets(0, 0, 5, 5);
    gbc_lblLicenseType.gridx = 0;
    gbc_lblLicenseType.gridy = 5;
    add(lblLicenseType, gbc_lblLicenseType);

    comboBoxLicenseType = new JComboBox();
    GridBagConstraints gbc_comboBoxLicenseType = new GridBagConstraints();
    gbc_comboBoxLicenseType.insets = new Insets(0, 0, 5, 5);
    gbc_comboBoxLicenseType.fill = GridBagConstraints.HORIZONTAL;
    gbc_comboBoxLicenseType.gridx = 1;
    gbc_comboBoxLicenseType.gridy = 5;
    add(comboBoxLicenseType, gbc_comboBoxLicenseType);

    JLabel lblExpiredDate = new JLabel("\u8FC7\u671F\u65F6\u95F4\uFF1A");
    GridBagConstraints gbc_lblExpiredDate = new GridBagConstraints();
    gbc_lblExpiredDate.insets = new Insets(0, 0, 5, 5);
    gbc_lblExpiredDate.gridx = 0;
    gbc_lblExpiredDate.gridy = 6;
    add(lblExpiredDate, gbc_lblExpiredDate);

    datePickerExpiredDate = new DatePicker(new Date(), "yyyy-MM-dd", null, null);
    GridBagConstraints gbc_datePicker = new GridBagConstraints();
    gbc_datePicker.anchor = GridBagConstraints.WEST;
    gbc_datePicker.insets = new Insets(0, 0, 5, 5);
    gbc_datePicker.gridx = 1;
    gbc_datePicker.gridy = 6;
    add(datePickerExpiredDate, gbc_datePicker);

    JButton btnSave = new JButton("\u4FDD\u5B58");
    btnSave.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            try {
                //????????
                if (comboBoxProduct.getSelectedIndex() <= 0) {
                    JOptionPane.showMessageDialog(JOptionPane.getRootFrame(), "??");
                    return;
                }
                String[] array = StringUtils.split(comboBoxProduct.getSelectedItem().toString(), '-');
                String productCode = array[0];
                String productName = array[1];
                String customerCode = textFieldCustomerCode.getText();

                //??
                File configFile = ResourceUtils.getFile(Gui.HOME_PATH + File.separator + "config.xml");
                Document document = XmlUtils.readXml(configFile);
                Element customerNode = (Element) document.selectSingleNode(
                        "//product[@code='" + productCode + "']/customer[@code='" + customerCode + "']");
                if (customerNode != null) {
                    JOptionPane.showMessageDialog(JOptionPane.getRootFrame(),
                            "???");
                    return;
                }

                String licenseId = new RandomGUID().toString();
                String licenseType = Utility.splitStringAll(comboBoxLicenseType.getSelectedItem().toString(),
                        " - ")[0];
                String companyName = textFieldCompanyName.getText();
                String customerName = textFieldCustomerName.getText();
                String version = textFieldProductVersion.getText();
                Date expiredDate = Utility.parseDate(datePickerExpiredDate.getText());

                License license = new License();
                license.setLicenseId(licenseId);
                license.setLicenseType(licenseType);
                license.setProductName(productName);
                license.setCompanyName(companyName);
                license.setCustomerName(customerName);
                license.setVersion(Version.parseVersion(version));
                license.setCreateDate(new Date());
                license.setExpiredDate(expiredDate);

                LicenseService service = new LicenseService();
                String productPath = Gui.HOME_PATH + File.separator + productCode;
                File licenseDir = new File(productPath, customerCode);
                if (!licenseDir.exists()) {
                    licenseDir.mkdir();
                    //?
                    FileUtils.copyFileToDirectory(new File(productPath, "license.key"), licenseDir);
                }
                File priKeyFile = new File(Gui.HOME_PATH + File.separator + productCode, "private.key");
                File licenseFile = new File(licenseDir, "license.xml");

                service.save(Gui.HOME_PATH, productCode, customerCode, license, priKeyFile, licenseFile);

                //??zip?
                File customerPath = licenseFile.getParentFile();
                //???license?????
                File licensePath = new File(customerPath.getParent(), "license");
                if (!licensePath.exists() && !licensePath.isDirectory()) {
                    licensePath.mkdir();
                } else {
                    FileUtils.cleanDirectory(licensePath);
                }

                //?
                FileUtils.copyDirectory(customerPath, licensePath);

                String currentTime = FormatDateTime.formatDateTimeNum(new Date());
                ZipUtils.zip(licensePath,
                        new File(licensePath.getParentFile(), customerCode + "-" + currentTime + ".zip"));
                //license
                FileUtils.deleteDirectory(licensePath);

                JOptionPane.showMessageDialog(JOptionPane.getRootFrame(), "??");
            } catch (Exception e1) {
                e1.printStackTrace();
                JOptionPane.showMessageDialog(JOptionPane.getRootFrame(), e1.getMessage());
            }

        }
    });
    GridBagConstraints gbc_btnSave = new GridBagConstraints();
    gbc_btnSave.insets = new Insets(0, 0, 5, 5);
    gbc_btnSave.gridx = 1;
    gbc_btnSave.gridy = 7;
    add(btnSave, gbc_btnSave);

    //??
    initData();
}

From source file:com.commander4j.util.JUtility.java

/**
 * Method previewIcon./*from w  w w.  ja v  a 2  s.co m*/
 * 
 * @param btn
 *            JButton
 * @param filename
 *            String
 */
public static void previewIcon(JButton btn, String filename) {
    try {
        if (filename == null) {
            filename = "";
        }

        if (filename.compareTo("") == 0) {
            Icon icon = Common.imageIconloader.getImageIcon(Common.image_blank_icon);
            btn.setIcon(icon);
        } else {
            File f;
            f = new File(filename);

            if (f.exists()) {
                Icon icon = Common.imageIconloader.getImageIcon(filename);
                btn.setIcon(icon);
            } else {
                Icon icon = Common.imageIconloader.getImageIcon(Common.image_error);
                btn.setIcon(icon);
            }
        }
    } catch (Exception e) {
    }
}

From source file:io.github.jeremgamer.editor.panels.MusicFrame.java

public MusicFrame(JFrame frame, final GeneralSave gs) {

    ArrayList<BufferedImage> icons = new ArrayList<BufferedImage>();
    try {//from w w w.j a va 2  s.  c om
        icons.add(ImageIO.read(ImageGetter.class.getResource("icon16.png")));
        icons.add(ImageIO.read(ImageGetter.class.getResource("icon32.png")));
        icons.add(ImageIO.read(ImageGetter.class.getResource("icon64.png")));
        icons.add(ImageIO.read(ImageGetter.class.getResource("icon128.png")));
    } catch (IOException e1) {
        e1.printStackTrace();
    }

    this.setIconImages((List<? extends Image>) icons);

    this.setTitle("Musique");
    this.setSize(new Dimension(300, 225));

    this.addWindowListener(new WindowListener() {
        @Override
        public void windowActivated(WindowEvent event) {
        }

        @Override
        public void windowClosed(WindowEvent event) {
        }

        @Override
        public void windowClosing(WindowEvent event) {
            try {
                gs.save(new File("projects/" + Editor.getProjectName() + "/general.rbd"));
            } catch (IOException e) {
                e.printStackTrace();
            }
            if (clip != null) {
                clip.stop();
                clip.close();
                try {
                    audioStream.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }

        @Override
        public void windowDeactivated(WindowEvent event) {
        }

        @Override
        public void windowDeiconified(WindowEvent event) {
        }

        @Override
        public void windowIconified(WindowEvent event) {
        }

        @Override
        public void windowOpened(WindowEvent event) {
        }
    });

    this.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);

    content.setLayout(new BoxLayout(content, BoxLayout.PAGE_AXIS));

    this.setModal(true);
    this.setLocationRelativeTo(frame);

    JPanel properties = new JPanel();
    properties.setBorder(BorderFactory.createTitledBorder("Lecture"));
    ButtonGroup bg = new ButtonGroup();
    bg.add(one);
    bg.add(loop);
    one.addChangeListener(new ChangeListener() {
        @Override
        public void stateChanged(ChangeEvent event) {
            JRadioButton rb = (JRadioButton) event.getSource();
            if (rb.isSelected()) {
                gs.set("music.reading", 0);
                try {
                    gs.save(new File("projects/" + Editor.getProjectName() + "/general.rbd"));
                } catch (IOException e) {
                    e.printStackTrace();
                }
                if (clip != null) {
                    if (clip.isRunning())
                        clip.loop(0);
                }
            }
        }
    });
    loop.addChangeListener(new ChangeListener() {
        @Override
        public void stateChanged(ChangeEvent event) {
            JRadioButton rb = (JRadioButton) event.getSource();
            if (rb.isSelected()) {
                gs.set("music.reading", 1);
                try {
                    gs.save(new File("projects/" + Editor.getProjectName() + "/general.rbd"));
                } catch (IOException e) {
                    e.printStackTrace();
                }
                if (clip != null) {
                    if (clip.isRunning())
                        clip.loop(Clip.LOOP_CONTINUOUSLY);
                }
            }
        }
    });
    properties.add(one);
    properties.add(loop);
    if (gs.getInt("music.reading") == 0) {
        one.setSelected(true);
    } else {
        loop.setSelected(true);
    }

    volume.setMaximum(100);
    volume.setMinimum(0);
    volume.setValue(30);
    volume.setPaintTicks(true);
    volume.setPaintLabels(true);
    volume.setMinorTickSpacing(10);
    volume.setMajorTickSpacing(20);
    volume.addChangeListener(new ChangeListener() {
        public void stateChanged(ChangeEvent event) {
            JSlider slider = (JSlider) event.getSource();
            double value = slider.getValue();
            gain = value / 100;
            dB = (float) (Math.log(gain) / Math.log(10.0) * 20.0);
            if (clip != null)
                gainControl.setValue(dB);
            gs.set("music.volume", (int) value);
        }
    });
    volume.setValue(gs.getInt("music.volume"));
    properties.add(volume);
    properties.setPreferredSize(new Dimension(300, 125));

    content.add(properties);

    JPanel browsePanel = new JPanel();
    browsePanel.setBorder(BorderFactory.createTitledBorder(""));
    JButton browse = new JButton("Parcourir...");
    if (new File("projects/" + Editor.getProjectName() + "/music.wav").exists()) {
        preview.setEnabled(false);
        browse.setText("");
        try {
            browse.setIcon(new ImageIcon(ImageIO.read(ImageGetter.class.getResource("remove.png"))));
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    browse.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent event) {
            JButton button = (JButton) event.getSource();
            if (new File("projects/" + Editor.getProjectName() + "/music.wav").exists()) {
                if (clip != null) {
                    clip.stop();
                    clip.close();
                    try {
                        audioStream.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
                name.setText("");
                preview.setEnabled(false);
                button.setText("Parcourir...");
                button.setIcon(null);
                new File("projects/" + Editor.getProjectName() + "/music.wav").delete();
                gs.set("music.name", "");
            } else {
                String path = null;
                JFileChooser chooser = new JFileChooser(Editor.lastPath);
                FileNameExtensionFilter filter = new FileNameExtensionFilter("Audio (WAV)", "wav");
                chooser.setFileFilter(filter);
                chooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
                int option = chooser.showOpenDialog(null);
                if (option == JFileChooser.APPROVE_OPTION) {
                    path = chooser.getSelectedFile().getAbsolutePath();
                    Editor.lastPath = chooser.getSelectedFile().getParent();
                    copyMusic(new File(path));
                    button.setText("");
                    try {
                        button.setIcon(
                                new ImageIcon(ImageIO.read(ImageGetter.class.getResource("remove.png"))));
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                    gs.set("music.name", new File(path).getName());
                    try {
                        gs.save(new File("projects/" + Editor.getProjectName() + "/general.rbd"));
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                    name.setText(new File(path).getName());
                    preview.setEnabled(true);
                }
            }
        }

    });
    if (new File("projects/" + Editor.getProjectName() + "/music.wav").exists()) {
        preview.setEnabled(true);
    } else {
        preview.setEnabled(false);
    }
    preview.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent event) {
            JToggleButton tb = (JToggleButton) event.getSource();
            if (tb.isSelected()) {
                try {
                    audioStream = AudioSystem.getAudioInputStream(
                            new File("projects/" + Editor.getProjectName() + "/music.wav"));
                    format = audioStream.getFormat();
                    info = new DataLine.Info(Clip.class, format);
                    clip = (Clip) AudioSystem.getLine(info);
                    clip.open(audioStream);
                    clip.start();
                    gainControl = (FloatControl) clip.getControl(FloatControl.Type.MASTER_GAIN);
                    gainControl.setValue(dB);
                    if (loop.isSelected()) {
                        clip.loop(Clip.LOOP_CONTINUOUSLY);
                    } else {
                        clip.loop(0);
                    }
                    clip.addLineListener(new LineListener() {
                        @Override
                        public void update(LineEvent event) {
                            Clip clip = (Clip) event.getSource();
                            if (!clip.isRunning()) {
                                preview.setSelected(false);
                                clip.stop();
                                clip.close();
                                try {
                                    audioStream.close();
                                } catch (IOException e) {
                                    e.printStackTrace();
                                }
                            }
                        }

                    });
                } catch (Exception exc) {
                    exc.printStackTrace();
                }
            } else {
                clip.stop();
                clip.close();
                try {
                    audioStream.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }

    });
    JPanel buttons = new JPanel();
    buttons.setLayout(new BorderLayout());
    buttons.add(browse, BorderLayout.WEST);
    buttons.add(preview, BorderLayout.EAST);
    browsePanel.setLayout(new BorderLayout());
    browsePanel.add(buttons, BorderLayout.NORTH);
    browsePanel.add(name, BorderLayout.SOUTH);

    name.setPreferredSize(new Dimension(280, 25));
    name.setText(gs.getString("music.name"));
    content.add(browsePanel);

    this.setContentPane(content);
    this.setVisible(true);
}

From source file:lol.search.RankedStatsPage.java

private JScrollPane championSelectPanel() {
    JPanel mainPanel = new JPanel(new FlowLayout());
    //mainPanel.setBorder(BorderFactory.createLineBorder(Color.WHITE));
    mainPanel.setBackground(backgroundColor);
    for (int i = 0; i < this.objChampRankedList.size(); i++) {
        int position = counter;
        ImageIcon champImageIcon = this.OBJ_RANKED_STATS_BY_ID.getChampionIconOf(this.champKeyList.get(i));
        JButton champButton = new JButton();
        champButton.setIcon(champImageIcon);
        if (i == 0) {
            champButton.setIcon(this.profileIcon);
            champButton.setToolTipText("Overall Stats");
        }/*from   w w w .ja  v a  2 s.c om*/
        champButton.setPreferredSize(new Dimension(55, 55));
        champButton.setBackground(Color.BLACK);
        champButton.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) { //button pressed
                background.setIcon(OBJ_GAME_STATIC_DATA.getBackgroundImageIcon(champKeyList.get(position)));
                loadArtLabel.setIcon(OBJ_GAME_STATIC_DATA.initLoadingArt(champKeyList.get(position)));
                nameHeader.setText(OBJ_ALL_CHAMPS_BY_ID.getChampNameFromId(champIdList.get(position)));

                titleHeader.setText(" " + OBJ_ALL_CHAMPS_BY_ID.getChampTitleFromId(champIdList.get(position)));
                String sessionsWon = "";
                String sessionsLost = "";
                String winPercentString = "";
                try {
                    int won = objChampRankedList.get(position).getJSONObject("stats")
                            .getInt("totalSessionsWon");
                    sessionsWon = Integer.toString(won);
                    int lost = objChampRankedList.get(position).getJSONObject("stats")
                            .getInt("totalSessionsLost");
                    sessionsLost = Integer.toString(lost);
                    winPercentString = getWinPercentage(won, lost);
                    totalGamesInt = won + lost;
                    avgKillsLabelValue.setText(new DecimalFormat("##.##")
                            .format((double) objChampRankedList.get(position).getJSONObject("stats")
                                    .getInt("totalChampionKills") / (double) totalGamesInt));
                    avgAssistsLabelValue
                            .setText(new DecimalFormat("##.##").format((double) objChampRankedList.get(position)
                                    .getJSONObject("stats").getInt("totalAssists") / (double) totalGamesInt));
                    avgDeathsLabelValue.setText(new DecimalFormat("##.##")
                            .format((double) objChampRankedList.get(position).getJSONObject("stats")
                                    .getInt("totalDeathsPerSession") / (double) totalGamesInt));
                    avgMinionKillsLabelValue.setText(new DecimalFormat("##.##")
                            .format((double) objChampRankedList.get(position).getJSONObject("stats")
                                    .getInt("totalMinionKills") / (double) totalGamesInt));
                    avgDoubleKillsLabelValue.setText(new DecimalFormat("##.##")
                            .format((double) objChampRankedList.get(position).getJSONObject("stats")
                                    .getInt("totalDoubleKills") / (double) totalGamesInt));
                    avgTripleKillsLabelValue.setText(new DecimalFormat("##.##")
                            .format((double) objChampRankedList.get(position).getJSONObject("stats")
                                    .getInt("totalTripleKills") / (double) totalGamesInt));
                    avgQuadKillsLabelValue.setText(new DecimalFormat("##.##")
                            .format((double) objChampRankedList.get(position).getJSONObject("stats")
                                    .getInt("totalQuadraKills") / (double) totalGamesInt));
                    avgPentaKillsLabelValue.setText(new DecimalFormat("##.##")
                            .format((double) objChampRankedList.get(position).getJSONObject("stats")
                                    .getInt("totalPentaKills") / (double) totalGamesInt));
                    totalKillsLabelValue.setText(new DecimalFormat("#######").format((double) objChampRankedList
                            .get(position).getJSONObject("stats").getInt("totalChampionKills")));
                    totalDeathsLabelValue
                            .setText(new DecimalFormat("#######").format((double) objChampRankedList
                                    .get(position).getJSONObject("stats").getInt("totalDeathsPerSession")));
                    totalAssistsLabelValue
                            .setText(new DecimalFormat("#######").format((double) objChampRankedList
                                    .get(position).getJSONObject("stats").getInt("totalAssists")));
                    totalMinionsLabelValue
                            .setText(new DecimalFormat("#######").format((double) objChampRankedList
                                    .get(position).getJSONObject("stats").getInt("totalMinionKills")));
                    totalDoubleKillsLabelValue
                            .setText(new DecimalFormat("#######").format((double) objChampRankedList
                                    .get(position).getJSONObject("stats").getInt("totalDoubleKills")));
                    totalTripleKillsLabelValue
                            .setText(new DecimalFormat("#######").format((double) objChampRankedList
                                    .get(position).getJSONObject("stats").getInt("totalTripleKills")));
                    totalQuadKillsLabelValue
                            .setText(new DecimalFormat("#######").format((double) objChampRankedList
                                    .get(position).getJSONObject("stats").getInt("totalQuadraKills")));
                    totalPentaKillsLabelValue
                            .setText(new DecimalFormat("#######").format((double) objChampRankedList
                                    .get(position).getJSONObject("stats").getInt("totalPentaKills")));
                } catch (JSONException ex) {
                    Logger.getLogger(RankedStatsPage.class.getName()).log(Level.SEVERE, null, ex);
                }
                totalWins.setText(sessionsWon);
                totalLosses.setText(sessionsLost);
                winPercent.setText(winPercentString + "%");
                totalGamesPlayed.setText(String.valueOf(totalGamesInt));
                masterFrame.revalidate();
                masterFrame.repaint();
            }
        });
        champButton.setToolTipText(OBJ_ALL_CHAMPS_BY_ID.getChampNameFromId(champIdList.get(position)));
        champButtons.add(champButton);
        //champButton.setBorder(BorderFactory.createLineBorder(Color.BLACK));
        counter++;
    }
    for (int i = 0; i < champButtons.size(); i++) {
        mainPanel.add(champButtons.get(i));
        mainPanel.revalidate();
    }
    JScrollPane scrollPane = new JScrollPane(mainPanel);
    scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
    scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_NEVER);
    scrollPane.setPreferredSize(new Dimension(1200, 85));
    scrollPane.setBackground(new Color(0, 0, 0, 100));
    scrollPane.setBorder(BorderFactory.createLineBorder(Color.BLACK));
    scrollPane.getHorizontalScrollBar().setUI(new BasicScrollBarUI() {
        @Override
        protected void configureScrollBarColors() {
            this.thumbColor = new Color(124, 124, 124, 255);
            this.trackColor = Color.BLACK;
        }
    });

    return scrollPane;
}

From source file:hr.restart.util.chart.ChartXY.java

public void initFrame() throws Exception {

    if (isInstanciated()) {
        if (chartPanel != null)
            mainPanel.remove(chartPanel);
        chartPanel = initGraph();//from   w w w . j ava  2  s  .  com
        mainPanel.add(chartPanel, BorderLayout.CENTER);
        return;
    }

    setInstanciated(true);

    verifyDialog();

    charts = new ArrayList();
    charts.add(BAR_CHART);
    charts.add(PIE_CHART);

    mainPanel = new JPanel(new BorderLayout());

    buttonsPanel = new JPanel(new FlowLayout());

    JPanel actionsPanel = new JPanel(new BorderLayout());
    JPanel savePanel = new JPanel();

    //adding combobox
    comboBox = new JComboBox(charts.toArray());
    comboBox.addActionListener(this);

    buttonsPanel.add(comboBox);

    //adding filechooser
    JButton btSave = new JButton("Snimi");
    btSave.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent ev) {

            try {
                chartPanel.doSaveAs();
            } catch (IOException e) {
                // 
                e.printStackTrace();
                System.out.println(e);
            }
        }
    });
    savePanel.add(btSave);

    //adding printing button
    JButton btPrint = new JButton("Ispis");
    btPrint.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent ev) {

            chartPanel.createChartPrintJob();
        }
    });
    savePanel.add(btPrint);

    //creates datasets
    barDataset = createDataSet();
    pieDataset = DatasetUtilities.createPieDatasetForRow(barDataset, 0);

    String value;
    if (jcb == null)
        value = getAxisY();
    else
        value = colNamesY[jcb.getSelectedIndex()];

    PlotOrientation orientation = PlotOrientation.VERTICAL;

    pieChart = createPieChart(pieDataset, value);
    barChart = createBarChart(barDataset, value, orientation);

    //adding orientation box
    String[] orientations = { "Vertikalni", "Horizontalni" };
    comboBoxOrientation = new JComboBox(orientations);
    comboBoxOrientation.setVisible(false);
    comboBoxOrientation.addItemListener(new ItemListener() {

        /* (non-Javadoc)
           * @see java.awt.event.ItemListener#itemStateChanged(java.awt.event.ItemEvent)
           */
        public void itemStateChanged(ItemEvent e) {
            // TODO Auto-generated method stub
            if (comboBoxOrientation.getSelectedItem() == "Vertikalni")
                selectionChanged(PlotOrientation.VERTICAL);
            else
                selectionChanged(PlotOrientation.HORIZONTAL);
        }
    });

    buttonsPanel.add(comboBoxOrientation);

    // adding combobox
    String[] quantity = { "5", "10", "15" };
    comboBoxQuantity = new JComboBox(quantity);
    comboBoxQuantity.setEditable(true);
    comboBoxQuantity.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent ev) {

            try {
                mainPanel.remove(chartPanel);
            } catch (RuntimeException e1) {
                //e1.printStackTrace();               
            }

            selectionChanged(PlotOrientation.VERTICAL);
        }

    });

    comboBoxQuantity.setSelectedItem(new Integer(getNumberOfElements()).toString());
    buttonsPanel.add(comboBoxQuantity);

    if (jcb != null) {
        if (getDefaultSelectedItem() != null) {
            if (getDefaultSelectedItem().compareTo("") != 0)
                jcb.setSelectedItem(getDefaultSelectedItem());
        }

        buttonsPanel.add(jcb);
    }

    // adding OKPanel
    final OKpanel okPanel = new OKpanel() {
        public void jBOK_actionPerformed() {
            //ok_action();
            chartPanel.createChartPrintJob();
        }

        public void jPrekid_actionPerformed() {
            //            firstESC();
            cancelPressed();

        }
    };

    okPanel.addAncestorListener(new AncestorListener() {
        public void ancestorAdded(AncestorEvent e) {
            //                register the keys action

            okPanel.registerOKPanelKeys(getJdialog());
        }

        public void ancestorMoved(AncestorEvent e) {

        }

        public void ancestorRemoved(AncestorEvent e) {
            okPanel.unregisterOKPanelKeys(getJdialog());
        }
    });

    okPanel.jBOK.setText("Ispis");
    okPanel.jBOK.setIcon(raImages.getImageIcon(raImages.IMGPRINT));

    JButton btSnimi = new JButton("Snimi");
    btSnimi.setIcon(raImages.getImageIcon(raImages.IMGSAVE));
    btSnimi.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent ev) {
            try {
                chartPanel.doSaveAs();
            } catch (IOException e) {
                // 
                e.printStackTrace();
                System.out.println(e);
            }
        }

    });
    okPanel.add(btSnimi, BorderLayout.WEST);
    mainPanel.add(okPanel, BorderLayout.SOUTH);

    actionsPanel.add(buttonsPanel, BorderLayout.CENTER);
    //actionsPanel.add(savePanel,BorderLayout.SOUTH);   
    actionsPanel.add(okPanel, BorderLayout.SOUTH);
    mainPanel.add(actionsPanel, BorderLayout.SOUTH);

    chartPanel = initGraph();
    mainPanel.add(chartPanel, BorderLayout.CENTER);

    this.getContentPane().add(mainPanel);
}

From source file:aurelienribon.gdxsetupui.ui.panels.LibrarySelectionPanel.java

private void buildLibraryPanel(final String libraryName) {
    ActionListener nameChkAL = new ActionListener() {
        @Override//w  ww .  jav a2 s  .c  om
        public void actionPerformed(ActionEvent e) {
            if (((CompactCheckBox) e.getSource()).isSelected()) {
                if (!Ctx.cfgSetup.libraries.contains(libraryName))
                    Ctx.cfgSetup.libraries.add(libraryName);
                if (!Ctx.cfgUpdate.libraries.contains(libraryName))
                    Ctx.cfgUpdate.libraries.add(libraryName);
            } else {
                Ctx.cfgSetup.libraries.remove(libraryName);
                Ctx.cfgUpdate.libraries.remove(libraryName);
            }

            Ctx.fireCfgSetupChanged();
            Ctx.fireCfgUpdateChanged();
        }
    };

    Action infoAction = new AbstractAction() {
        @Override
        public void actionPerformed(ActionEvent e) {
            showInfo(libraryName);
        }
    };
    Action browseAction = new AbstractAction() {
        @Override
        public void actionPerformed(ActionEvent e) {
            browse(libraryName);
        }
    };
    Action getStableAction = new AbstractAction() {
        @Override
        public void actionPerformed(ActionEvent e) {
            getStable(libraryName);
        }
    };
    Action getLatestAction = new AbstractAction() {
        @Override
        public void actionPerformed(ActionEvent e) {
            getLatest(libraryName);
        }
    };

    LibraryDef def = Ctx.libs.getDef(libraryName);

    CompactCheckBox nameChk = new CompactCheckBox(def.name + " ");
    JLabel html5Label = new JLabel(Res.getImage("gfx/ic_html5.png"));
    JButton infoBtn = new JButton(infoAction);
    JButton browseBtn = new JButton(browseAction);
    JButton getStableBtn = new JButton(getStableAction);
    JButton getLatestBtn = new JButton(getLatestAction);

    nameChk.addActionListener(nameChkAL);
    nameChk.setForeground(LIB_NOTFOUND_COLOR);
    html5Label.setToolTipText("Compatible with HTML backend");
    infoBtn.setIcon(Res.getImage("gfx/ic_info.png"));
    browseBtn.setIcon(Res.getImage("gfx/ic_browse.png"));
    getStableBtn.setIcon(Res.getImage("gfx/ic_download_stable.png"));
    getLatestBtn.setIcon(Res.getImage("gfx/ic_download_nightlies.png"));
    infoBtn.setFocusable(false);
    browseBtn.setFocusable(false);
    getStableBtn.setFocusable(false);
    getLatestBtn.setFocusable(false);

    JToolBar toolBar = new JToolBar();
    toolBar.setOpaque(false);
    toolBar.setFloatable(false);
    toolBar.add(Box.createHorizontalGlue());
    toolBar.add(infoBtn);
    toolBar.add(browseBtn);
    if (def.stableUrl != null)
        toolBar.add(getStableBtn);
    else
        toolBar.add(Box.createHorizontalStrut(libgdxGetStableBtn.getPreferredSize().width));
    if (def.latestUrl != null)
        toolBar.add(getLatestBtn);
    else
        toolBar.add(Box.createHorizontalStrut(libgdxGetNightliesBtn.getPreferredSize().width));

    JPanel leftPanel = new JPanel(new BorderLayout());
    leftPanel.setOpaque(false);
    leftPanel.add(nameChk, BorderLayout.CENTER);
    if (def.gwtModuleName != null)
        leftPanel.add(html5Label, BorderLayout.EAST);

    JPanel panel = new JPanel(new BorderLayout());
    panel.setMaximumSize(new Dimension(Integer.MAX_VALUE, 25));
    panel.setOpaque(false);
    panel.add(leftPanel, BorderLayout.WEST);
    panel.add(toolBar, BorderLayout.CENTER);

    librariesPanel.add(panel);

    Style.apply(librariesPanel, style);
    libsNamesCmps.put(libraryName, nameChk);
}

From source file:burp.BurpExtender.java

private <T> JComboBox<T> createComboBox(String label, Container cont, int buttonY, JButton button) {
    createSettingsLabel(label, cont);/*ww  w  .j  ava  2s .com*/

    JComboBox<T> box = new JComboBox<T>();
    box.setMaximumRowCount(16);
    callbacks.customizeUiComponent(box);
    GridBagConstraints gbc = new GridBagConstraints();
    gbc.gridx = 1;
    gbc.fill = GridBagConstraints.HORIZONTAL;
    cont.add(box, gbc);

    button.setIcon(refreshSpinner[0]);
    button.setPreferredSize(
            new Dimension(refreshSpinner[0].getIconHeight() + 4, refreshSpinner[0].getIconHeight() + 4));
    callbacks.customizeUiComponent(button);
    gbc = new GridBagConstraints();
    gbc.gridx = 2;
    gbc.gridy = buttonY;
    gbc.anchor = GridBagConstraints.WEST;
    cont.add(button, gbc);

    return box;
}

From source file:hr.restart.util.chart.ChartXYZ.java

public void initFrame() throws Exception {
    // initializing the combo box chartTypes   
    if (isInstanciated()) {
        if (chartPanel != null)
            mainPanel.remove(chartPanel);
        chartPanel = initGraph();/*  w w w .  ja  va  2  s . c o m*/
        mainPanel.add(chartPanel, BorderLayout.CENTER);
        return;
    }
    setInstanciated(true);

    chartTypes.add(BAR_CHART);
    chartTypes.add(LINE_CHART);

    setLastSelected(getDefaultSelected());

    chartPanel = initGraph();

    //creates buttons 
    //boxChartType = new JComboBox(chartTypes.toArray());

    for (Iterator iterator = chartTypes.iterator(); iterator.hasNext();) {
        boxChartType.addItem(iterator.next());
    }

    boxChartType.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent ev) {

            if (getLastSelected() != null && getLastSelected() != boxChartType.getSelectedItem().toString()) {

                try {
                    setLastSelected(boxChartType.getSelectedItem().toString());
                } catch (Exception e) {
                    //e.printStackTrace();
                    System.out.println("(ChartXYZ) : method --> iniFrame : " + e);
                }

                //removing the panel
                if (chartPanel != null)
                    mainPanel.remove(chartPanel);

                //switching the chart type
                if (getLastSelected().equals(BAR_CHART)) {
                    chartPanel = new ChartPanel(barChart);
                } else {
                    if (getLastSelected().equals(LINE_CHART)) {
                        chartPanel = new ChartPanel(lineChart);
                    } else {

                    }
                }

                //adding the new chart panel
                mainPanel.add(chartPanel, 0);
                repaintGraph();
            }
        }
    });

    buttonsPanel = new JPanel();
    buttonsPanel.add(boxChartType);

    //to be removed
    //      JButton btTest = new JButton("1");      
    //      btTest.addActionListener(new ActionListener(){
    //         public void actionPerformed(ActionEvent ev) {
    //               
    //             System.out.println("changing dataset"); // have to change the dataset content
    //             // making a new QUERY
    //             com.borland.dx.dataset.DataSet ds = getDataSet();
    //             //HAS TO BE MEDIFIED
    //             
    //           }
    //      });
    //      buttonsPanel.add(btTest);

    //adding combobox
    if (isVariableZ()) {
        String[] quantity = { "5", "10", "15" };
        comboBoxQuantity = new JComboBox(quantity);
        comboBoxQuantity.setEditable(true);
        comboBoxQuantity.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent ev) {

                try {
                    mainPanel.remove(chartPanel);
                } catch (RuntimeException e1) {

                    //e1.printStackTrace();   
                    System.out.println("(ChartXYZ) : method --> initGraph : " + e1);
                }

                selectionChanged();
            }

        });
        comboBoxQuantity.setSelectedItem(new Integer(getNumberOfElements()).toString());
        buttonsPanel.add(comboBoxQuantity);
    }

    //creates action buttons
    //adding filechooser
    actionsPanel = new JPanel();
    JButton btSave = new JButton("Snimi");
    btSave.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent ev) {

            try {
                chartPanel.doSaveAs();
            } catch (IOException e) {

                System.out.println("(ChartXYZ) : method --> initFrame : " + e);
            }
        }
    });
    actionsPanel.add(btSave);

    //adding printing button
    JButton btPrint = new JButton("Ispis");
    btPrint.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent ev) {

            chartPanel.createChartPrintJob();
        }
    });
    actionsPanel.add(btPrint);

    //       adding OKPanel
    final OKpanel okPanel = new OKpanel() {
        public void jBOK_actionPerformed() {
            //ok_action();
            chartPanel.createChartPrintJob();
        }

        public void jPrekid_actionPerformed() {
            //            firstESC();
            cancelPressed();
        }
    };
    okPanel.addAncestorListener(new AncestorListener() {
        public void ancestorAdded(AncestorEvent e) {
            //                register the keys action

            okPanel.registerOKPanelKeys(getJdialog());
        }

        public void ancestorMoved(AncestorEvent e) {

        }

        public void ancestorRemoved(AncestorEvent e) {
            okPanel.unregisterOKPanelKeys(getJdialog());
        }
    });
    okPanel.jBOK.setText("Ispis");
    okPanel.jBOK.setIcon(raImages.getImageIcon(raImages.IMGPRINT));

    JButton btSnimi = new JButton("Snimi");
    btSnimi.setIcon(raImages.getImageIcon(raImages.IMGSAVE));
    btSnimi.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent ev) {
            try {
                chartPanel.doSaveAs();
            } catch (IOException e) {

                //System.out.println(e);
                System.out.println("(ChartXYZ) : method --> initFrame : " + e);
            }
        }

    });
    okPanel.add(btSnimi, BorderLayout.WEST);

    //buttons to their main panel
    globalButtonsPanel = new JPanel(new BorderLayout());
    globalButtonsPanel.add(buttonsPanel, BorderLayout.CENTER);
    //globalButtonsPanel.add(actionsPanel, BorderLayout.SOUTH);
    globalButtonsPanel.add(okPanel, BorderLayout.SOUTH);

    //creates main panel
    mainPanel = new JPanel(new BorderLayout());
    mainPanel.add(chartPanel, BorderLayout.CENTER);
    mainPanel.add(globalButtonsPanel, BorderLayout.SOUTH);

    //select the default one in the comboBox
    boxChartType.setSelectedItem(getDefaultSelected());

    this.getContentPane().add(mainPanel);
}

From source file:com.net2plan.gui.tools.GUINetworkDesign.java

private JPanel configureLeftBottomPanel() {
    this.focusPanel = new FocusPane(this);
    final JPanel focusPanelContainer = new JPanel(new BorderLayout());
    final JToolBar navigationToolbar = new JToolBar(JToolBar.VERTICAL);
    navigationToolbar.setRollover(true);
    navigationToolbar.setFloatable(false);
    navigationToolbar.setOpaque(false);//from w  w  w. j  a v a2  s.  c  o m

    final JButton btn_pickNavigationUndo, btn_pickNavigationRedo;

    btn_pickNavigationUndo = new JButton("");
    btn_pickNavigationUndo
            .setIcon(new ImageIcon(TopologyPanel.class.getResource("/resources/gui/undoPick.png")));
    btn_pickNavigationUndo.setToolTipText("Navigate back to the previous element picked");
    btn_pickNavigationRedo = new JButton("");
    btn_pickNavigationRedo
            .setIcon(new ImageIcon(TopologyPanel.class.getResource("/resources/gui/redoPick.png")));
    btn_pickNavigationRedo.setToolTipText("Navigate forward to the next element picked");

    final ActionListener action = e -> {
        Pair<NetworkElement, Pair<Demand, Link>> backOrForward;
        do {
            backOrForward = (e.getSource() == btn_pickNavigationUndo)
                    ? GUINetworkDesign.this.getVisualizationState().getPickNavigationBackElement()
                    : GUINetworkDesign.this.getVisualizationState().getPickNavigationForwardElement();
            if (backOrForward == null)
                break;
            final NetworkElement ne = backOrForward.getFirst(); // For network elements
            final Pair<Demand, Link> fr = backOrForward.getSecond(); // For forwarding rules
            if (ne != null) {
                if (ne.getNetPlan() != GUINetworkDesign.this.getDesign())
                    continue;
                if (ne.getNetPlan() == null)
                    continue;
                break;
            } else if (fr != null) {
                if (fr.getFirst().getNetPlan() != GUINetworkDesign.this.getDesign())
                    continue;
                if (fr.getFirst().getNetPlan() == null)
                    continue;
                if (fr.getSecond().getNetPlan() != GUINetworkDesign.this.getDesign())
                    continue;
                if (fr.getSecond().getNetPlan() == null)
                    continue;
                break;
            } else
                break; // null,null => reset picked state
        } while (true);
        if (backOrForward != null) {
            if (backOrForward.getFirst() != null)
                GUINetworkDesign.this.getVisualizationState().pickElement(backOrForward.getFirst());
            else if (backOrForward.getSecond() != null)
                GUINetworkDesign.this.getVisualizationState().pickForwardingRule(backOrForward.getSecond());
            else
                GUINetworkDesign.this.getVisualizationState().resetPickedState();

            GUINetworkDesign.this.updateVisualizationAfterPick();
        }
    };

    btn_pickNavigationUndo.addActionListener(action);
    btn_pickNavigationRedo.addActionListener(action);

    btn_pickNavigationRedo.setFocusable(false);
    btn_pickNavigationUndo.setFocusable(false);

    navigationToolbar.add(btn_pickNavigationUndo);
    navigationToolbar.add(btn_pickNavigationRedo);

    final JScrollPane scPane = new JScrollPane(focusPanel, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
            JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
    scPane.getVerticalScrollBar().setUnitIncrement(20);
    scPane.getHorizontalScrollBar().setUnitIncrement(20);
    scPane.setBorder(BorderFactory.createEmptyBorder());

    // Control the scroll
    scPane.getHorizontalScrollBar().addAdjustmentListener(e -> {
        // Repaints the panel each time the horizontal scroll bar is moves, in order to avoid ghosting.
        focusPanelContainer.revalidate();
        focusPanelContainer.repaint();
    });

    focusPanelContainer.add(navigationToolbar, BorderLayout.WEST);
    focusPanelContainer.add(scPane, BorderLayout.CENTER);

    JPanel pane = new JPanel(new MigLayout("fill, insets 0 0 0 0"));
    pane.setBorder(BorderFactory.createTitledBorder(new LineBorder(Color.BLACK), "Focus panel"));

    pane.add(focusPanelContainer, "grow");
    return pane;
}