2016-04-25 6 views
0

私はラベル幅のマウスをドラッグするコードを持っています。今Java、ドラッグ可能なオブジェクトが他のオブジェクトに接触する場合

lbl_banner.addMouseListener(new MouseAdapter() 
{ 
    @Override 
    public void mousePressed(MouseEvent e) { 
     //catching the current values for x,y coordinates on screen 
     x_pressed = e.getX(); 
     y_pressed = e.getY(); 
    } 
}); 

lbl_banner.addMouseMotionListener(new MouseMotionAdapter(){ 
    @Override 
    public void mouseDragged(MouseEvent e){ 
     //and when the Jlabel is dragged 
     setLocation(e.getXOnScreen() - x_pressed, e.getYOnScreen() - y_pressed); 
    } 
}); 

、私は機能を作る行う方法:タッチに他のオブジェクトドラッグしてラベル(ラベル、ボタン、...)何かをする場合、私は、画面の周りにこのラベルをドラッグしていますが。

if(//labelTouchesSomething){//do something} 

答えて

2

これは技術的にドラッグが、コンポーネントの動的移動(ドラッグがコンポーネント間におけるコンテンツの転送である)ではないですが、あなたは、他のコンポーネントに対する現在の移動成分の交点を(これが必要かもしれ計算することができます。あなたの階層内のいくつかのナビゲーション)。これがあなたを助けることができるかもしれません:How do I detect the collison of components?containsComponentを使用して、座標がコンポーネント内にあるかどうかを判断することもできます。

+0

わかりました。 – Salmeh

関連する問題