package examples.etyllica.dnd; import java.io.File; import java.util.ArrayList; import java.util.List; import br.com.etyllica.awt.SVGColor; import br.com.etyllica.core.context.Application; import br.com.etyllica.core.graphics.Graphics; public class DragAndDropApplication extends Application { private List<String> paths = new ArrayList<String>(); private boolean dragAction = false; public DragAndDropApplication(int w, int h) { super(w, h); } @Override public void load() { } @Override public void draw(Graphics g) { if(dragAction) { int width = 4; g.setColor(SVGColor.AQUA); g.setLineWidth(width); g.drawRect(x+width, y+width, w-width*2, h-width*2); g.setLineWidth(1f); } if(!paths.isEmpty()) { g.setFontSize(16f); g.setColor(SVGColor.BLACK); int count = 0; for(String path : paths) { g.drawString(path, 20, 60+count*20); count++; } } else { g.setFontSize(40f); g.drawStringShadowX("Drop something here!", h/2); } } @Override public void dragEnter() { dragAction = true; } @Override public void dragExit() { dragAction = false; } @Override public void dropFiles(int x, int y, List<File> files) { paths.clear(); for(File f: files) { paths.add(f.getAbsolutePath()); } } }