Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
2301_76393173
jadx
提交
4a63f522
J
jadx
项目概览
2301_76393173
/
jadx
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
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,发现更多精彩内容 >>
提交
4a63f522
编写于
11月 27, 2013
作者:
S
Skylot
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
gui: fix ui tabs handling
上级
c416f77e
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
16 addition
and
18 deletion
+16
-18
jadx-gui/src/main/java/jadx/gui/MainWindow.java
jadx-gui/src/main/java/jadx/gui/MainWindow.java
+16
-18
未找到文件。
jadx-gui/src/main/java/jadx/gui/MainWindow.java
浏览文件 @
4a63f522
...
...
@@ -80,7 +80,7 @@ public class MainWindow extends JFrame {
private
JTree
tree
;
private
final
JTabbedPane
tabbedPane
=
new
JTabbedPane
();
private
DefaultTreeModel
treeModel
;
private
Map
<
JClass
,
Integer
>
openTabs
=
new
HashMap
<
JClass
,
Integer
>();
private
Map
<
JClass
,
Component
>
openTabs
=
new
HashMap
<
JClass
,
Component
>();
public
MainWindow
(
JadxWrapper
wrapper
)
{
this
.
wrapper
=
wrapper
;
...
...
@@ -192,27 +192,24 @@ public class MainWindow extends JFrame {
}
private
void
showCode
(
JClass
cls
,
int
line
)
{
JPanel
panel
;
if
(
openTabs
.
containsKey
(
cls
))
{
int
id
=
openTabs
.
get
(
cls
);
panel
=
(
JPanel
)
tabbedPane
.
getComponentAt
(
id
);
tabbedPane
.
setSelectedIndex
(
id
);
JPanel
panel
=
(
JPanel
)
openTabs
.
get
(
cls
);
if
(
panel
!=
null
)
{
panel
=
(
JPanel
)
openTabs
.
get
(
cls
);
tabbedPane
.
setSelectedComponent
(
panel
);
}
else
{
panel
=
newCodePane
();
tabbedPane
.
add
(
panel
);
int
id
=
tabbedPane
.
getTabCount
()
-
1
;
openTabs
.
put
(
cls
,
id
);
openTabs
.
put
(
cls
,
panel
);
int
id
=
tabbedPane
.
indexOfComponent
(
panel
);
tabbedPane
.
setTabComponentAt
(
id
,
makeTabComponent
(
cls
,
panel
));
tabbedPane
.
setSelectedIndex
(
id
);
tabbedPane
.
setTabComponentAt
(
id
,
makeTabComponent
(
cls
,
panel
,
id
));
}
if
(
panel
!=
null
)
{
JTextArea
textArea
=
getTextArea
(
panel
);
textArea
.
setText
(
cls
.
getCode
());
scrollToLine
(
textArea
,
line
);
}
JTextArea
textArea
=
getTextArea
(
panel
);
textArea
.
setText
(
cls
.
getCode
());
scrollToLine
(
textArea
,
line
);
}
private
Component
makeTabComponent
(
final
JClass
cls
,
final
Component
comp
,
final
int
id
)
{
private
Component
makeTabComponent
(
final
JClass
cls
,
final
Component
comp
)
{
String
name
=
cls
.
getCls
().
getFullName
();
JPanel
panel
=
new
JPanel
(
new
FlowLayout
(
FlowLayout
.
CENTER
,
3
,
0
));
panel
.
setOpaque
(
false
);
...
...
@@ -244,7 +241,8 @@ public class MainWindow extends JFrame {
if
(
e
.
getButton
()
==
MouseEvent
.
BUTTON2
)
{
closeCodeTab
(
cls
,
comp
);
}
else
{
tabbedPane
.
setSelectedIndex
(
id
);
// TODO: make correct event delegation to tabbed pane
tabbedPane
.
setSelectedComponent
(
comp
);
}
}
});
...
...
@@ -261,8 +259,8 @@ public class MainWindow extends JFrame {
}
private
void
scrollToLine
(
JTextArea
textArea
,
int
line
)
{
if
(
line
<
2
)
{
return
;
if
(
line
==
0
)
{
line
=
1
;
}
try
{
textArea
.
setCaretPosition
(
textArea
.
getLineStartOffset
(
line
-
1
));
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录