Created
March 30, 2017 19:21
-
-
Save rhulha/c83fe05b6a18d813e53d0df64c853324 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package net.raysforge.raycommander; | |
import java.awt.event.ActionEvent; | |
import java.awt.event.ActionListener; | |
import java.io.File; | |
import javax.swing.JList; | |
import net.raysforge.easyswing.EasyList; | |
import net.raysforge.easyswing.EasySplitPane; | |
import net.raysforge.easyswing.EasySwing; | |
public class RayCommander implements ActionListener { | |
File leftParent, rightParent; | |
private EasyList<String> leftFilesList; | |
private EasyList<String> rightFilesList; | |
private EasySwing es; | |
public RayCommander() { | |
es = new EasySwing("RayCommander", 1024, 768); | |
es.addToolBarItem("Left Up", "upL", this); | |
es.addToolBarItem("Move from left to right", "moveLR", this); | |
es.addToolBarItem("Right Up", "upR", this); | |
EasySplitPane esp = es.setSplitPaneAsMainContent(true, 1024 / 2); | |
leftFilesList = new EasyList<>(); | |
rightFilesList = new EasyList<>(); | |
leftFilesList.addActionListener(this); | |
rightFilesList.addActionListener(this); | |
leftParent = rightParent = File.listRoots()[0]; | |
es.getStatusLabel().setText(leftParent + " --- " + rightParent); | |
setFileList(leftFilesList, leftParent); | |
setFileList(rightFilesList, rightParent); | |
esp.setLeft(leftFilesList); | |
esp.setRight(rightFilesList); | |
es.show(); | |
} | |
private void setFileList(EasyList<String> list, File f) { | |
File[] listFiles = f.listFiles(); | |
list.removeAll(); | |
for (File file : listFiles) { | |
list.addElement(file.getName()); | |
} | |
} | |
public static void main(String[] args) { | |
new RayCommander(); | |
} | |
@Override | |
public void actionPerformed(ActionEvent e) { | |
if (e.getActionCommand().equals("upL")) { | |
setFileList(leftFilesList, leftParent = leftParent.getParentFile()); | |
} | |
if (e.getActionCommand().equals("upR")) { | |
setFileList(rightFilesList, rightParent = rightParent.getParentFile()); | |
} | |
if (e.getActionCommand().equals("moveLR")) { | |
String selectedValue = leftFilesList.getSelectedValue(); | |
if(selectedValue==null) | |
return; | |
File moveMe = new File(leftParent, selectedValue); | |
moveMe.renameTo(new File(rightParent, selectedValue)); | |
System.out.println("move: " + moveMe + " ---> " + new File(rightParent, selectedValue)); | |
setFileList(leftFilesList, leftParent); | |
setFileList(rightFilesList, rightParent); | |
} | |
if (e.getActionCommand().equals("ENTER")) { | |
@SuppressWarnings("unchecked") | |
JList<String> sourceList = (JList<String>) e.getSource(); | |
String selectedValue = sourceList.getSelectedValue(); | |
if (sourceList == leftFilesList.getJList()) { | |
setFileList(leftFilesList, leftParent = new File(leftParent, selectedValue)); | |
} else if (sourceList == rightFilesList.getJList()) { | |
setFileList(rightFilesList, rightParent = new File(rightParent, selectedValue)); | |
} else { | |
System.out.println("ERROR"); | |
} | |
} | |
es.getStatusLabel().setText(leftParent + " --- " + rightParent); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment