小编Cod*_*ing的帖子

java 拖放

我尝试熟悉java中的拖放,但我发现的所有教程都是......(让我生气)

我想要的只是从 JList(包含在名为“UserPanel”的自制 JPanel 中)拖动“PublicUserLabel”并将其放入从 JTabbedPanel 继承的自制类中。拖动对象本身而不是其字符串表示非常重要!

这就是我到目前为止所拥有的:PublicUserLabel

public class PublicUserLabel extends JLabel implements DragSourceListener, DragGestureListener, Transferable
    {
        private DragSource ds;
        private PublicUser user;

        public PublicUserLabel(PublicUser user)
        {
            super(user.getName());
            this.user = user;
            ds = new DragSource();
            ds.createDefaultDragGestureRecognizer(this, DnDConstants.ACTION_COPY_OR_MOVE, this);
        }

        @Override
        public void dragGestureRecognized(DragGestureEvent e)
        {
            ds.startDrag(e, DragSource.DefaultCopyDrop, this, this);
        }

        @Override
        public Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException, IOException
        {
            if (flavor.equals(PublicUserFlavor.publicUserFlavor))
            {
                return this;//TODO ?
            }
            throw new UnsupportedFlavorException(flavor);
        }

        @Override
        public DataFlavor[] getTransferDataFlavors()
        {
            DataFlavor[] df = new …
Run Code Online (Sandbox Code Playgroud)

java swing drag-and-drop awt

1
推荐指数
1
解决办法
3323
查看次数

标签 统计

awt ×1

drag-and-drop ×1

java ×1

swing ×1