?? advancedlist.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 + -