⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 advancedlist.java

📁 WAP ide 代码
💻 JAVA
字号:
package Designer;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;

/**
 * Improves the JList class that ships with Java by adding some methods
 * that are required for the PhoneDesigner class.
 * Copyright:    Copyright (c) 2003
 * @author  Mark Busman
 * @version 1.0
 *
 * For License and contact information see PhoneDesigner.java
 */

class AdvancedList extends JList {

    private AdvancedControls c;
    private JPopupMenu thePopup = null;
    private JLabel l;

    // Constants
    private static int LEFT_MOUSE_BUTTON = 16;
    private static int RIGHT_MOUSE_BUTTON = 4;

  /**
   * Constructs a new AdvancedList.
   * @param JLabel theLabel - the label to use for this control.
   */
  public AdvancedList(JLabel theLabel) {
    l = theLabel;
    this.addMouseMotionListener (new java.awt.event.MouseMotionAdapter () {
      public void mouseDragged (java.awt.event.MouseEvent evt) {
        AdvancedMouseDragged (evt);
      }
    }
    );
    this.addMouseListener (new java.awt.event.MouseAdapter () {
      public void mouseReleased (java.awt.event.MouseEvent evt) {
        AdvancedMouseReleased (evt);
      }
      public void mousePressed (java.awt.event.MouseEvent evt) {
        AdvancedMousePressed (evt);
      }
      public void mouseClicked (java.awt.event.MouseEvent evt) {
        AdvancedMouseClicked (evt);
      }
    }
    );
    this.addComponentListener (new java.awt.event.ComponentAdapter () {
      public void componentResized (java.awt.event.ComponentEvent evt) {
        AdvancedComponentResized (evt);
      }
    }
    );
    this.addFocusListener (new java.awt.event.FocusAdapter () {
      public void focusLost (java.awt.event.FocusEvent evt) {
        AdvancedFocusLostHandler (evt);
      }
      public void focusGained (java.awt.event.FocusEvent evt) {
        AdvancedFocusGainedHandler (evt);
      }
    }
    );

    c = new AdvancedControls(theLabel);
    c.SetControl(this);
    this.requestFocus();
  }

  /**
   * Constructs a new AdvancedList.
   * @param JLabel theLabel - the label to use for this control
   * @param JPopupMenu - the popup menu assigned to this control.
   */
  public AdvancedList(JLabel theLabel, JPopupMenu m) {
    l = theLabel;
    thePopup = m;
    this.addMouseMotionListener (new java.awt.event.MouseMotionAdapter () {
      public void mouseDragged (java.awt.event.MouseEvent evt) {
        AdvancedMouseDragged (evt);
      }
    }
    );
    this.addMouseListener (new java.awt.event.MouseAdapter () {
      public void mouseReleased (java.awt.event.MouseEvent evt) {
        AdvancedMouseReleased (evt);
      }
      public void mousePressed (java.awt.event.MouseEvent evt) {
        AdvancedMousePressed (evt);
      }
      public void mouseClicked (java.awt.event.MouseEvent evt) {
        AdvancedMouseClicked (evt);
      }
    }
    );
    this.addComponentListener (new java.awt.event.ComponentAdapter () {
      public void componentResized (java.awt.event.ComponentEvent evt) {
        AdvancedComponentResized (evt);
      }
    }
    );
    this.addFocusListener (new java.awt.event.FocusAdapter () {
      public void focusLost (java.awt.event.FocusEvent evt) {
        AdvancedFocusLostHandler (evt);
      }
      public void focusGained (java.awt.event.FocusEvent evt) {
        AdvancedFocusGainedHandler (evt);
      }
    }
    );

    c = new AdvancedControls(theLabel);
    c.SetControl(this);
    this.requestFocus();
  }

  /** Mouse event */
  private void AdvancedMouseDragged (java.awt.event.MouseEvent evt) {
    if (evt.getModifiers() == LEFT_MOUSE_BUTTON) {
      c.Dragging(this, evt);
      SetProperties();
    }
  }

  /** Mouse event */
  private void AdvancedMouseReleased (java.awt.event.MouseEvent evt) {
    c.Releasing(this, evt);
    setVisible(true);
    c.SetControl(this);
    c.ShowAnchors(this.getX(), this.getY(), this.getWidth(), this.getHeight());
  }

  /** Mouse event */
  private void AdvancedMousePressed (java.awt.event.MouseEvent evt) {
    if (evt.getModifiers() == LEFT_MOUSE_BUTTON) {
      c.Pressing(this, evt);
    }
  }

  /** Mouse event - specially customized for this class */
  private void AdvancedMouseClicked (java.awt.event.MouseEvent evt) {
    c.ShowAnchors(getX(), getY(), getWidth(), getHeight());
    this.requestFocus();
    c.SetControl(this);
    SetProperties();
    if (!(thePopup == null)) {
      if (evt.getModifiers() == RIGHT_MOUSE_BUTTON)
        thePopup.show(l, this.getX() + evt.getX(), this.getY() + evt.getY());
    }
  }

  /** Component event - specially customized for this class */
  private void AdvancedComponentResized (java.awt.event.ComponentEvent evt) {
    SetProperties();
  }

  /** Override method for more advanced control */
  private void AdvancedFocusLostHandler (java.awt.event.FocusEvent evt) {
  }

  /** Override method for more advanced control */
  private void AdvancedFocusGainedHandler (java.awt.event.FocusEvent evt) {
  }

  /** Override method for more advanced control */
  public void SetProperties() {
  }

  /** Override method for more advanced control */
  public void SetStatusControls() {
  }

  /**
   * Displays the resize controls for the selected control.
   */
  public void SetControl() {
    c.ShowAnchors(getX(), getY(), getWidth(), getHeight());
    SetStatusControls();
    this.requestFocus();
  }

  /**
   * Allows program the opportunity to select a control w/out allowing
   * resize capabilities.
   * @param boolean show - if true shows the resize controls.
   */
  public void ShowControls(boolean show) {
    if (show)
      c.ShowAnchors(this.getX(), this.getY(), this.getWidth(), this.getHeight());
    else
      c.HideAnchors();
    c.HideResizeBox();
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -