Menu | ID |
---|---|
File | file |
Edit | edit |
Diagram | diagram |
Alignment | alignment |
View | view |
Tool | tool |
Window | window |
Help | help |
New | file/new |
New By Template | file/new_template |
Open | file/open |
Save | file/save |
Save As | file/saveas |
Close | file/close |
Merge Project | file/import_model_by_uuid |
Reference Model Management | file/refer_model_management |
Compare Project | file/compare_project |
Print Setup (Project) | file/compare_project |
Print Setup (Diagram) | file/print_setup_dgm |
Print Preview | file/print_preview |
file/print | |
Preview Multi | file/preview_multi |
Print Multi | file/print_multi |
Exit | file/exit |
Undo | edit/undo |
Redo | edit/redo |
Copy | edit/copy |
Copy to Clipboard | edit/copys |
Paste | edit/paste |
Copy Style | edit/style_copy |
Paste Style | edit/style_paste |
Delete from Model | edit/delete_from_model |
Delete from Diagram | edit/delete_from_diagram |
Line Style | edit/line_style |
Share Style | edit/shared_style |
Stereotype | edit/stereotype |
Set Color | edit/set_color |
Set Line Color | edit/set_line_color |
Set Font Color | edit/set_font_color |
Set Color for Stereotype | edit/stereotype_color |
Search on Diagram | edit/dgm_search |
Select All | edit/select_all |
Depth Arrangement | edit/arrange_depth |
Class Diagram | diagram/class_diagram |
UseCase Diagram | diagram/usecase_diagram |
Statemachine Diagram | diagram/state_chart_diagram |
Activity Diagram | diagram/activity_diagram |
Sequence Diagram | diagram/sequence_diagram |
Communication Diagram | diagram/collaboration_diagram |
Deployment Diagram | diagram/deployment_diagram |
Composite Structure Diagram | diagram/compositestructure_diagram |
Flowchart | diagram/flow_chart_diagram |
Data Flow Diagram | diagram/data_flow_diagram |
ER Diagram | diagram/er_diagram |
CRUD | diagram/crud_diagram |
Mindmap | diagram/mind_map_diagram |
Requirement Diagram | diagram/requirement_diagram |
Requirement Table | diagram/requirement_table |
Align Horizontally | alignment/align_horizontally |
Align Vertically | alignment/align_vertically |
Adjust Size | alignment/align_size |
Auto Layout | alignment/auto_layout |
Partial Auto Layout | alignment/partial_layout |
Zoom | view/zoom |
Zoom In | view/zoom_in |
Zoom Out | view/zoom_out |
Fit to Window | view/fit_window |
Back to Previous Editor | view/drop_down_back_list |
Forward to Next Editor | view/drop_down_forward_list |
Show/Hide Project View | view/show_hide_project_view |
Show/Hide Extend View | view/show_hide_plugin_view |
Look & Feel | view/ui |
Alias | view/alias |
Export Image | tool/export_image |
Export HTML (javadoc) | tool/export_html |
Export CSV | tool/export_csv |
XML Input & Output | tool/xmi |
Export RTF | tool/export_rtf |
Mindmap | tool/mindmap |
Java | tool/java |
C# | tool/c_sharp |
C++ | tool/c_plus |
ER Diagram | tool/er |
CRUD | tool/crud |
Requirement | tool/requirement |
Traceability Map | tool/traceability |
Set Template | tool/template |
Import User Defined TaggedValue | tool/update_custom_taggedvalue |
External Tool | tool/external_tool |
Correct Model | tool/correct_model |
License | tool/check_license |
Project | tool/project_property |
System Properties | tool/system_property |
Close | window/close_current |
Close Left Tabs | window/close_left |
Close Right Tabs | window/close_right |
Close Others | window/close_other |
Close All | window/close_all |
Alignment | window/alignment |
Astah Website | help/jude_home |
Astah Community Site | help/jude_help |
Astah Reference Manual | help/jude_help |
Welcome to Astah Professional | help/welcome |
Bug Information | help/bug_info_community |
Asth Support | help/jude_support_site |
Plugin List | help/plugin_list |
Software Update Information | help/check_version |
Version Information | help/version |
Menu | ID |
---|---|
File | file |
Edit | edit |
Diagram | diagram |
Alignment | alignment |
View | view |
Tool | tool |
Window | window |
Help | help |
New | file/new |
New By Template | file/new_template |
Open | file/open |
Save | file/save |
Save As | file/saveas |
Close | file/close |
Merge Project | file/import_model_by_uuid |
Compare Project | file/compare_project |
Print Setup (Project) | file/print_setup |
Print Setup (Diagram) | file/print_setup_dgm |
Print Preview | file/print_preview |
file/print | |
Preview Multi | file/preview_multi |
Print Multi | file/print_multi |
Exit | file/exit |
Undo | edit/undo |
Redo | edit/redo |
Copy | edit/copy |
Copy to Clipboard | edit/copys |
Paste | edit/paste |
Copy Style | edit/style_copy |
Paste Style | edit/style_paste |
Delete from Model | edit/delete_from_model |
Delete from Diagram | edit/delete_from_diagram |
Line Style | edit/line_style |
Share Style | edit/shared_style |
Stereotype | edit/stereotype |
Set Color | edit/set_color |
Set Line Color | edit/set_line_color |
Set Font Color | edit/set_font_color |
Set Color for Stereotype | edit/stereotype_color |
Search on Diagram | edit/dgm_search |
Select All | edit/select_all |
Depth Arrangement | edit/arrange_depth |
SysML Requirement Diagram | diagram/sysml_requirement_diagram |
SysML Requirement Table | diagram/sysml_requirement_table |
SysML Block Definition Diagram | diagram/sysml_block_definition_diagram |
SysML Internal Block Diagram | diagram/sysml_internal_block_diagram |
SysML Parametric Diagram | diagram/sysml_parametric_diagram |
SysML UseCase Diagram | diagram/sysml_usecase_diagram |
SysML Statemachine Diagram | diagram/sysml_state_chart_diagram |
SysML Activity Diagram | diagram/sysml_activity_diagram |
SysML Sequence Diagram | diagram/sysml_sequence_diagram |
Mindmap | diagram/mind_map_diagram |
Align Horizontally | alignment/align_horizontally |
Align Vertically | alignment/align_vertically |
Adjust Size | alignment/align_size |
Auto Layout | alignment/auto_layout |
Partial Auto Layout | alignment/partial_layout |
Zoom | view/zoom |
Zoom In | view/zoom_in |
Zoom Out | view/zoom_out |
Fit to Window | view/fit_window |
Back to Previous Editor | view/drop_down_back_list |
Forward to Next Editor | view/drop_down_forward_list |
Show/Hide Project View | view/show_hide_project_view |
Show/Hide Extend View | view/show_hide_plugin_view |
Look & Feel | view/ui |
Alias | view/alias |
Export Image | tool/export_image |
UML/SysML | tool/uml_and_sysml |
SCDL | tool/scdl |
STAMP/STPA | tool/stamp_and_stpa |
Mindmap | tool/mindmap |
Correct Model | tool/correct_model |
System Properties | tool/system_property |
Close | window/close_current |
Close Left Tabs | window/close_left |
Close Right Tabs | window/close_right |
Close Others | window/close_other |
Close All | window/close_all |
Alignment | window/alignment |
Asth Support | help/jude_support_site |
Astah Website | help/jude_home |
Astah Reference Manual | help/jude_help |
Check License | help/check_license |
Software Update Information | help/check_version |
Version Information | help/version |
Command | Help |
---|---|
asdk | Show version |
astah-generate-project | Generate Plug-in project for Astah Professional, UML and System Safety |
astah-sysml-generate-project | Generate Plug-in project for Astah SysML |
astah-build | Build plug-in |
astah-launch | Launch Astah with dev Plug-ins |
astah-debug | Launch Astah and open 44000 for debugging |
Some methods easing your Astah model operation.
/*
* Please change this class's package to your genearated Plug-in's package.
* Plug-in's package namespace => com.example
* com.change_vision.astah.extension.plugin => X
* com.example => O
* com.example.internal => O
* learning => X
*/
package com.example.internal;
import java.util.ArrayList;
import java.util.List;
import com.change_vision.jude.api.inf.exception.InvalidEditingException;
import com.change_vision.jude.api.inf.model.IAttribute;
import com.change_vision.jude.api.inf.model.IClass;
import com.change_vision.jude.api.inf.model.IClassifierTemplateParameter;
import com.change_vision.jude.api.inf.model.IElement;
import com.change_vision.jude.api.inf.model.IGeneralization;
import com.change_vision.jude.api.inf.model.INamedElement;
import com.change_vision.jude.api.inf.model.IOperation;
import com.change_vision.jude.api.inf.model.IPackage;
import com.change_vision.jude.api.inf.model.IParameter;
import com.change_vision.jude.api.inf.model.IRealization;
public class AstahUtils {
/**
* Get classes owned by the owner
*
* @param owner Class or Package
* @return Classes nesting in the owner
*/
public static IClass[] getOwnedClasses(Object owner) {
if (owner instanceof IClass) {
return ((IClass) owner).getNestedClasses();
} else if (owner instanceof IPackage) {
List<IClass> classes = new ArrayList<IClass>();
for (INamedElement element : ((IPackage) owner).getOwnedElements()) {
if (element instanceof IClass) {
classes.add((IClass) element);
}
}
return classes.toArray(new IClass[classes.size()]);
} else {
return new IClass[0];
}
}
/**
* Get a owner's class whose name is specified
*
* @param owner Class or Package
* @param name Owner name
* @return An owner's class whose name is specified
*/
public static IClass getOwnedClass(Object owner, String name) {
if (owner instanceof IClass) {
return getNestedClass((IClass) owner, name);
} else if (owner instanceof IPackage) {
return getOwnedElement((IPackage) owner, name, IClass.class);
} else {
return null;
}
}
/**
* Get an INamedElement whose name is specified in the target package
*
* @param owner Target package
* @param name Name
* @return a namedElement whose name is specified in the target package
*/
public static INamedElement getOwnedElement(IPackage owner, String name) {
return getOwnedElement(owner, name, INamedElement.class);
}
/**
* Get an Object whose name and type are specified in the target package
*
* @param owner Target package
* @param name Name
* @param elementType The child class type of INamedElement
* @return the child class type of INamedElement whose name and type are specified in the target package
*/
public static <T extends INamedElement> T getOwnedElement(IPackage owner,
String name, Class<T> elementType) {
for (INamedElement element : owner.getOwnedElements()) {
if (name.equals(element.getName())) {
if (elementType.isInstance(element)) {
return elementType.cast(element);
}
}
}
return null;
}
/**
* Get a class whose name is specified in the target class
*
* @param owner Target class
* @param name Name
* @return a class whose name is specified in the target class
*/
public static IClass getNestedClass(IClass owner, String name) {
for (IClass element : owner.getNestedClasses()) {
if (name.equals(element.getName())) {
return element;
}
}
return null;
}
/**
* Get a generalization whose parent class is specified
*
* @param owner Target class
* @param superType Parent class
* @return Generalization
* Null if the superType isn't generalized by the owner
*/
public static IGeneralization getGeneralization(IClass owner,
IClass superType) {
for (IGeneralization generalization : owner.getGeneralizations()) {
if (superType.equals(generalization.getSuperType())) {
return generalization;
}
}
return null;
}
/**
* Get a generalization whose child class is specified
*
* @param owner Target class
* @param subType Child class
* @return Generalization
* Null if the owner isn't generalized by the subType
*/
public static IGeneralization getSpecialization(IClass owner, IClass subType) {
for (IGeneralization generalization : owner.getSpecializations()) {
if (subType.equals(generalization.getSubType())) {
return generalization;
}
}
return null;
}
/**
* Get a realization whose supplier class is specified
*
* @param owner Target class
* @param supplier Supplier Class
*
* @return Realization
* Null if the owner isn't realized by the supplier
*/
public static IRealization getClientRealization(IClass owner,
IClass supplier) {
for (IRealization realization : owner.getClientRealizations()) {
if (supplier.equals(realization.getSupplier())) {
return realization;
}
}
return null;
}
/**
* Get a realization whose client class is specified
*
* @param owner Target class
* @param client Client Class
*
* @return Realization
* Null if the client isn't realized by the owner
*/
public static IRealization getSupplierRealization(IClass owner,
IClass client) {
for (IRealization realization : owner.getSupplierRealizations()) {
if (client.equals(realization.getClient())) {
return realization;
}
}
return null;
}
/**
* Get a owner's template parameter whose name is specified
*
* @param owner Target class
* @param name Parameter Name
* @return Template Parameter
* Null if the template parameter dosn't exist
*/
public static IClassifierTemplateParameter getTemplateParameter(
IClass owner, String name) {
for (IClassifierTemplateParameter templateParameter : owner
.getTemplateParameters()) {
if (name.equals(templateParameter.getName())) {
return templateParameter;
}
}
return null;
}
/**
* Get a owner's attribute whose name is specified
*
* @param owner Target class
* @param name Attribute name
* @return Attribute
* Null if the attribute dosn't exist
*/
public static IAttribute getAttribute(IClass owner, String name) {
for (IAttribute attribute : owner.getAttributes()) {
if (name.equals(attribute.getName())) {
return attribute;
}
}
return null;
}
/**
* Get a owner's operation whose name is specified。
*
* @param owner Target class
* @param name Operation name
* @return Operation
* Null if the operation dosn't exist
*/
public static IOperation getOperation(IClass owner, String name,
Object[] parameterTypes) {
for (IOperation operation : owner.getOperations()) {
if (name.equals(operation.getName())) {
IParameter[] parameters = operation.getParameters();
if (matches(parameters, parameterTypes)) {
return operation;
}
}
}
return null;
}
/**
* set a class as an interface
*
* @param type Target class
* @param isInterfase True if the class is an interface
* False if the class isn't an interface
*/
public static void setInterface(IClass type, boolean isInterface)
throws InvalidEditingException {
if (isInterface) {
addStereotype(type, "interface");
} else {
type.removeStereotype("interface");
}
}
/**
* Add a stereotype to an element
* @param element Target element
* @param stereotype Added stereotype
* @return True if the stereotype is added
* False if the stereotype has been owned by the element
*/
public static boolean addStereotype(IElement element, String stereotype)
throws InvalidEditingException {
for (String exists : element.getStereotypes()) {
if (stereotype.equals(exists)) {
return false;
}
}
element.addStereotype(stereotype);
return true;
}
static boolean matches(IParameter[] parameters, Object[] parameterTypes) {
if (parameterTypes.length != parameters.length) {
return false;
}
for (int i = 0; i < parameterTypes.length; i++) {
Object type = parameterTypes[i];
if (type instanceof IClass) {
if (!type.equals(parameters[i].getType())) {
return false;
}
} else {
if (!type.equals(parameters[i].getTypeExpression())) {
return false;
}
}
}
return true;
}
}
/*
* Please change this class's package to your genearated Plug-in's package.
* Plug-in's package namespace => com.example
* com.change_vision.astah.extension.plugin => X
* com.example => O
* com.example.internal => O
* learning => X
*/
package com.example.internal;
import javax.swing.JFrame;
import com.change_vision.astah.extension.plugin.util.exception.APIException;
import com.change_vision.jude.api.inf.editor.BasicModelEditor;
import com.change_vision.jude.api.inf.editor.ClassDiagramEditor;
import com.change_vision.jude.api.inf.editor.IDiagramEditorFactory;
import com.change_vision.jude.api.inf.editor.IModelEditorFactory;
import com.change_vision.jude.api.inf.exception.InvalidEditingException;
import com.change_vision.jude.api.inf.exception.InvalidUsingException;
import com.change_vision.jude.api.inf.model.IClassDiagram;
import com.change_vision.jude.api.inf.project.ProjectAccessor;
import com.change_vision.jude.api.inf.project.ProjectAccessorFactory;
import com.change_vision.jude.api.inf.view.IDiagramViewManager;
import com.change_vision.jude.api.inf.view.IViewManager;
/**
* A class containing utilities easing astah* API operation
* Instance must be created before this class is used.
*/
public class AstahAPIUtils {
/**
* Get diagramViewManager
*/
public IDiagramViewManager getDiagramViewManager() {
IViewManager viewManager = getViewManager();
IDiagramViewManager diagramViewManager = viewManager.getDiagramViewManager();
return diagramViewManager;
}
/**
* Get ClassDiagramEditor by which models on class diagrams can be modified
*/
public ClassDiagramEditor getClassDiagramEditor() {
try {
return getDiagramEditorFactory().getClassDiagramEditor();
} catch (InvalidUsingException e) {
throw new APIException(e);
}
}
/**
* Get BasicModelEditor by which basic models can be modified
*
* @return BasicModelEditor
*/
public BasicModelEditor getBasicModelEditor() {
try {
return getModelEditorFactory().getBasicModelEditor();
} catch (InvalidEditingException e) {
throw new APIException(e);
}
}
/**
* Get ProjectAccessor by which astah* project can be operated
*/
public ProjectAccessor getProjectAccessor() {
ProjectAccessor projectAccessor = null;
try {
projectAccessor = ProjectAccessorFactory.getProjectAccessor();
} catch (ClassNotFoundException e) {
throw new IllegalStateException(e);
}
if(projectAccessor == null) throw new IllegalStateException("projectAccessor is null.");
return projectAccessor;
}
/**
* Get JFrame representing the main window of astah*
*
* @return JFrame
*/
public JFrame getMainFrame() {
return getProjectAccessor().getViewManager().getMainFrame();
}
/**
* Get the edition of running astah*
*/
public String getEdition() {
return getProjectAccessor().getAstahEdition();
}
private IViewManager getViewManager() {
ProjectAccessor projectAccessor = getProjectAccessor();
IViewManager viewManager = projectAccessor.getViewManager();
if(viewManager == null) throw new IllegalStateException("ViewManager is null.");
return viewManager;
}
private IModelEditorFactory getModelEditorFactory() {
ProjectAccessor projectAccessor = getProjectAccessor();
IModelEditorFactory modelEditorFactory = projectAccessor.getModelEditorFactory();
if(modelEditorFactory == null) throw new IllegalStateException("modelEditorFactory is null.");
return modelEditorFactory;
}
private IDiagramEditorFactory getDiagramEditorFactory() {
ProjectAccessor projectAccessor = getProjectAccessor();
IDiagramEditorFactory diagramEditorFactory = projectAccessor.getDiagramEditorFactory();
if(diagramEditorFactory == null) throw new IllegalStateException("diagramEditorFactory is null.");
return diagramEditorFactory;
}
}
An example of plugin.xml
<?xml version="1.0" encoding="UTF-8"?>
<plugin>
<extension point="com.change_vision.astah.ui.actionSets">
<actionSet
label="%action_set_label"
visible="true"
id="com.example.helloworld.actionSet">
<menu
id="helloworld"
label="%menu_group"
path="tool/helloworld">
</menu>
<action
label="%menu_label"
icon="icons/sample.gif"
class="com.example.TemplateAction"
tooltip="%menu_tooltip"
menubarPath="tool/helloworld/"
id="com.example.actions.HelloWorldAction">
</action>
</actionSet>
</extension>
</plugin>
An example of action
/*
* Please change this class's package to your genearated Plug-in's package.
* Plug-in's package namespace => com.example
* com.change_vision.astah.extension.plugin => X
* com.example => O
* com.example.internal => O
* learning => X
*/
package com.example.actions;
import javax.swing.JOptionPane;
import com.change_vision.jude.api.inf.ui.IPluginActionDelegate;
import com.change_vision.jude.api.inf.ui.IWindow;
public class HelloWorldAction implements IPluginActionDelegate {
public Object run(IWindow window) throws UnExpectedException {
try {
JOptionPane.showMessageDialog(window.getParent(), "Hello World");
} catch (Exception e) {
JOptionPane.showMessageDialog(window.getParent(), "Exception occured", "Alert", JOptionPane.ERROR_MESSAGE);
throw new UnExpectedException();
}
return null;
}
}
An example of plugin.xml
<?xml version="1.0" encoding="UTF-8"?>
<plugin>
<extension point="com.change_vision.astah.ui.view">
<view
id="com.example.internal.HelloWorldView"
type="extraTab"
class="com.example.internal.HelloWorldView" />
</extension>
</plugin>
An example of the view
/*
* Please change this class's package to your genearated Plug-in's package.
* Plug-in's package namespace => com.example
* com.change_vision.astah.extension.plugin => X
* com.example => O
* com.example.internal => O
* learning => X
*/
package com.example.internal;
import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.Container;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import com.change_vision.jude.api.inf.project.ProjectAccessor;
import com.change_vision.jude.api.inf.project.ProjectAccessorFactory;
import com.change_vision.jude.api.inf.project.ProjectEvent;
import com.change_vision.jude.api.inf.project.ProjectEventListener;
import com.change_vision.jude.api.inf.ui.IPluginExtraTabView;
import com.change_vision.jude.api.inf.ui.ISelectionListener;
public class HelloWorldView extends JPanel implements IPluginExtraTabView, ProjectEventListener {
public HelloWorldView() {
initComponents();
}
private void initComponents() {
setLayout(new BorderLayout());
add(createLabelPane(), BorderLayout.CENTER);
addProjectEventListener();
}
private void addProjectEventListener() {
try {
ProjectAccessor projectAccessor = ProjectAccessorFactory.getProjectAccessor();
projectAccessor.addProjectEventListener(this);
} catch (ClassNotFoundException e) {
e.getMessage();
}
}
private Container createLabelPane() {
JLabel label = new JLabel("hello world");
JScrollPane pane = new JScrollPane(label);
return pane;
}
@Override
public void projectChanged(ProjectEvent e) {
}
@Override
public void projectClosed(ProjectEvent e) {
}
@Override
public void projectOpened(ProjectEvent e) {
}
@Override
public void addSelectionListener(ISelectionListener listener) {
}
@Override
public Component getComponent() {
return this;
}
@Override
public String getDescription() {
return "Show Hello World here";
}
@Override
public String getTitle() {
return "Hello World View";
}
public void activated() {
}
public void deactivated() {
}
}
Please get detailed snippets with the com.change_vision.astah.extension.plugin.drag_and_drop_example project. To add DropTargetListener during the initialization of a plugin, Activator#start(BundleContext context) should be implemented.
package com.example;
import org.osgi.framework.BundleActivator;
import org.osgi.framework.BundleContext;
import com.example.internal.ClassDiagramDropExtension;
import com.example.internal.util.AstahAPIUtils;
import com.change_vision.jude.api.inf.view.IDiagramViewManager;
public class Activator implements BundleActivator {
private AstahAPIUtils utils = new AstahAPIUtils();
public void start(BundleContext context) {
ClassDiagramDropExtension diagramDropTargetListener = new ClassDiagramDropExtension();
IDiagramViewManager diagramViewManager = utils.getDiagramViewManager();
diagramViewManager.addDropTargetListener(diagramDropTargetListener);
}
public void stop(BundleContext context) {
}
}
An example showing how to implement DropTargetListener
/*
* Please change this class's package to your genearated Plug-in's package.
* Plug-in's package namespace => com.example
* com.change_vision.astah.extension.plugin => X
* com.example => O
* com.example.internal => O
* learning => X
*/
package com.example.internal;
import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.Transferable;
import java.awt.dnd.DnDConstants;
import java.awt.dnd.DropTargetDragEvent;
import java.awt.dnd.DropTargetDropEvent;
import java.awt.dnd.DropTargetEvent;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import com.change_vision.jude.api.inf.model.IClassDiagram;
import com.change_vision.jude.api.inf.view.DiagramDropTargetListener;
public final class ClassDiagramDropExtension extends DiagramDropTargetListener {
public ClassDiagramDropExtension() {
super(IClassDiagram.class);
}
@Override
public void dropExternalData(DropTargetDropEvent dtde) {
if(dtde.isLocalTransfer()) return;
if(dtde.isDataFlavorSupported(DataFlavor.stringFlavor)) {
System.out.println("ClassDiagramDropExtension.stringFlavor" + getURLStringFromDropContent(dtde));
dtde.dropComplete(true);
} else if (dtde.isDataFlavorSupported(DataFlavor.javaFileListFlavor)) {
List<File> files = getFilesFromDropContent(dtde);
System.out.println("javaFileListFravor" + files);
dtde.dropComplete(true);
}
}
private String getURLStringFromDropContent(DropTargetDropEvent dtde) {
dtde.acceptDrop(DnDConstants.ACTION_LINK);
Transferable target = dtde.getTransferable();
String urlString;
try {
urlString = (String)target.getTransferData(DataFlavor.stringFlavor);
} catch (Exception e) {
urlString = "";
}
return urlString;
}
@SuppressWarnings("unchecked")
private List<File> getFilesFromDropContent(DropTargetDropEvent dtde) {
dtde.acceptDrop(DnDConstants.ACTION_COPY);
List<File> list;
try {
list = (List<File>) dtde.getTransferable().getTransferData(DataFlavor.javaFileListFlavor);
} catch (Exception e) {
list = new ArrayList<File>();
}
return list;
}
@Override
public void dropModels(DropTargetDropEvent dtde, Set<?> models) {
}
@Override
public void dragEnter(DropTargetDragEvent dtde) {
}
@Override
public void dragExit(DropTargetEvent dte) {
}
@Override
public void dragOver(DropTargetDragEvent dtde) {
}
@Override
public void dropActionChanged(DropTargetDragEvent dtde) {
}
}