小编tom*_*tom的帖子

内存泄漏与摆动拖放

我有一个接受顶级文件丢弃的JFrame.然而,在发生丢弃之后,对框架的引用将无限期地保留在某些Swing内部类中.我相信处理框架应该释放所有资源,所以我做错了什么?

import java.awt.datatransfer.DataFlavor;
import java.io.File;
import java.util.List;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.TransferHandler;

public class DnDLeakTester extends JFrame {
    public static void main(String[] args) {
        new DnDLeakTester();

        //Prevent main from returning or the jvm will exit
        while (true) {
            try {
                Thread.sleep(10000);
            } catch (InterruptedException e) {

            }
        }
    }
    public DnDLeakTester() {
        super("I'm leaky");

        add(new JLabel("Drop stuff here"));

        setTransferHandler(new TransferHandler() {
            @Override
            public boolean canImport(final TransferSupport support) {
                return (support.isDrop() && support
                        .isDataFlavorSupported(DataFlavor.javaFileListFlavor));
            }

            @Override
            public boolean importData(final …
Run Code Online (Sandbox Code Playgroud)

java swing memory-leaks drag-and-drop

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

标签 统计

drag-and-drop ×1

java ×1

memory-leaks ×1

swing ×1