better regex and drag and drop

This commit is contained in:
nora 2020-11-19 22:00:51 +01:00
parent 501fa2f293
commit c24064c2c1
8 changed files with 110 additions and 11 deletions

View file

@ -1,8 +1,14 @@
import javax.swing.*;
import java.awt.datatransfer.DataFlavor;
import java.awt.dnd.DnDConstants;
import java.awt.dnd.DropTarget;
import java.awt.dnd.DropTargetDropEvent;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.io.File;
import java.util.List;
public class UMLClassView {
private JTextArea inputArea;
@ -33,6 +39,12 @@ public class UMLClassView {
UMLClass umlClass = new UMLClass(text, "");
outputArea.setText(umlClass.toString());
}
@Override
public void keyReleased(KeyEvent e) {
String text = inputArea.getText();
UMLClass umlClass = new UMLClass(text, "");
outputArea.setText(umlClass.toString());
}
});
convertFileButton.addActionListener(new ActionListener() {
@ -44,6 +56,26 @@ public class UMLClassView {
manager.parseClasses(parser.getClassesText(), packagePath);
}
});
pathField.setDropTarget(new DropTarget() {
@Override
public synchronized void drop(DropTargetDropEvent dtde) {
try {
dtde.acceptDrop(DnDConstants.ACTION_COPY);
List<File> droppedFiles = (List<File>)
dtde.getTransferable().getTransferData(DataFlavor.javaFileListFlavor);
for (File file : droppedFiles) {
String path = file.getAbsolutePath();
pathField.setText(path);
String packagePath = packagePathField.getText();
XMLParser parser = new XMLParser(path);
manager.parseClasses(parser.getClassesText(), packagePath);
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
});
}
public JPanel getPanel1() {