我想通过拖放将我的按钮移动到我的Frame中的任何位置。我不能在SWT中这样做。有谁能够帮我 ?我已经尝试了很多次,但我找不到任何关于它的倾听者。
答案 0 :(得分:0)
对于默认情况下不支持拖放的JComponents,或者您希望自定义拖放行为的JComponents,您需要为它们传递一个新的TransferHandler。创建TransferHandler的最简单方法是实例化一个并传递一个beans属性,或者在类中传递get / set方法的名称(即,text和icon是JButton的bean属性)。我们还需要一个MouseListener来导出拖动。
JButton button = new JButton("This is the text");
TransferHandler transfer = new TransferHandler("text");
//the JButton can now be dragged and the text will be dropped
button.setTransferHandler(transfer);
button.addMouseListener(new MouseAdapter(){
public void mousePressed(MouseEvent e){
JButton button = (JButton)e.getSource();
TransferHandler handle = button.getTransferHandler();
handle.exportAsDrag(button, e, TransferHandler.COPY);
}
});