Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
colcode
jadx
提交
f549a069
J
jadx
项目概览
colcode
/
jadx
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
J
jadx
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
f549a069
编写于
7月 22, 2015
作者:
S
skylot
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #76 from jpstotz/master
Enable file drop operation for loading it.
上级
f6d47529
96c2fb6f
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
86 addition
and
0 deletion
+86
-0
jadx-gui/src/main/java/jadx/gui/ui/MainDropTarget.java
jadx-gui/src/main/java/jadx/gui/ui/MainDropTarget.java
+79
-0
jadx-gui/src/main/java/jadx/gui/ui/MainWindow.java
jadx-gui/src/main/java/jadx/gui/ui/MainWindow.java
+7
-0
未找到文件。
jadx-gui/src/main/java/jadx/gui/ui/MainDropTarget.java
0 → 100644
浏览文件 @
f549a069
package
jadx.gui.ui
;
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.awt.dnd.DropTargetListener
;
import
java.io.File
;
import
java.util.List
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
/**
* Enables drop support from external applications for the {@link MainWindow} (load dropped APK file)
*/
public
class
MainDropTarget
implements
DropTargetListener
{
private
static
final
Logger
LOG
=
LoggerFactory
.
getLogger
(
MainDropTarget
.
class
);
private
final
MainWindow
mainWindow
;
public
MainDropTarget
(
MainWindow
mainWindow
)
{
super
();
this
.
mainWindow
=
mainWindow
;
}
protected
void
processDrag
(
DropTargetDragEvent
dtde
)
{
if
(
dtde
.
isDataFlavorSupported
(
DataFlavor
.
javaFileListFlavor
))
{
dtde
.
acceptDrag
(
DnDConstants
.
ACTION_COPY
);
}
else
{
dtde
.
rejectDrag
();
}
}
@Override
public
void
dragEnter
(
DropTargetDragEvent
dtde
)
{
processDrag
(
dtde
);
}
@Override
public
void
dragOver
(
DropTargetDragEvent
dtde
)
{
processDrag
(
dtde
);
}
@Override
public
void
dropActionChanged
(
DropTargetDragEvent
dtde
)
{
}
@Override
public
void
drop
(
DropTargetDropEvent
dtde
)
{
if
(!
dtde
.
isDataFlavorSupported
(
DataFlavor
.
javaFileListFlavor
))
{
dtde
.
rejectDrop
();
return
;
}
dtde
.
acceptDrop
(
dtde
.
getDropAction
());
try
{
Transferable
transferable
=
dtde
.
getTransferable
();
List
<
File
>
transferData
=
(
List
<
File
>)
transferable
.
getTransferData
(
DataFlavor
.
javaFileListFlavor
);
if
(
transferData
!=
null
&&
transferData
.
size
()
>
0
)
{
dtde
.
dropComplete
(
true
);
// load first file
mainWindow
.
openFile
(
transferData
.
get
(
0
));
}
}
catch
(
Exception
e
)
{
LOG
.
error
(
"File drop operation failed"
,
e
);
}
}
@Override
public
void
dragExit
(
DropTargetEvent
dte
)
{
}
}
jadx-gui/src/main/java/jadx/gui/ui/MainWindow.java
浏览文件 @
f549a069
...
...
@@ -48,12 +48,15 @@ import javax.swing.tree.ExpandVetoException;
import
javax.swing.tree.TreeNode
;
import
javax.swing.tree.TreePath
;
import
javax.swing.tree.TreeSelectionModel
;
import
java.awt.BorderLayout
;
import
java.awt.Component
;
import
java.awt.DisplayMode
;
import
java.awt.Font
;
import
java.awt.GraphicsDevice
;
import
java.awt.GraphicsEnvironment
;
import
java.awt.dnd.DnDConstants
;
import
java.awt.dnd.DropTarget
;
import
java.awt.event.ActionEvent
;
import
java.awt.event.ActionListener
;
import
java.awt.event.KeyAdapter
;
...
...
@@ -108,6 +111,8 @@ public class MainWindow extends JFrame {
private
JToggleButton
deobfToggleBtn
;
private
boolean
isFlattenPackage
;
private
Link
updateLink
;
private
DropTarget
dropTarget
;
public
MainWindow
(
JadxSettings
settings
)
{
this
.
wrapper
=
new
JadxWrapper
(
settings
);
...
...
@@ -540,6 +545,8 @@ public class MainWindow extends JFrame {
tabbedPane
=
new
TabbedPane
(
this
);
splitPane
.
setRightComponent
(
tabbedPane
);
dropTarget
=
new
DropTarget
(
this
,
DnDConstants
.
ACTION_COPY
,
new
MainDropTarget
(
this
));
setContentPane
(
mainPanel
);
setTitle
(
DEFAULT_TITLE
);
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录