Package edu.brown.oltpgenerator.gui

Source Code of edu.brown.oltpgenerator.gui.InitConfigGui

package edu.brown.oltpgenerator.gui;

import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;

import edu.brown.oltpgenerator.env.BenchmarkEnv;

import edu.brown.oltpgenerator.gui.TextFieldWatcher.WatchMethod;

public class InitConfigGui extends JPanel
{
    private static final long   serialVersionUID     = 1L;

    // source folder
    private final JLabel        m_lblSrcFolder       = new JLabel("Benchmark destination: ");
    private final JTextField    m_txtSrcFolder       = new JTextField(20);
    private final JButton       m_btChooseSrcFolder  = new JButton("Choose folder: ");

    // package name
    private final JLabel        m_lblPackName        = new JLabel("Benchmark package name: ");
    private final JTextField    m_txtPackName        = new JTextField(30);

    // workload name
    private final JLabel        m_lblBenchmarkName   = new JLabel("Benchmark name: ");
    private final JTextField    m_txtBenchmarkName   = new JTextField(30);

    // tool tips
    private static final String S_TIP_SRC_FOLDER     = "The location you place your benchmark package into";
    private static final String S_TIP_PACK_NAME      = "Name of benchmark package. For instance, edu.brown.benchmark.tpce";
    private static final String S_TIP_BENCHMARK_NAME = "Benchmark Name. For instance, TPCE";

    private final JFileChooser  m_fc                 = new JFileChooser();

    public InitConfigGui()
    {
        m_fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
        establishGuiTree();
        addListeners();
        setToolTips();
    }

    private void setToolTips()
    {
        m_lblSrcFolder.setToolTipText(S_TIP_SRC_FOLDER);
        m_txtSrcFolder.setToolTipText(S_TIP_SRC_FOLDER);
        m_txtPackName.setToolTipText(S_TIP_PACK_NAME);
        m_lblPackName.setToolTipText(S_TIP_PACK_NAME);
        m_txtBenchmarkName.setToolTipText(S_TIP_BENCHMARK_NAME);
        m_lblBenchmarkName.setToolTipText(S_TIP_BENCHMARK_NAME);
    }

    private void addListeners()
    {
        addTxtBenchmarkFolderListener();
        addTxtBenchmarkNameListener();
        addTxtPackNameListener();
        addBtChooseBenchmarkFolderListener();
    }

    private void addTxtBenchmarkNameListener()
    {
        TextFieldWatcher.setWatch(m_txtBenchmarkName, new WatchMethod()
        {

            @Override
            public void updateFrom(JTextField txtWatchee)
            {
                BenchmarkEnv.setBenchmarkName(txtWatchee.getText());
            }
        });
    }

    private void addTxtPackNameListener()
    {
        TextFieldWatcher.setWatch(m_txtPackName, new WatchMethod()
        {

            @Override
            public void updateFrom(JTextField txtWatchee)
            {
                BenchmarkEnv.setPackageName(txtWatchee.getText());

            }
        });
    }

    private void addTxtBenchmarkFolderListener()
    {
        TextFieldWatcher.setWatch(m_txtSrcFolder, new WatchMethod()
        {

            @Override
            public void updateFrom(JTextField txtWatchee)
            {
                BenchmarkEnv.setSourceFolderPath(txtWatchee.getText());
            }
        });
    }

    private void addBtChooseBenchmarkFolderListener()
    {
        m_btChooseSrcFolder.addActionListener(new ActionListener()
        {

            @Override
            public void actionPerformed(ActionEvent e)
            {
                int returnVal = m_fc.showOpenDialog(InitConfigGui.this);
                if (returnVal == JFileChooser.APPROVE_OPTION)
                {
                    String path = m_fc.getSelectedFile().getPath();
                    m_txtSrcFolder.setText(path);
                    BenchmarkEnv.setSourceFolderPath(path);
                }
            }
        });
    }

    private void establishGuiTree()
    {

        JPanel pane_north = new JPanel();
        this.add(pane_north, BorderLayout.NORTH);

        pane_north.setLayout(new BoxLayout(pane_north, BoxLayout.Y_AXIS));
        JPanel pane_srcFolder = new JPanel();
        JPanel pane_packageName = new JPanel();
        JPanel pane_workloadName = new JPanel();
        pane_north.add(pane_srcFolder);
        pane_north.add(pane_packageName);
        pane_north.add(pane_workloadName);

        pane_srcFolder.setLayout(new FlowLayout());
        pane_srcFolder.add(m_lblSrcFolder);
        pane_srcFolder.add(m_txtSrcFolder);
        pane_srcFolder.add(m_btChooseSrcFolder);

        pane_packageName.setLayout(new FlowLayout());
        pane_packageName.add(m_lblPackName);
        pane_packageName.add(m_txtPackName);

        pane_workloadName.setLayout(new FlowLayout());
        pane_workloadName.add(m_lblBenchmarkName);
        pane_workloadName.add(m_txtBenchmarkName);
    }
}
TOP

Related Classes of edu.brown.oltpgenerator.gui.InitConfigGui

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.