Package jmt.gui.jwat.trafficAnalysis.panels

Source Code of jmt.gui.jwat.trafficAnalysis.panels.EpochPanel

package jmt.gui.jwat.trafficAnalysis.panels;

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.event.ActionEvent;

import javax.swing.AbstractAction;
import javax.swing.Action;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JSpinner;
import javax.swing.SpinnerNumberModel;

import jmt.engine.jwat.trafficAnalysis.ModelTrafficAnalysis;
import jmt.engine.jwat.trafficAnalysis.OnResetModel;
import jmt.engine.jwat.trafficAnalysis.TrafficAnalysisSession;
import jmt.framework.gui.wizard.WizardPanel;
import jmt.gui.jwat.JWATConstants;
import jmt.gui.jwat.JWatWizard;
import jmt.gui.jwat.MainJwatWizard;

public class EpochPanel extends WizardPanel implements JWATConstants {

  /**
   *
   */
  private static final long serialVersionUID = 1L;
  private MainJwatWizard burstwizard = null;
  private JSpinner epochs = null;
  private ModelTrafficAnalysis model = null;
  private TrafficAnalysisSession session = null;
  private boolean canGoOn = false;

  public EpochPanel(MainJwatWizard burstwizard) {
    super();
    this.burstwizard = burstwizard;
    model = (ModelTrafficAnalysis) burstwizard.getModel();
    session = (TrafficAnalysisSession) burstwizard.getSession();

    initComponents();
    ((ModelTrafficAnalysis) this.burstwizard.getModel()).addResetModelListener(new OnResetModel() {
      public void modelResetted() {
        EpochPanel.this.removeAll();
        initComponents();
      }
    });
  }

  private void initComponents() {
    this.setLayout(new BorderLayout());
    epochs = new JSpinner(new SpinnerNumberModel(10, 10, 50, 1));
    JPanel epochOption = new JPanel(new BorderLayout());
    JPanel flowTemp = new JPanel(new FlowLayout(FlowLayout.LEFT));
    epochs.setPreferredSize(new Dimension(70, 40));
    epochs.setFont(new Font(epochs.getFont().getName(), epochs.getFont().getStyle(), epochs.getFont().getSize() + 4));
    flowTemp.add(new JLabel("<html><body><h3>Select the maximum number of epochs: </h3></body></html> "));
    flowTemp.add(epochs);
    JButton setEpoch = new JButton(this.setEpoch);
    setEpoch.setPreferredSize(new Dimension(85, 35));
    flowTemp.add(setEpoch);
    epochOption.add(flowTemp, BorderLayout.CENTER);
    //JPanel btnPanel = new JPanel(new FlowLayout(FlowLayout.CENTER));
    //btnPanel.add(setEpoch);
    //epochOption.add(btnPanel,BorderLayout.SOUTH);
    this.add(epochOption, BorderLayout.NORTH);
  }

  @Override
  public String getName() {
    return "Epoch";
  }

  private Action setEpoch = new AbstractAction("Set epoch") {
    /**
     *
     */
    private static final long serialVersionUID = 1L;

    public void actionPerformed(ActionEvent e) {
      session.setParameters(((Integer) epochs.getValue()).intValue());
      ((JWatWizard) getParentWizard()).setEnableButton("Next >", true);
      ((JWatWizard) getParentWizard()).setEnableButton("Solve", false);
      canGoOn = true;
      ((JWatWizard) getParentWizard()).showNextPanel();
    }
  };

  //   TODO controllare validita dei dati forniti nel pannello e creazione e passaggio informazioni al modello per il prossimo panello
  // Chiamata prima di passare al prossimo pannello
  @Override
  public boolean canGoForward() {
    return canGoOn;
  }

  // TODO controllare con Fuma cosa fare
  // Chiamata quando dal pannello si torna indietro
  @Override
  public boolean canGoBack() {
    return true;
  }

  @Override
  public void lostFocus() {
    burstwizard.setLastPanel(TRAFFIC_EPOCH_PANEL);
  }
}
TOP

Related Classes of jmt.gui.jwat.trafficAnalysis.panels.EpochPanel

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.