public void mouseClicked(MouseEvent e)
		{
			Point p = e.getPoint();
			int x = p.x / FaceStyle.BALL_WIDTH;
			int y = p.y / FaceStyle.BALL_HEIGHT;
			Graphics g = mBp.getGraphics();
			if (mBp.mWhatBall[x][y] == BallColor.EMPTY)
			{
				// 濴Ƿƶ
				if (mBp.mCurBall != BallColor.EMPTY)
				{
					// ƶ
					mBp.mToPlace.setSize(x, y);
					if (!mBp.moveBall())	// ƶ, ܲƶ, falseʾϷ
					{
						GameOverDlg god = new GameOverDlg();	// ʾϷʾԻ
						god.setLocationRelativeTo(getParent());
						god.setVisible(true);
						initialize();	// Ϸ¿ʼ
						return;
					}
					Graphics gTp = mTp.getGraphics();
					mTp.drawMarks(gTp, BallPanel.GetMarks());	// 
					mTp.drawBalls(gTp);	// ұ
				}
			}
			else
			{
				// ѡһ
				if (x == mBp.mFromPlace.width && y == mBp.mFromPlace.height)
				{
					// Եѡе,ʲôҲ
					return;
				}
				if (mBp.mCurBall != BallColor.EMPTY)
				{
					// ԭѡйһ
					mBp.drawOneBall(g, mBp.mCurBall, 0, mBp.mFromPlace.width, mBp.mFromPlace.height);
				}
				mBp.mCurBall = mBp.mWhatBall[x][y];
				mBp.mFromPlace.setSize(x, y);
				mBp.drawOneBall(g, mBp.mCurBall, 2, x, y);
			}
		}