Esempio n. 1
0
 private void installUI(LComponent comp) {
   comp.setUIRenderer(this.uiConfig.createUIFactory(comp.getUIName()));
   if (comp.isContainer()) {
     LComponent[] childs = ((LContainer) comp).getComponents();
     for (int i = 0; i < childs.length; i++) {
       this.installUI(childs[i]);
     }
   }
 }
Esempio n. 2
0
 void setDesktop(LComponent comp) {
   if (comp.isContainer()) {
     LComponent[] child = ((LContainer) comp).getComponents();
     for (int i = 0; i < child.length; i++) {
       this.setDesktop(child[i]);
     }
   }
   comp.setDesktop(this);
 }
Esempio n. 3
0
  /**
   * 查找指定容器
   *
   * @param comp
   * @return
   */
  boolean selectComponent(LComponent comp) {
    if (!comp.isVisible() || !comp.isFocusable() || !comp.isEnabled()) {
      return false;
    }

    // 清除最后部分
    this.deselectComponent();

    // 设定选中状态
    comp.setSelected(true);
    this.selectedComponent = comp;

    return true;
  }
Esempio n. 4
0
  /** 鼠标运动事件 */
  private void processMouseMotionEvent() {
    if ((this.hoverComponent != null && this.hoverComponent.isEnabled())
        && (this.input.isMouseDown(MouseEvent.BUTTON1)
            || this.input.isMouseDown(MouseEvent.BUTTON2)
            || this.input.isMouseDown(MouseEvent.BUTTON3))) {

      if (this.input.getMouseDX() != 0 || this.input.getMouseDY() != 0) {
        this.hoverComponent.processMouseDragged();
      }

    } else {
      // 获得当前窗体下鼠标坐标
      LComponent comp = this.findComponent(this.input.getMouseX(), this.input.getMouseY());

      if (comp != null) {
        if (this.input.getMouseDX() != 0 || this.input.getMouseDY() != 0) {
          comp.processMouseMoved();
          // 刷新提示
          this.tooltip.dismiss = 0;
        }

        if (this.hoverComponent == null) {
          this.tooltip.setToolTipComponent(comp);
          comp.processMouseEntered();

        } else if (comp != this.hoverComponent) {
          this.tooltip.setToolTipComponent(comp);
          this.hoverComponent.processMouseExited();
          comp.processMouseEntered();
        }

        // 如果没有对应的悬停提示数据
      } else {
        this.tooltip.setToolTipComponent(null);
        if (this.hoverComponent != null) {
          this.hoverComponent.processMouseExited();
        }
      }

      // 设置组件悬停提示状态
      this.hoverComponent = comp;
    }
  }
Esempio n. 5
0
  void setComponentStat(LComponent comp, boolean active) {
    if (this == Desktop.EMPTY_DESKTOP) {
      return;
    }

    if (active == false) {
      if (this.hoverComponent == comp) {
        this.processMouseMotionEvent();
      }

      if (this.selectedComponent == comp) {
        this.deselectComponent();
      }

      for (int i = 0; i < this.clickComponent.length; i++) {
        if (this.clickComponent[i] == comp) {
          this.clickComponent[i] = null;
          break;
        }
      }

      if (this.modal == comp) {
        this.modal = null;
      }

    } else {
      this.processMouseMotionEvent();
    }

    if (comp.isContainer()) {
      LComponent[] components = ((LContainer) comp).getComponents();
      int size = ((LContainer) comp).getComponentCount();
      for (int i = 0; i < size; i++) {
        this.setComponentStat(components[i], active);
      }
    }
  }
Esempio n. 6
0
 public void setModal(LComponent comp) {
   if (comp != null && !comp.isVisible()) {
     throw new RuntimeException("Can't set invisible component as modal component!");
   }
   this.modal = comp;
 }
Esempio n. 7
0
 @Override
 public void setSize(int x, int y) {
   super.setSize(x, y);
   bar.setLocation(bar.getWidth() / 2, 0);
 }
Esempio n. 8
0
 /**
  * 判断是否点中指定组件
  *
  * @param component
  * @return
  */
 public boolean onClick(LComponent component) {
   return component.isVisible() & (component.getCollisionBox().contains(mouseX, mouseY));
 }