package org.to2mbn.jmccc.mcdownloader.wiki.gui; import javax.swing.JFrame; import javax.swing.JScrollPane; import org.to2mbn.jmccc.mcdownloader.MinecraftDownloader; import org.to2mbn.jmccc.mcdownloader.MinecraftDownloaderBuilder; import org.to2mbn.jmccc.mcdownloader.download.concurrent.CallbackAdapter; import org.to2mbn.jmccc.option.MinecraftDirectory; import org.to2mbn.jmccc.version.Version; public class DownloaderExample { public static void main(String[] args) throws Exception { DownloadTable downloadTable = new DownloadTable(); downloadTable.setRemoveDownloadAfterDone(true); JFrame window = new JFrame("Downioad"); window.add(new JScrollPane(downloadTable)); window.setSize(640, 480); window.setVisible(true); MinecraftDirectory mcdir = new MinecraftDirectory("/home/yushijinhun/.minecraft"); MinecraftDownloader downloader = MinecraftDownloaderBuilder.create().setMaxConnections(8000).setMaxConnectionsPerRouter(2000).build(); downloader.downloadIncrementally(mcdir, "1.9", downloadTable.display(new CallbackAdapter() { @Override public void failed(Throwable e) { e.printStackTrace(); cleanup(); } @Override public void done(Version result) { cleanup(); } @Override public void cancelled() { System.err.println("cancelled"); cleanup(); } private void cleanup() { window.dispose(); downloader.shutdown(); } })); } }