Package gui

Source Code of gui.Row

package gui;

import java.awt.Component;
import java.awt.ComponentOrientation;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.ScrollPane;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.OutputStreamWriter;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.Enumeration;
import java.util.Hashtable;
import java.util.Iterator;
import java.util.List;

import javax.swing.ButtonGroup;
import javax.swing.DefaultListModel;
import javax.swing.JList;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.ListSelectionModel;
import javax.swing.table.AbstractTableModel;
import javax.swing.table.TableModel;
import javax.swing.text.html.Option;

import org.joda.time.DateTime;
import org.joda.time.DateTimeZone;

import businesslogic.CalculateCentrality;
import businesslogic.CentralityEntity;
import businesslogic.JHintingTextField;
import businesslogic.RInterface;

import dataaccess.Groups;

public class SNAnalyzerGui  extends javax.swing.JFrame implements WindowListener,ActionListener {
    final static boolean shouldFill = true;
    final static boolean shouldWeightX = true;
    final static boolean RIGHT_TO_LEFT = false;
    final static boolean m_keepmatrices = true;
    private final static DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
   
    private List<CentralityEntity> m_centralities = null;
    private Hashtable<Double,Double> m_matchingtable = null;
 
  private int m_position = 0;
  private String m_text [] = {"Choose Project", "Choose Data Source", "Set Time", "Generate", "Result"};

  private javax.swing.JLabel l_title = null;
  private javax.swing.JLabel l_step = null;
  private javax.swing.JButton b_next = null;
  private javax.swing.JButton b_back = null;
  private javax.swing.JPanel main_panel = null;
  private javax.swing.JPanel current_panel = null;

  //------------------------------------------------------------------------------
  //Window1
  private javax.swing.JPanel step1_panel = null;
  private javax.swing.JComboBox cb_choose_project = null;

  //------------------------------------------------------------------------------
  //Window2
  private javax.swing.JPanel step2_panel = null;
  //private javax.swing.JCheckBox chb_src_forum = null;
  private javax.swing.JCheckBox chb_scr_bugreports = null;
  private javax.swing.JCheckBox chb_scr_sourcforgecheckins = null;
 
  //------------------------------------------------------------------------------
  //Window3
  private javax.swing.JPanel step3_panel = null;
  private javax.swing.JRadioButton chb_fix_date = null;
  private javax.swing.JRadioButton chb_custom_date = null;
  private ButtonGroup date_group = null;
  private JHintingTextField t_begin_date = null;
  private JHintingTextField t_end_date = null;
  private javax.swing.JComboBox cb_interval = null;
  private javax.swing.JList lb_dates = null;
  private DefaultListModel listModel;
  private JHintingTextField t_adddate = null;
 
  private javax.swing.JButton b_add = null;
  private javax.swing.JButton b_remove = null;

 
  //------------------------------------------------------------------------------
  //Window4
  private javax.swing.JPanel step4_panel = null;
  private javax.swing.JButton b_start = null;
 
  //------------------------------------------------------------------------------
  //Window5 -  Result
  private javax.swing.JPanel result_panel = null;
  private javax.swing.JButton b_showNetwork = null;
  private javax.swing.JTable t_resulttable = null;
  private JScrollPane sc_resulttable = null;
  private RInterface m_rinterface = null;
 

  public SNAnalyzerGui() {
    super();
    initialize();
  }
 
  /**
   * -------------------------------------------------------------------------------
   * Main Panel
   */

  /**
   * Return the JLabel l_title property value.
   * @return javax.swing.JLabel
   */
  private javax.swing.JLabel get_l_title() {
    if (l_title == null) {
      l_title = new javax.swing.JLabel();
      l_title.setName("l_title");
    }
    l_title.setText(m_text[m_position]);
    return l_title;
  }
  /**
   * Return the JLabel l_title property value.
   * @return javax.swing.JLabel
   */
  private javax.swing.JLabel get_l_step() {
    if (l_step == null) {
      l_step = new javax.swing.JLabel();
      l_step.setName("l_step");
    }
    l_step.setText("Step " + (m_position+1) + "/4");
    return l_step;
  }
 
  /**
   * Return the JButton1 property value.
   * @return javax.swing.JButton
   */
  private javax.swing.JButton get_b_next() {
    if (b_next == null) {
      b_next = new javax.swing.JButton();
      b_next.setName("b_next");
      b_next.setText("Next");
      b_next.setActionCommand("next");
      b_next.addActionListener(this);
    }
    return b_next;
  }
 
  /**
   * Return the JButton1 property value.
   * @return javax.swing.JButton
   */
  private javax.swing.JButton get_b_back() {
    if (b_back == null) {
      b_back = new javax.swing.JButton();
      b_back.setName("b_back");
      b_back.setText("Back");
      b_back.setActionCommand("back");
      b_back.addActionListener(this);
    }
    return b_back;
  }
 
  /**
   * Return the JPanel property value.
   * @return javax.swing.JPanel
   */

  private javax.swing.JPanel getMainPanel(){
    GridBagConstraints c = new GridBagConstraints();
    if (main_panel == null) {
      main_panel = new javax.swing.JPanel();
      main_panel.setName("mainpanel");
     
      main_panel.setLayout(new GridBagLayout());
     
           c.fill = GridBagConstraints.CENTER;
     
      c.gridx = 0;
      c.gridy = 1;
      c.weightx = 0.5;
      main_panel.add(get_b_back(), c);
     
      c.gridx = 2;
      c.gridy = 1;
      c.weightx = 0.5;
      main_panel.add(get_b_next(), c);
     
     

    }

         c.gridx = 1;
    c.gridy = 0;
    c.weightx = 0;
    main_panel.add(get_l_title(), c);
   
    if (m_position != 4)
    {
      c.gridx = 1;
      c.gridy = 1;
      c.weightx = 0.5;
      main_panel.add(get_l_step(), c);
    }
   
    c.gridx = 0;
    c.gridy = 2;
    c.weightx = 0;
    c.gridwidth = 3;
    c.weighty = 1;
    c.gridheight = GridBagConstraints.REMAINDER;
    main_panel.add(getcurrentPanel(), c);

    return main_panel;
  }
 
 
  public void actionPerformed(ActionEvent e) {
    if(e.getActionCommand() == "b_showNetwork")
    { 
      int t_selection = t_resulttable.getSelectedRow();
      if (t_selection == -1)
      {
        JOptionPane.showMessageDialog(null, "Please select a row.", "Warning", JOptionPane.OK_OPTION);
      }
      else
      {
        //RInterface initialisieren
        //-----------------------------------------------
        m_rinterface = new RInterface(true);
        //-----------------------------------------------
       
        CentralityEntity t_ce = m_centralities.get(t_selection);
       
        try {
          m_rinterface.keyActorPlot(t_ce);
        } catch (Exception e1) {
          // TODO Auto-generated catch block
          e1.printStackTrace();
        }
      }
     

     
     
    }
    if(e.getActionCommand() == "b_start")
      { 
        int add_months = Integer.parseInt(((Row)cb_interval.getSelectedItem()).getId());
        long projectid = Long.parseLong(((Row)cb_choose_project.getSelectedItem()).getId());
       
        List <DateTime>l_dates = new ArrayList<DateTime>();
       
        //Fixed start and enddate with given interval
        if(chb_fix_date.isSelected() == true)
        {
         
          DateTime startdate = null, enddate = null;
 
          try {
            startdate = new DateTime(df.parse(t_begin_date.getText()));
            enddate = new DateTime(df.parse(t_end_date.getText()));
          } catch (ParseException e1) {
            JOptionPane.showMessageDialog(null, "Please check dates!", "Warning", JOptionPane.OK_OPTION);
            e1.printStackTrace();
            return;
          }
         
          while (startdate.isBefore(enddate))
          {
            l_dates.add(startdate);
            startdate = startdate.plusMonths(add_months);
          }
         
          l_dates.add(enddate);
        }
       
        //List with dates
        else if (chb_custom_date.isSelected() == true)
        {
            // Get number of items in the list
            int size = lb_dates.getModel().getSize();
           
            // Get all item objects
            for (int i=0; i<size; i++) {
                try {
              l_dates.add(new DateTime(df.parse((String)lb_dates.getModel().getElementAt(i))));
            } catch (ParseException e1) {
              // TODO Auto-generated catch block
              e1.printStackTrace();
            }
               
            }
        }
       
       
        //Calculate measures with given dates
        for(int i = 0; i < l_dates.size()-1; i++)
        {
          DateTime begin = l_dates.get(i);
          DateTime end = null;
          CentralityEntity l_ce = null;
         
         
          if (i == l_dates.size()-2)
            end = l_dates.get(i+1);
          else
            end = l_dates.get(i+1).minusDays(1);
         
          //Matchingtable is relevant to map ID's of vertices beginning with 0 and should be the same for analysis over period of time
//          if(m_matchingtable == null)
//          {
//            m_matchingtable = new Hashtable<Double, Double>();
//            l_ce = new CentralityEntity(begin, end, Long.parseLong(((Row)cb_choose_project.getSelectedItem()).getId()), m_keepmatrices, m_matchingtable);
//          }
//
//          else
          l_ce = new CentralityEntity(begin, end, Long.parseLong(((Row)cb_choose_project.getSelectedItem()).getId()), m_keepmatrices);
         
           //Bug Report List
          if(chb_scr_bugreports.isSelected() == true)
            l_ce.fillMatrixBugReports();
         
          //Forum
//          if(chb_src_forum.isSelected() == true)
//            l_ce.fillMatrixForum();
         
          //Sourceforge Checkins
          if(chb_scr_sourcforgecheckins.isSelected() == true)
            l_ce.fillMatrixSFCheckins();
         
          //RInterface initialisieren
          //-----------------------------------------------
          m_rinterface = new RInterface();
          //-----------------------------------------------
         
         
          //Calculate Centrality
          if(l_ce.calculateCentrality() == true)
          {
            m_centralities.add(l_ce);
           
          }
        }
       
       
        //prepare result panel
        main_panel.remove(getcurrentPanel());
        m_position = 4;
        get_b_back().setEnabled(false);
        get_b_next().setEnabled(false);
        get_l_step().setText(String.valueOf(projectid) + " " + ((Row)cb_choose_project.getSelectedItem()).getVal());
        main_panel.remove(l_title);
       
       
        Object [][] t_reselem = new Object[m_centralities.size()][5];
       
        for(int i = 0; i < m_centralities.size(); i++)
        {
          CentralityEntity t_ce = m_centralities.get(i);
          t_reselem[i][0] = df.format(t_ce.getM_begin().toDate());
          t_reselem[i][1] = df.format(t_ce.getM_end().toDate());
          t_reselem[i][2] = t_ce.getM_closeness();
          t_reselem[i][3] = t_ce.getM_betweenness();
          t_reselem[i][4] = t_ce.getM_degree();
        }
       
       
        t_resulttable = new JTable (new ResultTableModel(t_reselem));
        t_resulttable.getSelectionModel().setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
        t_resulttable.setCellSelectionEnabled(false);
        t_resulttable.setColumnSelectionAllowed(false);
        t_resulttable.setRowSelectionAllowed(true);
       
        sc_resulttable = new JScrollPane(t_resulttable);
       
        try
        {
        saveResultToTextfile();
        }
        catch (Exception ex)
        {
          ex.printStackTrace();
        }

       
        getWindow5().add(sc_resulttable);
       
        this.setContentPane(getMainPanel());
        validate();
      }
   
    if(e.getActionCommand() == "next" || e.getActionCommand() == "back")
    {
      main_panel.remove(getcurrentPanel());
      main_panel.remove(get_l_step());
      main_panel.remove(l_title);
     
      if(e.getActionCommand() == "next" && m_position < 3)
        m_position++;
      
      if(e.getActionCommand() == "back" && m_position > 0)
        m_position--;
     
      System.out.println("changewindow" + m_position);
     
      switch (m_position)
      {
      case 0:
        current_panel = getWindow1();
        break;
      case 1:
        current_panel = getWindow2();
        break;
      case 2:
        current_panel = getWindow3();
        break;
      case 3:
        current_panel = getWindow4();
        break;
      case 4:
        break;
      }
     
      this.setContentPane(getMainPanel());
      validate();
     
     
    }
   
   
   
    if(e.getActionCommand() == "remove")
    {
            //This method can be called only if
            //there's a valid selection
            //so go ahead and remove whatever's selected.
            int index = lb_dates.getSelectedIndex();
            listModel.remove(index);

            int size = listModel.getSize();

            if (size == 0) { //Nobody's left, disable firing.
                b_remove.setEnabled(false);

            } else { //Select an index.
                if (index == listModel.getSize()) {
                    //removed item in last position
                    index--;
                }

                lb_dates.setSelectedIndex(index);
                lb_dates.ensureIndexIsVisible(index);
            }
           
            getchb_custom_date().setSelected(true);
    }
   
    if(e.getActionCommand() == "add")
    {
      String name = t_adddate.getText();
      Date tmpdate = null;

        try {
        tmpdate = df.parse(name);
      } catch (ParseException e1) {
        return;
      }
     
      name = df.format(tmpdate);
       
            //User didn't type in a unique name...
            if (name.equals("") == true || alreadyInList(name) == true) {
                t_adddate.requestFocusInWindow();
                return;
            }

            int index = lb_dates.getSelectedIndex(); //get selected index
            if (index == -1) { //no selection, so insert at beginning
                index = 0;
            } else {           //add after the selected item
                index++;
            }
           
            int size = listModel.getSize();

            if (size == 0)
                b_remove.setEnabled(true);
           
            listModel.insertElementAt(name, index);
            //If we just wanted to add to the end, we'd do this:
            //listModel.addElement(employeeName.getText());

            //Reset the text field.
            t_adddate.requestFocusInWindow();
            t_adddate.setText("");

            //Select the new item and make it visible.
            lb_dates.setSelectedIndex(index);
            lb_dates.ensureIndexIsVisible(index);
            getchb_custom_date().setSelected(true);
        }

   
  }
 
  /**
   * Return the JFrameContentPane property value.
   * @return javax.swing.JPanel
   */
 
  private void saveResultToTextfile() throws Exception
  {
    Date today = new Date();
   
    FileOutputStream fos = new FileOutputStream(((Row)cb_choose_project.getSelectedItem()).getVal() + "_" + df.format(today) + ".txt");
    OutputStreamWriter out = new OutputStreamWriter(fos, "UTF-8");
   
    out.write(df.format(today) + " - Generating measures for " + ((Row)cb_choose_project.getSelectedItem()).getVal() + "Projid: " + ((Row)cb_choose_project.getSelectedItem()).getId() + "\n");
   
    for(int i = 0; i < m_centralities.size(); i++)
    {
      CentralityEntity t_ce = m_centralities.get(i);
      out.write("Start: " + df.format(t_ce.getM_begin().toDate()) + " End: " + df.format(t_ce.getM_end().toDate()) + "\n closeness: " +  t_ce.getM_closeness() +
      " betweenness: " + t_ce.getM_betweenness() + " degree: " + t_ce.getM_degree() + "\n");
     
      out.write("\n\nActorcentrality:\n-------------\n\t");
      Hashtable<Double,Double> mappingt = t_ce.getM_mappingtable();
      Hashtable<Double,Double> mappingtgesp = new Hashtable<Double, Double>();
     
      double[]actordegree = t_ce.getM_actordegree();
      double[]actorcloseness = t_ce.getM_actorcloseness();
      double[]actorbetweenness = t_ce.getM_actorbetweenness();
     
      Enumeration e = mappingt.keys();
     
     
      while(e.hasMoreElements())
      {
        Double lkey = (Double)e.nextElement();
        Double lvalue = mappingt.get(lkey);
       
        mappingtgesp.put(lvalue, lkey);
      }
     
     
      for(double j=0; j < mappingt.size()-1; j++)
      {
        out.write("\t" + mappingtgesp.get(j+1));
      }
     
      out.write("\nD: ");
     
      for(int j=0; j < actordegree.length; j++)
      {
        out.write(String.valueOf(actordegree[j]) + "\t");     
      }
     
      out.write("\nC: ");
     
      for(int j=0; j < actorcloseness.length; j++)
      {
        out.write(String.valueOf(actorcloseness[j]) + "\t");     
      }
     
      out.write("\nB:");
     
      for(int j=0; j < actorbetweenness.length; j++)
      {
        out.write(String.valueOf(actorbetweenness[j]) + "\t");     
      }
     
    }
   
   
   
   
    out.close();
    fos.close();

  }

  /**
   * -------------------------------------------------------------------------------
   * Window 1
   */

  /**
   * Return the JComboBox1 property value.
   * @return javax.swing.JComboBox
   */
  private javax.swing.JComboBox getcb_choose_project() {
    if (cb_choose_project == null) {
      cb_choose_project = new javax.swing.JComboBox();
     
      }
      cb_choose_project.setName("Choose Project");
     
      Hashtable <Long, String> l_id_names = Groups.getall_by_id_name();

     
      Iterator<Long> it_id_names = l_id_names.keySet().iterator();

      try
      {
      while (it_id_names.hasNext())
      {
        String l_key, l_value;

        try {
   
          l_key = it_id_names.next().toString();
          l_value = l_id_names.get(Long.parseLong(l_key));
          cb_choose_project.addItem(new Row(l_key, l_value));
         
        } catch (Exception e) {
          e.printStackTrace();
       
      }
      }
      catch(Exception ex){
        ex.printStackTrace();
      }
     
    return cb_choose_project;
  }
 

  /**
   * Return the JFrameContentPane property value.
   * @return javax.swing.JPanel
   */
   
  private javax.swing.JPanel getWindow1(){
    if (step1_panel == null) {
      GridBagConstraints c = new GridBagConstraints();
      step1_panel = new javax.swing.JPanel();
      step1_panel.setName("step1_panel");
      step1_panel.setLayout(new GridBagLayout());
     
      c.gridx = 0;
      c.gridy = 0;
      c.weightx = 0.5;
     
      //getJFrameContentPane().add(getJButton1(), getJButton1().getName());
      step1_panel.add(getcb_choose_project(),c);
      //getWindow1().add(getcurrentPanel(),
      //    getcurrentPanel().getName());
    }
    return step1_panel;
  }
 
  /**
   * Return the JFrameContentPane property value.
   * @return javax.swing.JPanel
   */
   
  /**
   * -------------------------------------------------------------------------------
   * Window 2
   */
  private javax.swing.JPanel getWindow2(){
    if (step2_panel == null) {
      step2_panel = new javax.swing.JPanel();
      step2_panel.setName("step2_panel");
      step2_panel.setLayout(new FlowLayout());
      getWindow2().add(getchb_scr_bugreports(),
          getchb_scr_bugreports().getName());
      //getWindow2().add(getchb_src_forum(),
      //    getchb_src_forum().getName());
      getWindow2().add(getchb_scr_sourcforgecheckins(),
          getchb_scr_sourcforgecheckins().getName());
    }
    return step2_panel;
  }
 
  /**
   * Return the JCheckBox1 property value.
   * @return javax.swing.JCheckBox
   */
  private javax.swing.JCheckBox getchb_scr_bugreports() {
    if (chb_scr_bugreports == null) {
      chb_scr_bugreports = new javax.swing.JCheckBox();
      chb_scr_bugreports.setName("chb_scr_bugreports");
      chb_scr_bugreports.setText("Bug reports");
    }
    return chb_scr_bugreports;
  }
 
  /**
   * Return the JCheckBox1 property value.
   * @return javax.swing.JCheckBox
   */
  /*private javax.swing.JCheckBox getchb_src_forum() {
    if (chb_src_forum == null) {
      chb_src_forum = new javax.swing.JCheckBox();
      chb_src_forum.setName("chb_src_forum");
      chb_src_forum.setText("Forum");
    }
    return chb_src_forum;
  }*/
 
  /**
   * Return the JCheckBox1 property value.
   * @return javax.swing.JCheckBox
   */
  private javax.swing.JCheckBox getchb_scr_sourcforgecheckins() {
    if (chb_scr_sourcforgecheckins == null) {
      chb_scr_sourcforgecheckins = new javax.swing.JCheckBox();
      chb_scr_sourcforgecheckins.setName("chb_scr_sourcforgecheckins");
      chb_scr_sourcforgecheckins.setText("Sourceforge checkins");
    }
    return chb_scr_sourcforgecheckins;
  }
  /**
   * -------------------------------------------------------------------------------
   * Window 3
   */
  private javax.swing.JPanel getWindow3(){
    if (step3_panel == null) {
      GridBagConstraints c = new GridBagConstraints();
   
      step3_panel = new javax.swing.JPanel();
      step3_panel.setName("step3_panel");
      step3_panel.setLayout(new GridBagLayout());
     
      c.gridx = 1;
      c.gridy = 1;
      c.weightx = 0.5;
      c.ipadx = 80;
      step3_panel.add(gett_begin_date(), c);
      c.ipadx = 0;
     
      c.gridx = 2;
      c.gridy = 1;
      c.ipadx = 80;
      step3_panel.add(gett_end_date(), c);
      c.ipadx = 0;
     
      c.gridx = 3;
      c.gridy = 1;
      step3_panel.add(getcb_interval(), c);
     
      c.gridx = 0;
      c.gridy = 1;
      step3_panel.add(getchb_fix_date(), c);
     
      c.gridx = 0;
      c.gridy = 2;
      step3_panel.add(getchb_custom_date(), c);
     
      c.gridx = 1;
      c.gridy = 2;
      c.gridwidth = 3;
      c.gridheight = 2;
      step3_panel.add(getlb_dates(), c);
     
      c.gridwidth = 1;
      c.gridheight = 1;
      date_group = new ButtonGroup();
      date_group.add(getchb_fix_date());
      date_group.add(getchb_custom_date());
     
      c.ipadx = 80;
      c.gridx = 4;
      c.gridy = 2;
      step3_panel.add(gett_adddate(), c);
      c.ipadx = 0;
     
      c.gridx = 4;
      c.gridy = 3;
      step3_panel.add(get_b_add(), c);
     
      c.gridx = 2;
      c.gridy = 4;
      step3_panel.add(get_b_remove(), c);

      getchb_fix_date().setSelected(true);
    }
    return step3_panel;
  }
 
  /**
   * Return the JCheckBox1 property value.
   * @return javax.swing.JCheckBox
   */
  private javax.swing.JRadioButton getchb_fix_date() {
    if (chb_fix_date == null) {
      chb_fix_date = new javax.swing.JRadioButton();
      chb_fix_date.setName("chb_chb_fix_date");
      chb_fix_date.setText("Fix date");
    }
    return chb_fix_date;
  }
 
  /**
   * Return the JTextFiel property value.
   * @return javax.swing.JTextArea
   */
  private javax.swing.JTextField gett_begin_date() {
    if (t_begin_date == null) {
      t_begin_date = new JHintingTextField();
      t_begin_date.setName("t_begin_date");
      t_begin_date.putClientProperty("emptyTextHint", "Beginn Date");
    }
    return t_begin_date;
  }
 
  /**
   * Return the JTextArea1 property value.
   * @return javax.swing.JTextArea
   */
  private javax.swing.JTextField gett_end_date() {
    if (t_end_date == null) {
      t_end_date = new JHintingTextField();
      t_end_date.setName("t_end_date");
      t_end_date.putClientProperty("emptyTextHint", "End Date");
    }
    return t_end_date;
  }
 
  /**
   * Return the JComboBox1 property value.
   * @return javax.swing.JComboBox
   */
  private javax.swing.JComboBox getcb_interval() {
    if (cb_interval == null) {
      cb_interval = new javax.swing.JComboBox(new Row[] {new Row("1","1 month"), new Row("2","2 months"), new Row("3","3 months"), new Row("5","5 months"), new Row("6","6 months"), new Row("7", "7 months"), new Row("9", "9 months"), new Row("12", "12 months")});
     
      }
      cb_interval.setName("Choose Interval");
   
     
    return cb_interval;
  }
 
  /**
   * Return the JCheckBox1 property value.
   * @return javax.swing.JCheckBox
   */
  private javax.swing.JRadioButton getchb_custom_date() {
    if (chb_custom_date == null) {
      chb_custom_date = new javax.swing.JRadioButton();
      chb_custom_date.setName("chb_chb_custom_date");
      chb_custom_date.setText("Custom date");
    }
    return chb_custom_date;
  }
 
  /**
   * Return the JList property value.
   * @return javax.swing.JList
   */
  private JScrollPane getlb_dates() {
    JScrollPane listScroller=null;
   
    if (lb_dates == null) {
      listModel = new DefaultListModel();
     
//          listModel.addElement("Debbie Scott");
//          listModel.addElement("Scott Hommel");
//          listModel.addElement("Sharon Zakhour");
//          listModel.addElement("adsf");
//          listModel.addElement("Sharon Zakhour12");
//          listModel.addElement("Alexander Feldner");

          lb_dates = new javax.swing.JList(listModel);
      lb_dates.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
      lb_dates.setSelectedIndex(0);
      lb_dates.setVisibleRowCount(4);
     

      listScroller = new JScrollPane(lb_dates);
     
      //listScroller.setPreferredSize(new Dimension(250, 80));

      lb_dates.setName("lb_dates");
    }
    return listScroller;
  }
 
  /**
   * Return the JTextArea1 property value.
   * @return javax.swing.JTextArea
   */
  private javax.swing.JTextField gett_adddate() {
    if (t_adddate == null) {
      t_adddate = new JHintingTextField();
      t_adddate.setName("t_adddate");
      t_adddate.putClientProperty("emptyTextHint","Add Date");
    }
    return t_adddate;
  }
 
  /**
   * Return the JButton1 property value.
   * @return javax.swing.JButton
   */
  private javax.swing.JButton get_b_add() {
    if (b_add == null) {
      b_add = new javax.swing.JButton();
      b_add.setName("b_add");
      b_add.setText("Add");
      b_add.setActionCommand("add");
      b_add.addActionListener(this);
    }
    return b_add;
  }
 
  /**
   * Return the JButton1 property value.
   * @return javax.swing.JButton
   */
  private javax.swing.JButton get_b_remove() {
    if (b_remove == null) {
      b_remove = new javax.swing.JButton();
      b_remove.setName("b_remove");
      b_remove.setText("Remove");
      b_remove.setActionCommand("remove");
      b_remove.addActionListener(this);
     
            int size = listModel.getSize();

            if (size == 0//Nobody's left, disable firing.
                b_remove.setEnabled(false);
    }
    return b_remove;
  }
 
 
 
  /**
   * -------------------------------------------------------------------------------
   * Window 4
   */
 
  /**
   * Return the JButton1 property value.
   * @return javax.swing.JButton
   */
  private javax.swing.JButton get_b_start() {
    if (b_start == null) {
      b_start = new javax.swing.JButton();
      b_start.setName("b_start");
      b_start.setText("Generate Centrality Measures");
      b_start.setActionCommand("b_start");
      b_start.addActionListener(this);
    }
    return b_start;
  }
 
 
  private javax.swing.JPanel getWindow4(){
    if (step4_panel == null) {
      step4_panel = new javax.swing.JPanel();
      step4_panel.setName("step4_panel");
      step4_panel.setLayout(new FlowLayout());
      getWindow4().add(get_b_start(),
          get_b_start().getName());

    }
    return step4_panel;
  }
 
  /**
   * -------------------------------------------------------------------------------
   * Window 5 - Result Window
   */
 
 
  private javax.swing.JPanel getWindow5(){
    if (result_panel == null) {
      result_panel = new javax.swing.JPanel();
      result_panel.setName("result_panel");
      result_panel.setLayout(new FlowLayout());
      getWindow5().add(get_b_showNetwork(),
          get_b_showNetwork().getName());

    }
    return result_panel;
  }
 
  /**
   * Return the JButton5 property value.
   * @return javax.swing.JButton
   */
  private javax.swing.JButton get_b_showNetwork() {
    if (b_showNetwork == null) {
      b_showNetwork = new javax.swing.JButton();
      b_showNetwork.setName("b_showNetwork");
      b_showNetwork.setText("Show Network");
      b_showNetwork.setActionCommand("b_showNetwork");
      b_showNetwork.addActionListener(this);
    }
    return b_showNetwork;
  }
 
  /**
   * -------------------------------------------------------------------------------
   * Controlling
   */
 
  /**
   * Return the JFrameContentPane property value.
   * @return javax.swing.JPanel
   */
   
  private javax.swing.JPanel getcurrentPanel(){
    switch (m_position)
    {
    case 0:
      current_panel = getWindow1();
      break;
    case 1:
      current_panel = getWindow2();
      break;
    case 2:
      current_panel = getWindow3();
      break;
    case 3:
      current_panel = getWindow4();
      break;
    case 4:
      current_panel = getWindow5();
      break;
    }

    return current_panel;
  }
 
    //This method tests for string equality. You could certainly
    //get more sophisticated about the algorithm.  For example,
    //you might want to ignore white space and capitalization.
    protected boolean alreadyInList(String name) {
        return listModel.contains(name);
    }


  /**
   * Initialize the class.
   */
  private void initialize() {

    this.setName("SNAnalyzer");
    this.setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
    this.setBounds(100, 100, 800, 500);
    this.setTitle("SNAnalyzer");
    this.setContentPane(getMainPanel());
   
    m_centralities = new ArrayList<CentralityEntity>();
    //this.setContentPane(getWindow1());
  }

  public void windowActivated(WindowEvent arg0) {
    // TODO Auto-generated method stub
   
  }

  public void windowClosed(WindowEvent arg0) {
    // TODO Auto-generated method stub
   
  }

  public void windowClosing(WindowEvent arg0) {
    // TODO Auto-generated method stub
   
  }

  public void windowDeactivated(WindowEvent arg0) {
    // TODO Auto-generated method stub
   
  }

  public void windowDeiconified(WindowEvent arg0) {
    // TODO Auto-generated method stub
   
  }

  public void windowIconified(WindowEvent arg0) {
    // TODO Auto-generated method stub
   
  }

  public void windowOpened(WindowEvent arg0) {
    // TODO Auto-generated method stub
   
  }
 
  /**
   * -------------------------------------------------------------------------------
   * old stuff
   */

 
  /**
   * Return the JLabel1 property value.
   * @return javax.swing.JLabel
   */
/*  private javax.swing.JLabel getJLabel1() {
    if (ivjJLabel1 == null) {
      ivjJLabel1 = new javax.swing.JLabel();
      ivjJLabel1.setName("JLabel1");
      ivjJLabel1.setText("JLabel");
    }
    return ivjJLabel1;
  }*/



}

class MyGuiContainer
{
  public static void main(String args[])
  {
    SNAnalyzerGui bla = new SNAnalyzerGui();
    bla.setVisible(true);
  }
}

class Row {
    private String id, val;
   
    public Row(String id, String val) {
        this.id = id;
        this.val = val;
    }
    public String getId() {
        return id;
    }
    public String getVal() {
        return val;
    }
    public String toString() {
        return val;
    }
}
TOP

Related Classes of gui.Row

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.