2009-11-26 7 views
3

JLabel을 드래그하여 사용자 정의 오브젝트에 삽입하거나 다른 컴포넌트를 사용해야합니까? 하지만 TransferHandlerexportAsDrag을 사용해야합니다.JLabel로 드래그 앤 드롭

내 코드 :

final JLabel label1 = new JLabel("Drag here"); 
Collection<Person> person= new ArrayList<Person>(); 

//Register transferhandler objects on them label1 transfer itss 
//foreground coloer label2 transfer its backgroundcolor 

//need here a Transferable to put the object 
label1.setTransferHandler(new TransferHandler(....)); 

label1.addMouseMotionListener(new MouseMotionAdapter() { 
    @Override 
    public void mouseDragged(MouseEvent e) { 
     // TODO Auto-generated method stub 
     TransferHandler handler = label1.getTransferHandler(); 
     handler.exportAsDrag(label1, e, TransferHandler.COPY); 
    } 
}); 

답변

2

은 드래그하려는 작업에 따라 달라집니다 - JLabel하거나 텍스트를.

드래그 할 때 드래그 한 개체의 '모델'을 만들면 드롭 할 때 대개 해당 모델을 기반으로 대상에 새로운 것을 만듭니다.