예제 #1
0
파일: DnDList.java 프로젝트: babatz/android
  @Override
  public boolean onTouchEvent(MotionEvent ev) {
    final int action = ev.getAction();
    final int x = (int) ev.getX();
    final int y = (int) ev.getY();

    if (action == MotionEvent.ACTION_DOWN && x > (this.getWidth() - 60)) mDragMode = true;

    if (!mDragMode) return super.onTouchEvent(ev);

    switch (action) {
      case MotionEvent.ACTION_DOWN:
        mStartPosition = pointToPosition(x, y);

        if (mStartPosition != INVALID_POSITION) {
          mItemPosition = mStartPosition - getFirstVisiblePosition();
          mDragPointOffset = y - getChildAt(mItemPosition).getTop();
          mDragPointOffset -= ((int) ev.getRawY()) - y;
          startDrag(mItemPosition, y);
          drag(50, y);
        } else mDragMode = false;
        break;
      case MotionEvent.ACTION_MOVE:
        drag(50, y);

        final int mCurrentPosition = pointToPosition(x, y);

        if ((y < 100) && (mCurrentPosition >= 0)) {
          this.smoothScrollToPosition(mCurrentPosition - 1);
          mDragListener.onStopDrag(getChildAt(mItemPosition));
        } else if (((y - getHeight()) < 100)
            && ((mCurrentPosition > 0) && (mCurrentPosition < this.getCount()))) {
          this.smoothScrollToPosition(mCurrentPosition + 1);
          mDragListener.onStopDrag(getChildAt(mItemPosition));
        }
        break;
      case MotionEvent.ACTION_CANCEL:
      case MotionEvent.ACTION_UP:
      default:
        mDragMode = false;
        mEndPosition = pointToPosition(x, y);
        stopDrag(mStartPosition - getFirstVisiblePosition());

        if (mDropListener != null
            && mStartPosition != INVALID_POSITION
            && mEndPosition != INVALID_POSITION) mDropListener.onDrop(mStartPosition, mEndPosition);
        break;
    }

    return true;
  }
 public void run() {
   Random random = new Random();
   String message = "";
   while (!message.equals("DONE")) {
     message = drop.take();
     System.out.format(
         "Consumber thread No. " + threadnumber + " MESSAGE RECEIVED: %s%n", message);
     try {
       Thread.sleep(random.nextInt(5000));
     } catch (InterruptedException e) {
     }
   }
   System.out.println("Consumber thread No. " + threadnumber + " finished!");
 }
예제 #3
0
  @Override
  public void render(float delta) {
    Gdx.gl.glClearColor(0, 0, 0.2f, 1);
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);

    camera.update();
    game.batch.setProjectionMatrix(camera.combined);
    game.batch.begin();

    game.font.draw(game.batch, "Try to catch all drops ", 100, 150);
    game.font.draw(game.batch, "Tap the screen for start!", 100, 100);

    //        batch.draw(bucketImage, bucket.x, bucket.y);
    //
    //        for (Rectangle raindrop : rainDrops) {
    //            batch.draw(dropImage, raindrop.x, raindrop.y);
    //        }

    game.batch.end();
    if (Gdx.input.isTouched()) {
      game.setScreen(new GameScreen(game));
      dispose();
    }
  }
 public void visit(Drop entity) {
   wGetVisitor1().visit(entity.getTableName());
 }