2017-03-19 9 views
-4
 public void mouseDragged(MouseEvent e) { 
     // TODO Auto-generated method stub 
     Rectangle rect = (Rectangle) e.getSource(); 
     if (isDragged) { 
      if (rect.contains(new Point(e.getX(), e.getY()))) { 
       r1.setBounds(e.getX(), e.getY(), 100, 100); 
       repaint(); 
       check(); 
      } 
     } 
    } 

Java GUIでClassCastExceptionを処理するにはどうすればよいですか?Java GUIでClassCastExceptionをどのように処理できますか?

私の矩形をドラッグして、衝突にチェックしたいと思います。 ドラッグすると、エラーコードが生成されます。 場所のソースをクリックして矩形にして、条件を満たすために使用して、次の条件を試してみたいと思います。

+0

「r1」とは何ですか? 'Rectangle'のcontainsメソッドの定義は何ですか? – nullpointer

+0

r1は長方形です。 このように、Rectangle r1 = new Rectangle(10,10,50,50); containsの定義 公開ブールcontains(Point p){ return contains(p.x、p.y); } –

答えて

0

e.getSource()は、イベントが最初に発生したコンポーネントを返します。 mouseDragged()の場合は、マウスのプレスイベントを受信して​​いるコンポーネントです。このコンポーネントはRectangleにキャストできません。

new Point(e.getX(), e.getY())という表現は、e.getPoint()と書くことができます。

関連する問題