IncrementPanel.java :  » App » learnandroid » com » lgnortel » network » networkview » Android Open Source

Android Open Source » App » learnandroid 
learnandroid » com » lgnortel » network » networkview » IncrementPanel.java
package com.lgnortel.network.networkview;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.event.ActionEvent;

import javax.swing.AbstractAction;
import javax.swing.JPanel;
import javax.swing.JTextField;

/**
 * Copyright (c) 2008 LG-Nortel, Inc. All Rights Reserved.
 * 
 * CONFIDENTIALITY AND LIMITED USE: This software, including any software of <br>
 * third parties embodied herein, contains code, information, data and concepts <br>
 * which are confidential and/or proprietary to LG-Nortel and such third <br>
 * parties. This software is licensed for use solely in accordance with the <br>
 * terms and conditions of the applicable license agreement with LG-Nortel or <br>
 * its authorized distributor, and not for any other use or purpose. No <br>
 * redistribution of this software by any party is permitted. <br>
 * 
 * Title: CommonTableCellRenderer.java<br>
 * Description: <br>
 * Copyright: Copyright(c) 2008 LG-NORTEL ALL Rights Reserved<br>
 * Company: LG-Nortel<br>
 * 
 * Title: IncrementPanel.java<br>
 * Description: <br>
 * Copyright: Copyright(c) 2008 LG-NORTEL ALL Rights Reserved<br>
 * Company: LG-Nortel<br>
 * 
 * @author JungGu Lee
 * @version 0.1
 * @created 2009. 1. 21.
 * @modified 2009. 1. 21.
 * @product EFA R4.0 EMS
 * @sw_block Client
 */

public class IncrementPanel extends JPanel {
  /**
   * 
   */
  private static final long serialVersionUID = 1L;
  private JTextField numberField;
  public Spinner spinner;
  private AbstractAction upAction;
  private AbstractAction downAction;
  private int minNumber = 0;
  private int maxNumber = 0;

  /**
   * Constructor of this class
   */
  public IncrementPanel(int basicNumber, int _minNumber, int _maxNumber) {
    minNumber = _minNumber;
    maxNumber = _maxNumber;
    init(basicNumber);
  }

  /**
   * initialization
   * @param basicNumber
   */
  private void init(int basicNumber) {
    setLayout(new BorderLayout());
    numberField = new JTextField();
    numberField.setEditable(false);

    Integer basicNumberInt = new Integer(basicNumber);
    numberField.setText(basicNumberInt.toString());

    upAction = new UpDownAction(1, "up");
    downAction = new UpDownAction(-1, "down");

    spinner = new Spinner();
    spinner.getIncrementButton().addActionListener(upAction);
    spinner.getDecrementButton().addActionListener(downAction);
    add(numberField, "Center");
    add(spinner, "East");
  }

  /**
   * set text field color
   * @param newColor
   */
  public void setTextFieldColor(Color newColor) {
    numberField.setBackground(newColor);
  }

  /**
   * 
   * Title: IncrementPanel.java<br>
   * Description: <br>
   * Copyright: Copyright(c) 2008 LG-NORTEL ALL Rights Reserved<br>
   * Company: LG-Nortel<br>
   * 
   * @author JungGu Lee
   * @version 0.1
   * @created 2009. 2. 5.
   * @modified 2009. 2. 5.
   * @product EFA R4.0 EMS
   * @sw_block
   */
  protected class UpDownAction extends AbstractAction {
    /**
     * 
     */
    private static final long serialVersionUID = 1L;
    int curDirection; // +1 = up; -1 = down

    public UpDownAction(int direction, String name) {
      super(name);
      curDirection = direction;
    }

    public void actionPerformed(ActionEvent evt) {
      Integer numberFieldInt = new Integer(numberField.getText());

      int curNumber = numberFieldInt.intValue();

      if (curDirection > 0) {
        if (curNumber < maxNumber)
          curNumber++;
      } else {
        if (curNumber > minNumber)
          curNumber--;
      }

      Integer modNumber = new Integer(curNumber);
      numberField.setText(modNumber.toString());
    }
  }

  /** 
   * get number
   * @return
   */
  public int getNumber() {
    Integer numberFieldInt = new Integer(numberField.getText());
    return numberFieldInt.intValue();
  }

}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.