chore(jcef): 更新缓存数据库和会话存储日志文件
- 更新 shared_proto_db/metadata/000003.log 文件内容 - 添加新的元数据条目到 protobuf 数据库日志 - 更新 Session Storage/00012.log 会话存储记录 - 增加新的命名空间和映射ID条目 - 扩展会话存储中的域名命名空间列表 - 重写了MainWindow
This commit is contained in:
BIN
CrashReport.dmp
BIN
CrashReport.dmp
Binary file not shown.
@@ -1,3 +1,3 @@
|
||||
#Current Loaded Language
|
||||
#Fri Jan 02 17:46:22 CST 2026
|
||||
#Fri Jan 02 18:29:21 CST 2026
|
||||
loadedLanguage=system\:zh_CN
|
||||
|
||||
BIN
library/jcef/cache/BrowserMetrics-spare.pma
vendored
BIN
library/jcef/cache/BrowserMetrics-spare.pma
vendored
Binary file not shown.
BIN
library/jcef/cache/Default/Cache/Cache_Data/data_0
vendored
BIN
library/jcef/cache/Default/Cache/Cache_Data/data_0
vendored
Binary file not shown.
BIN
library/jcef/cache/Default/Cache/Cache_Data/data_1
vendored
BIN
library/jcef/cache/Default/Cache/Cache_Data/data_1
vendored
Binary file not shown.
@@ -1,3 +1,3 @@
|
||||
2026/01/02-17:46:55.167 52c Reusing MANIFEST C:\Users\Administrator\MCreatorWorkspaces\AxisInnovatorsBox\library\jcef\cache\Default\Extension State/MANIFEST-000001
|
||||
2026/01/02-17:46:55.168 52c Recovering log #3
|
||||
2026/01/02-17:46:55.169 52c Reusing old log C:\Users\Administrator\MCreatorWorkspaces\AxisInnovatorsBox\library\jcef\cache\Default\Extension State/000003.log
|
||||
2026/01/02-18:36:52.256 2f60 Reusing MANIFEST C:\Users\Administrator\MCreatorWorkspaces\AxisInnovatorsBox\library\jcef\cache\Default\Extension State/MANIFEST-000001
|
||||
2026/01/02-18:36:52.256 2f60 Recovering log #3
|
||||
2026/01/02-18:36:52.257 2f60 Reusing old log C:\Users\Administrator\MCreatorWorkspaces\AxisInnovatorsBox\library\jcef\cache\Default\Extension State/000003.log
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
2025/12/28-14:50:54.309 d58 Reusing MANIFEST C:\Users\Administrator\MCreatorWorkspaces\AxisInnovatorsBox\library\jcef\cache\Default\Extension State/MANIFEST-000001
|
||||
2025/12/28-14:50:54.309 d58 Recovering log #3
|
||||
2025/12/28-14:50:54.312 d58 Reusing old log C:\Users\Administrator\MCreatorWorkspaces\AxisInnovatorsBox\library\jcef\cache\Default\Extension State/000003.log
|
||||
2026/01/02-17:54:54.886 5f78 Reusing MANIFEST C:\Users\Administrator\MCreatorWorkspaces\AxisInnovatorsBox\library\jcef\cache\Default\Extension State/MANIFEST-000001
|
||||
2026/01/02-17:54:54.886 5f78 Recovering log #3
|
||||
2026/01/02-17:54:54.887 5f78 Reusing old log C:\Users\Administrator\MCreatorWorkspaces\AxisInnovatorsBox\library\jcef\cache\Default\Extension State/000003.log
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
2026/01/02-17:46:58.729 3d98 Reusing MANIFEST C:\Users\Administrator\MCreatorWorkspaces\AxisInnovatorsBox\library\jcef\cache\Default\GCM Store\Encryption/MANIFEST-000001
|
||||
2026/01/02-17:46:58.730 3d98 Recovering log #3
|
||||
2026/01/02-17:46:58.730 3d98 Reusing old log C:\Users\Administrator\MCreatorWorkspaces\AxisInnovatorsBox\library\jcef\cache\Default\GCM Store\Encryption/000003.log
|
||||
2026/01/02-18:36:54.760 54c0 Reusing MANIFEST C:\Users\Administrator\MCreatorWorkspaces\AxisInnovatorsBox\library\jcef\cache\Default\GCM Store\Encryption/MANIFEST-000001
|
||||
2026/01/02-18:36:54.761 54c0 Recovering log #3
|
||||
2026/01/02-18:36:54.762 54c0 Reusing old log C:\Users\Administrator\MCreatorWorkspaces\AxisInnovatorsBox\library\jcef\cache\Default\GCM Store\Encryption/000003.log
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
2025/12/28-14:50:57.787 24fc Reusing MANIFEST C:\Users\Administrator\MCreatorWorkspaces\AxisInnovatorsBox\library\jcef\cache\Default\GCM Store\Encryption/MANIFEST-000001
|
||||
2025/12/28-14:50:57.787 24fc Recovering log #3
|
||||
2025/12/28-14:50:57.788 24fc Reusing old log C:\Users\Administrator\MCreatorWorkspaces\AxisInnovatorsBox\library\jcef\cache\Default\GCM Store\Encryption/000003.log
|
||||
2026/01/02-17:54:57.521 5e1c Reusing MANIFEST C:\Users\Administrator\MCreatorWorkspaces\AxisInnovatorsBox\library\jcef\cache\Default\GCM Store\Encryption/MANIFEST-000001
|
||||
2026/01/02-17:54:57.522 5e1c Recovering log #3
|
||||
2026/01/02-17:54:57.523 5e1c Reusing old log C:\Users\Administrator\MCreatorWorkspaces\AxisInnovatorsBox\library\jcef\cache\Default\GCM Store\Encryption/000003.log
|
||||
|
||||
BIN
library/jcef/cache/Default/History
vendored
BIN
library/jcef/cache/Default/History
vendored
Binary file not shown.
Binary file not shown.
@@ -1,3 +1,3 @@
|
||||
2026/01/02-17:46:55.667 31c0 Reusing MANIFEST C:\Users\Administrator\MCreatorWorkspaces\AxisInnovatorsBox\library\jcef\cache\Default\Local Storage\leveldb/MANIFEST-000001
|
||||
2026/01/02-17:46:55.683 31c0 Recovering log #44
|
||||
2026/01/02-17:46:55.687 31c0 Reusing old log C:\Users\Administrator\MCreatorWorkspaces\AxisInnovatorsBox\library\jcef\cache\Default\Local Storage\leveldb/000044.log
|
||||
2026/01/02-18:36:52.369 3ac8 Reusing MANIFEST C:\Users\Administrator\MCreatorWorkspaces\AxisInnovatorsBox\library\jcef\cache\Default\Local Storage\leveldb/MANIFEST-000001
|
||||
2026/01/02-18:36:52.383 3ac8 Recovering log #44
|
||||
2026/01/02-18:36:52.390 3ac8 Reusing old log C:\Users\Administrator\MCreatorWorkspaces\AxisInnovatorsBox\library\jcef\cache\Default\Local Storage\leveldb/000044.log
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
2025/12/28-14:50:54.386 2b54 Reusing MANIFEST C:\Users\Administrator\MCreatorWorkspaces\AxisInnovatorsBox\library\jcef\cache\Default\Local Storage\leveldb/MANIFEST-000001
|
||||
2025/12/28-14:50:54.399 2b54 Recovering log #44
|
||||
2025/12/28-14:50:54.404 2b54 Reusing old log C:\Users\Administrator\MCreatorWorkspaces\AxisInnovatorsBox\library\jcef\cache\Default\Local Storage\leveldb/000044.log
|
||||
2026/01/02-17:54:54.973 29f8 Reusing MANIFEST C:\Users\Administrator\MCreatorWorkspaces\AxisInnovatorsBox\library\jcef\cache\Default\Local Storage\leveldb/MANIFEST-000001
|
||||
2026/01/02-17:54:54.984 29f8 Recovering log #44
|
||||
2026/01/02-17:54:54.990 29f8 Reusing old log C:\Users\Administrator\MCreatorWorkspaces\AxisInnovatorsBox\library\jcef\cache\Default\Local Storage\leveldb/000044.log
|
||||
|
||||
2
library/jcef/cache/Default/Preferences
vendored
2
library/jcef/cache/Default/Preferences
vendored
File diff suppressed because one or more lines are too long
Binary file not shown.
@@ -1,3 +1,3 @@
|
||||
2026/01/02-17:48:16.445 31c0 Reusing MANIFEST C:\Users\Administrator\MCreatorWorkspaces\AxisInnovatorsBox\library\jcef\cache\Default\Session Storage/MANIFEST-000001
|
||||
2026/01/02-17:48:16.446 31c0 Recovering log #12
|
||||
2026/01/02-17:48:16.449 31c0 Reusing old log C:\Users\Administrator\MCreatorWorkspaces\AxisInnovatorsBox\library\jcef\cache\Default\Session Storage/000012.log
|
||||
2026/01/02-18:37:25.516 3ac8 Reusing MANIFEST C:\Users\Administrator\MCreatorWorkspaces\AxisInnovatorsBox\library\jcef\cache\Default\Session Storage/MANIFEST-000001
|
||||
2026/01/02-18:37:25.517 3ac8 Recovering log #12
|
||||
2026/01/02-18:37:25.520 3ac8 Reusing old log C:\Users\Administrator\MCreatorWorkspaces\AxisInnovatorsBox\library\jcef\cache\Default\Session Storage/000012.log
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
2025/12/28-14:51:01.393 2160 Reusing MANIFEST C:\Users\Administrator\MCreatorWorkspaces\AxisInnovatorsBox\library\jcef\cache\Default\Session Storage/MANIFEST-000001
|
||||
2025/12/28-14:51:01.395 2160 Recovering log #12
|
||||
2025/12/28-14:51:01.401 2160 Reusing old log C:\Users\Administrator\MCreatorWorkspaces\AxisInnovatorsBox\library\jcef\cache\Default\Session Storage/000012.log
|
||||
2026/01/02-17:55:03.089 29f8 Reusing MANIFEST C:\Users\Administrator\MCreatorWorkspaces\AxisInnovatorsBox\library\jcef\cache\Default\Session Storage/MANIFEST-000001
|
||||
2026/01/02-17:55:03.091 29f8 Recovering log #12
|
||||
2026/01/02-17:55:03.094 29f8 Reusing old log C:\Users\Administrator\MCreatorWorkspaces\AxisInnovatorsBox\library\jcef\cache\Default\Session Storage/000012.log
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
2026/01/02-17:46:55.084 3b7c Reusing MANIFEST C:\Users\Administrator\MCreatorWorkspaces\AxisInnovatorsBox\library\jcef\cache\Default\Site Characteristics Database/MANIFEST-000001
|
||||
2026/01/02-17:46:55.114 3b7c Recovering log #3
|
||||
2026/01/02-17:46:55.115 3b7c Reusing old log C:\Users\Administrator\MCreatorWorkspaces\AxisInnovatorsBox\library\jcef\cache\Default\Site Characteristics Database/000003.log
|
||||
2026/01/02-18:36:52.245 517c Reusing MANIFEST C:\Users\Administrator\MCreatorWorkspaces\AxisInnovatorsBox\library\jcef\cache\Default\Site Characteristics Database/MANIFEST-000001
|
||||
2026/01/02-18:36:52.246 517c Recovering log #3
|
||||
2026/01/02-18:36:52.247 517c Reusing old log C:\Users\Administrator\MCreatorWorkspaces\AxisInnovatorsBox\library\jcef\cache\Default\Site Characteristics Database/000003.log
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
2025/12/28-14:50:54.257 186c Reusing MANIFEST C:\Users\Administrator\MCreatorWorkspaces\AxisInnovatorsBox\library\jcef\cache\Default\Site Characteristics Database/MANIFEST-000001
|
||||
2025/12/28-14:50:54.263 186c Recovering log #3
|
||||
2025/12/28-14:50:54.264 186c Reusing old log C:\Users\Administrator\MCreatorWorkspaces\AxisInnovatorsBox\library\jcef\cache\Default\Site Characteristics Database/000003.log
|
||||
2026/01/02-17:54:54.823 5188 Reusing MANIFEST C:\Users\Administrator\MCreatorWorkspaces\AxisInnovatorsBox\library\jcef\cache\Default\Site Characteristics Database/MANIFEST-000001
|
||||
2026/01/02-17:54:54.841 5188 Recovering log #3
|
||||
2026/01/02-17:54:54.842 5188 Reusing old log C:\Users\Administrator\MCreatorWorkspaces\AxisInnovatorsBox\library\jcef\cache\Default\Site Characteristics Database/000003.log
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
2026/01/02-17:46:55.071 52c Reusing MANIFEST C:\Users\Administrator\MCreatorWorkspaces\AxisInnovatorsBox\library\jcef\cache\Default\Sync Data\LevelDB/MANIFEST-000001
|
||||
2026/01/02-17:46:55.115 52c Recovering log #3
|
||||
2026/01/02-17:46:55.115 52c Reusing old log C:\Users\Administrator\MCreatorWorkspaces\AxisInnovatorsBox\library\jcef\cache\Default\Sync Data\LevelDB/000003.log
|
||||
2026/01/02-18:36:52.237 e8c Reusing MANIFEST C:\Users\Administrator\MCreatorWorkspaces\AxisInnovatorsBox\library\jcef\cache\Default\Sync Data\LevelDB/MANIFEST-000001
|
||||
2026/01/02-18:36:52.245 e8c Recovering log #3
|
||||
2026/01/02-18:36:52.246 e8c Reusing old log C:\Users\Administrator\MCreatorWorkspaces\AxisInnovatorsBox\library\jcef\cache\Default\Sync Data\LevelDB/000003.log
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
2025/12/28-14:50:54.253 37d4 Reusing MANIFEST C:\Users\Administrator\MCreatorWorkspaces\AxisInnovatorsBox\library\jcef\cache\Default\Sync Data\LevelDB/MANIFEST-000001
|
||||
2025/12/28-14:50:54.263 37d4 Recovering log #3
|
||||
2025/12/28-14:50:54.264 37d4 Reusing old log C:\Users\Administrator\MCreatorWorkspaces\AxisInnovatorsBox\library\jcef\cache\Default\Sync Data\LevelDB/000003.log
|
||||
2026/01/02-17:54:54.822 4be0 Reusing MANIFEST C:\Users\Administrator\MCreatorWorkspaces\AxisInnovatorsBox\library\jcef\cache\Default\Sync Data\LevelDB/MANIFEST-000001
|
||||
2026/01/02-17:54:54.840 4be0 Recovering log #3
|
||||
2026/01/02-17:54:54.841 4be0 Reusing old log C:\Users\Administrator\MCreatorWorkspaces\AxisInnovatorsBox\library\jcef\cache\Default\Sync Data\LevelDB/000003.log
|
||||
|
||||
BIN
library/jcef/cache/Default/Top Sites
vendored
BIN
library/jcef/cache/Default/Top Sites
vendored
Binary file not shown.
BIN
library/jcef/cache/Default/Visited Links
vendored
BIN
library/jcef/cache/Default/Visited Links
vendored
Binary file not shown.
@@ -1,3 +1,3 @@
|
||||
2026/01/02-17:46:55.164 109c Reusing MANIFEST C:\Users\Administrator\MCreatorWorkspaces\AxisInnovatorsBox\library\jcef\cache\Default\shared_proto_db/MANIFEST-000001
|
||||
2026/01/02-17:46:55.164 109c Recovering log #19
|
||||
2026/01/02-17:46:55.169 109c Reusing old log C:\Users\Administrator\MCreatorWorkspaces\AxisInnovatorsBox\library\jcef\cache\Default\shared_proto_db/000019.log
|
||||
2026/01/02-18:36:52.280 57e4 Reusing MANIFEST C:\Users\Administrator\MCreatorWorkspaces\AxisInnovatorsBox\library\jcef\cache\Default\shared_proto_db/MANIFEST-000001
|
||||
2026/01/02-18:36:52.281 57e4 Recovering log #19
|
||||
2026/01/02-18:36:52.283 57e4 Reusing old log C:\Users\Administrator\MCreatorWorkspaces\AxisInnovatorsBox\library\jcef\cache\Default\shared_proto_db/000019.log
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
2025/12/28-14:50:54.299 22b4 Reusing MANIFEST C:\Users\Administrator\MCreatorWorkspaces\AxisInnovatorsBox\library\jcef\cache\Default\shared_proto_db/MANIFEST-000001
|
||||
2025/12/28-14:50:54.299 22b4 Recovering log #19
|
||||
2025/12/28-14:50:54.301 22b4 Reusing old log C:\Users\Administrator\MCreatorWorkspaces\AxisInnovatorsBox\library\jcef\cache\Default\shared_proto_db/000019.log
|
||||
2026/01/02-17:54:54.907 2150 Reusing MANIFEST C:\Users\Administrator\MCreatorWorkspaces\AxisInnovatorsBox\library\jcef\cache\Default\shared_proto_db/MANIFEST-000001
|
||||
2026/01/02-17:54:54.913 2150 Recovering log #19
|
||||
2026/01/02-17:54:54.922 2150 Reusing old log C:\Users\Administrator\MCreatorWorkspaces\AxisInnovatorsBox\library\jcef\cache\Default\shared_proto_db/000019.log
|
||||
|
||||
Binary file not shown.
@@ -1,3 +1,3 @@
|
||||
2026/01/02-17:46:55.156 109c Reusing MANIFEST C:\Users\Administrator\MCreatorWorkspaces\AxisInnovatorsBox\library\jcef\cache\Default\shared_proto_db\metadata/MANIFEST-000001
|
||||
2026/01/02-17:46:55.156 109c Recovering log #3
|
||||
2026/01/02-17:46:55.157 109c Reusing old log C:\Users\Administrator\MCreatorWorkspaces\AxisInnovatorsBox\library\jcef\cache\Default\shared_proto_db\metadata/000003.log
|
||||
2026/01/02-18:36:52.264 57e4 Reusing MANIFEST C:\Users\Administrator\MCreatorWorkspaces\AxisInnovatorsBox\library\jcef\cache\Default\shared_proto_db\metadata/MANIFEST-000001
|
||||
2026/01/02-18:36:52.265 57e4 Recovering log #3
|
||||
2026/01/02-18:36:52.265 57e4 Reusing old log C:\Users\Administrator\MCreatorWorkspaces\AxisInnovatorsBox\library\jcef\cache\Default\shared_proto_db\metadata/000003.log
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
2025/12/28-14:50:54.290 22b4 Reusing MANIFEST C:\Users\Administrator\MCreatorWorkspaces\AxisInnovatorsBox\library\jcef\cache\Default\shared_proto_db\metadata/MANIFEST-000001
|
||||
2025/12/28-14:50:54.291 22b4 Recovering log #3
|
||||
2025/12/28-14:50:54.291 22b4 Reusing old log C:\Users\Administrator\MCreatorWorkspaces\AxisInnovatorsBox\library\jcef\cache\Default\shared_proto_db\metadata/000003.log
|
||||
2026/01/02-17:54:54.894 2150 Reusing MANIFEST C:\Users\Administrator\MCreatorWorkspaces\AxisInnovatorsBox\library\jcef\cache\Default\shared_proto_db\metadata/MANIFEST-000001
|
||||
2026/01/02-17:54:54.895 2150 Recovering log #3
|
||||
2026/01/02-17:54:54.896 2150 Reusing old log C:\Users\Administrator\MCreatorWorkspaces\AxisInnovatorsBox\library\jcef\cache\Default\shared_proto_db\metadata/000003.log
|
||||
|
||||
2
library/jcef/cache/Local State
vendored
2
library/jcef/cache/Local State
vendored
File diff suppressed because one or more lines are too long
2
library/jcef/cache/Variations
vendored
2
library/jcef/cache/Variations
vendored
@@ -1 +1 @@
|
||||
{"user_experience_metrics.stability.exited_cleanly":false,"variations_crash_streak":595}
|
||||
{"user_experience_metrics.stability.exited_cleanly":false,"variations_crash_streak":597}
|
||||
7
library/jcef/cache/chrome_debug.log
vendored
7
library/jcef/cache/chrome_debug.log
vendored
@@ -1,4 +1,3 @@
|
||||
[4944:21460:0102/174655.052:WARNING:account_consistency_mode_manager.cc(77)] Desktop Identity Consistency cannot be enabled as no OAuth client ID and client secret have been configured.
|
||||
[4944:21460:0102/174655.144:WARNING:extension_service.cc(2065)] Found external version of extension ncennffkjdiamlpmcbajkmaiiiddgioothat is older than current version. Current version is: 3.52.14. New version is: 3.52.5. Keeping current version.
|
||||
[5764:9508:0102/174655.913:WARNING:viz_main_impl.cc(85)] VizNullHypothesis is disabled (not a warning)
|
||||
[5060:21232:0102/174855.188:WARNING:viz_main_impl.cc(85)] VizNullHypothesis is disabled (not a warning)
|
||||
[21000:23644:0102/183652.188:WARNING:account_consistency_mode_manager.cc(77)] Desktop Identity Consistency cannot be enabled as no OAuth client ID and client secret have been configured.
|
||||
[21000:23644:0102/183652.220:WARNING:extension_service.cc(2065)] Found external version of extension ncennffkjdiamlpmcbajkmaiiiddgioothat is older than current version. Current version is: 3.52.14. New version is: 3.52.5. Keeping current version.
|
||||
[16896:6088:0102/183652.521:WARNING:viz_main_impl.cc(85)] VizNullHypothesis is disabled (not a warning)
|
||||
|
||||
BIN
library/jcef/cache/first_party_sets.db
vendored
BIN
library/jcef/cache/first_party_sets.db
vendored
Binary file not shown.
BIN
library/jcef/cache/segmentation_platform/ukm_db
vendored
BIN
library/jcef/cache/segmentation_platform/ukm_db
vendored
Binary file not shown.
@@ -1,6 +1,6 @@
|
||||
#FileLock
|
||||
#Fri Jan 02 17:46:53 CST 2026
|
||||
#Fri Jan 02 18:36:51 CST 2026
|
||||
hostName=192.168.116.1
|
||||
id=19b7e1a4b3ed8755d1cb7723021bb5b3ae83bb80d46
|
||||
id=19b7e480ce06e1cbe3dba3b505e2cafb4d7d6da1e3d
|
||||
method=file
|
||||
server=192.168.116.1\:64658
|
||||
server=192.168.116.1\:52019
|
||||
|
||||
@@ -198,3 +198,21 @@ DELETE TABLE add [42001-220]
|
||||
2025-12-15 10:39:48 jdbc[3]: exception
|
||||
org.h2.jdbc.JdbcSQLSyntaxErrorException: Syntax error in SQL statement "DELETE [*]/?"; expected "identifier"; SQL statement:
|
||||
DELETE /? [42001-220]
|
||||
2026-01-02 17:47:29 jdbc[3]: exception
|
||||
org.h2.jdbc.JdbcSQLSyntaxErrorException: Syntax error in SQL statement "[*]dec"; expected "DELETE, DROP, DECLARE, DEALLOCATE"; SQL statement:
|
||||
dec [42001-220]
|
||||
2026-01-02 17:47:36 jdbc[3]: exception
|
||||
org.h2.jdbc.JdbcSQLSyntaxErrorException: Syntax error in SQL statement "[*]DISTINCT"; SQL statement:
|
||||
DISTINCT [42000-220]
|
||||
2026-01-02 17:47:44 jdbc[3]: exception
|
||||
org.h2.jdbc.JdbcSQLSyntaxErrorException: Syntax error in SQL statement "[*]DISTINCT INFORMATION_SCHEMA"; SQL statement:
|
||||
DISTINCT INFORMATION_SCHEMA [42000-220]
|
||||
2026-01-02 17:48:07 jdbc[3]: exception
|
||||
org.h2.jdbc.JdbcSQLSyntaxErrorException: Syntax error in SQL statement "Structure[*]; ;"; SQL statement:
|
||||
Structure; ; [42000-220]
|
||||
2026-01-02 17:48:10 jdbc[3]: exception
|
||||
org.h2.jdbc.JdbcSQLSyntaxErrorException: Syntax error in SQL statement "[*]Structure"; expected "SAVEPOINT, SCRIPT, SHUTDOWN, SHOW"; SQL statement:
|
||||
Structure [42001-220]
|
||||
2026-01-02 18:37:21 jdbc[3]: exception
|
||||
org.h2.jdbc.JdbcSQLSyntaxErrorException: Syntax error in SQL statement "[*]ues PUBLIC"; expected "UPDATE, USE"; SQL statement:
|
||||
ues PUBLIC [42001-220]
|
||||
|
||||
@@ -3,6 +3,8 @@ package com.axis.innovators.box.python;
|
||||
import com.axis.innovators.box.AxisInnovatorsBox;
|
||||
import com.axis.innovators.box.window.MainWindow;
|
||||
import com.axis.innovators.box.register.LanguageManager;
|
||||
import com.axis.innovators.box.window.util.ToolCategory;
|
||||
import com.axis.innovators.box.window.util.ToolItem;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.event.ActionEvent;
|
||||
@@ -22,11 +24,11 @@ public class PyLocalSide {
|
||||
);
|
||||
LanguageManager.addLanguage(language);
|
||||
}
|
||||
public static MainWindow.ToolCategory getToolCategory(String name,
|
||||
String icon,
|
||||
String description) {
|
||||
public static ToolCategory getToolCategory(String name,
|
||||
String icon,
|
||||
String description) {
|
||||
|
||||
return new MainWindow.ToolCategory(name, icon, description);
|
||||
return new ToolCategory(name, icon, description);
|
||||
}
|
||||
|
||||
public static Action getAction(Runnable runnable){
|
||||
@@ -37,16 +39,16 @@ public class PyLocalSide {
|
||||
}
|
||||
};
|
||||
}
|
||||
public static MainWindow.ToolItem getToolItem(String title,
|
||||
public static ToolItem getToolItem(String title,
|
||||
String icon,
|
||||
String description,
|
||||
int id,
|
||||
Action action){
|
||||
System.out.println(action);
|
||||
return new MainWindow.ToolItem(title, icon, description, id, action);
|
||||
return new ToolItem(title, icon, description, id, action);
|
||||
}
|
||||
|
||||
public static void addToolCategory(MainWindow.ToolCategory category, String registeredName){
|
||||
public static void addToolCategory(ToolCategory category, String registeredName){
|
||||
AxisInnovatorsBox.getMain().
|
||||
getRegistrationTool().addToolCategory(category, registeredName);
|
||||
}
|
||||
|
||||
@@ -10,6 +10,8 @@ import com.axis.innovators.box.window.JarApiProfilingWindow;
|
||||
import com.axis.innovators.box.window.MainWindow;
|
||||
import com.axis.innovators.box.plugins.PluginDescriptor;
|
||||
import com.axis.innovators.box.window.TaskbarAppearanceWindow;
|
||||
import com.axis.innovators.box.window.util.ToolCategory;
|
||||
import com.axis.innovators.box.window.util.ToolItem;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.tzd.lm.LM;
|
||||
@@ -27,7 +29,7 @@ import java.util.UUID;
|
||||
*/
|
||||
public class RegistrationTool {
|
||||
private static final Logger logger = LogManager.getLogger(RegistrationTool.class);
|
||||
private final List<MainWindow.ToolCategory> toolCategories = new ArrayList<>();
|
||||
private final List<ToolCategory> toolCategories = new ArrayList<>();
|
||||
private final AxisInnovatorsBox main;
|
||||
private final List<UUID> uuidList = new ArrayList<>();
|
||||
private final List<String> registeredNameList = new ArrayList<>();
|
||||
@@ -39,11 +41,11 @@ public class RegistrationTool {
|
||||
// 判断系统是否支持
|
||||
if (BuildInformation.isMatchSystem(BuildSystem.WINDOWS)
|
||||
|| BuildInformation.isMatchSystem(BuildSystem.UNKNOWN)) {
|
||||
MainWindow.ToolCategory debugCategory = new MainWindow.ToolCategory("调试工具",
|
||||
ToolCategory debugCategory = new ToolCategory("调试工具",
|
||||
"debug/debug.png",
|
||||
"用于调试指定Windows工具的一个分类");
|
||||
|
||||
debugCategory.addTool(new MainWindow.ToolItem("Frida注入工具", "debug/frida/frida_main.png",
|
||||
debugCategory.addTool(new ToolItem("Frida注入工具", "debug/frida/frida_main.png",
|
||||
"使用frida注入目标进程的脚本程序 " +
|
||||
"\n作者:tzdwindows 7", ++id, new AbstractAction() {
|
||||
@Override
|
||||
@@ -54,10 +56,10 @@ public class RegistrationTool {
|
||||
}
|
||||
}));
|
||||
|
||||
MainWindow.ToolCategory programmingToolsCategory = new MainWindow.ToolCategory("编程工具",
|
||||
ToolCategory programmingToolsCategory = new ToolCategory("编程工具",
|
||||
"programming/programming.png",
|
||||
"编程工具");
|
||||
programmingToolsCategory.addTool(new MainWindow.ToolItem("JarApi查看器", "programming/JarApiViewer/JarApi_Viewer.png",
|
||||
programmingToolsCategory.addTool(new ToolItem("JarApi查看器", "programming/JarApiViewer/JarApi_Viewer.png",
|
||||
"查看Jar内的方法以及其注解" +
|
||||
"\n作者:tzdwindows 7", ++id, new AbstractAction() {
|
||||
@Override
|
||||
@@ -68,7 +70,7 @@ public class RegistrationTool {
|
||||
}
|
||||
}));
|
||||
|
||||
programmingToolsCategory.addTool(new MainWindow.ToolItem("C语言编辑器", "programming/LanguageEditor/file-editing.png",
|
||||
programmingToolsCategory.addTool(new ToolItem("C语言编辑器", "programming/LanguageEditor/file-editing.png",
|
||||
"C语言编译器,智能化的idea" +
|
||||
"\n作者:tzdwindows 7", ++id, new AbstractAction() {
|
||||
@Override
|
||||
@@ -78,7 +80,7 @@ public class RegistrationTool {
|
||||
}
|
||||
}));
|
||||
|
||||
programmingToolsCategory.addTool(new MainWindow.ToolItem("多语言在线执行(当遇到无限循环时会抛出错误)", "programming/LanguageEditor/file-editing.png",
|
||||
programmingToolsCategory.addTool(new ToolItem("多语言在线执行(当遇到无限循环时会抛出错误)", "programming/LanguageEditor/file-editing.png",
|
||||
"多语言在线执行,当遇到无限循环时会抛出错误" +
|
||||
"\n作者:tzdwindows 7", ++id, new AbstractAction() {
|
||||
@Override
|
||||
@@ -88,7 +90,7 @@ public class RegistrationTool {
|
||||
}
|
||||
}));
|
||||
|
||||
programmingToolsCategory.addTool(new MainWindow.ToolItem("数据库管理工具", "programming/programming_dark.png",
|
||||
programmingToolsCategory.addTool(new ToolItem("数据库管理工具", "programming/programming_dark.png",
|
||||
"用于管理数据库" +
|
||||
"\n作者:tzdwindows 7", ++id, new AbstractAction() {
|
||||
@Override
|
||||
@@ -98,7 +100,7 @@ public class RegistrationTool {
|
||||
}
|
||||
}));
|
||||
|
||||
programmingToolsCategory.addTool(new MainWindow.ToolItem("Linux终端工具", "programming/linux.png",
|
||||
programmingToolsCategory.addTool(new ToolItem("Linux终端工具", "programming/linux.png",
|
||||
"用于启动一个Linux终端" +
|
||||
"\n作者:tzdwindows 7", ++id, new AbstractAction() {
|
||||
@Override
|
||||
@@ -108,7 +110,7 @@ public class RegistrationTool {
|
||||
}
|
||||
}));
|
||||
|
||||
programmingToolsCategory.addTool(new MainWindow.ToolItem("MySql控制台", "programming/mysql.png",
|
||||
programmingToolsCategory.addTool(new ToolItem("MySql控制台", "programming/mysql.png",
|
||||
"用于启动一个MySql控制台" +
|
||||
"\n作者:tzdwindows 7", ++id, new AbstractAction() {
|
||||
@Override
|
||||
@@ -118,11 +120,11 @@ public class RegistrationTool {
|
||||
}
|
||||
}));
|
||||
|
||||
MainWindow.ToolCategory aICategory = new MainWindow.ToolCategory("AI工具",
|
||||
ToolCategory aICategory = new ToolCategory("AI工具",
|
||||
"ai/ai.png",
|
||||
"人工智能/大语言模型");
|
||||
|
||||
aICategory.addTool(new MainWindow.ToolItem("本地AI执行工具", "ai/local/local_main.png",
|
||||
aICategory.addTool(new ToolItem("本地AI执行工具", "ai/local/local_main.png",
|
||||
"在本机对开源大语言模型进行推理" +
|
||||
"\n作者:tzdwindows 7", ++id, new AbstractAction() {
|
||||
@Override
|
||||
@@ -144,12 +146,12 @@ public class RegistrationTool {
|
||||
}
|
||||
}));
|
||||
|
||||
MainWindow.ToolCategory hahahah = new MainWindow.ToolCategory(
|
||||
ToolCategory hahahah = new ToolCategory(
|
||||
"good工具",
|
||||
"haha/ok.png",
|
||||
"good "
|
||||
);
|
||||
hahahah.addTool(new MainWindow.ToolItem("123", "ai/local/local_main.png",
|
||||
hahahah.addTool(new ToolItem("123", "ai/local/local_main.png",
|
||||
"456789" +
|
||||
"\n作者:Vinfya", ++id, new AbstractAction() {
|
||||
@Override
|
||||
@@ -162,10 +164,10 @@ public class RegistrationTool {
|
||||
}));
|
||||
|
||||
|
||||
MainWindow.ToolCategory systemCategory = new MainWindow.ToolCategory("系统工具",
|
||||
ToolCategory systemCategory = new ToolCategory("系统工具",
|
||||
"windows/windows.png",
|
||||
"系统工具");
|
||||
systemCategory.addTool(new MainWindow.ToolItem("任务栏主题设置", "windows/windowsOptimization/windowsOptimization.png",
|
||||
systemCategory.addTool(new ToolItem("任务栏主题设置", "windows/windowsOptimization/windowsOptimization.png",
|
||||
"可以设置Windows任务栏的颜色等各种信息", ++id, new AbstractAction() {
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
@@ -187,7 +189,7 @@ public class RegistrationTool {
|
||||
* 注册ToolCategory
|
||||
* @param toolCategory ToolCategory
|
||||
*/
|
||||
private boolean addSystemToolCategory(MainWindow.ToolCategory toolCategory,
|
||||
private boolean addSystemToolCategory(ToolCategory toolCategory,
|
||||
String registeredName) {
|
||||
registeredName = "system:" + registeredName;
|
||||
if (!main.isWindow()) {
|
||||
@@ -208,7 +210,7 @@ public class RegistrationTool {
|
||||
* 注册ToolCategory
|
||||
* @param toolCategory ToolCategory
|
||||
*/
|
||||
public boolean addToolCategory(MainWindow.ToolCategory toolCategory,
|
||||
public boolean addToolCategory(ToolCategory toolCategory,
|
||||
String registeredName) {
|
||||
if (!main.isWindow()) {
|
||||
if (registeredNameList.contains(registeredName)) {
|
||||
@@ -228,7 +230,7 @@ public class RegistrationTool {
|
||||
* 注册ToolCategory
|
||||
* @param toolCategory ToolCategory
|
||||
*/
|
||||
public void addToolCategory(MainWindow.ToolCategory toolCategory,
|
||||
public void addToolCategory(ToolCategory toolCategory,
|
||||
PluginDescriptor pluginDescriptor,
|
||||
String registeredName) {
|
||||
if (addToolCategory(toolCategory,
|
||||
@@ -243,9 +245,9 @@ public class RegistrationTool {
|
||||
* @param id UUID
|
||||
* @return ToolCategory对象
|
||||
*/
|
||||
public MainWindow.ToolCategory getToolCategory(UUID id) {
|
||||
public ToolCategory getToolCategory(UUID id) {
|
||||
if (!main.isWindow()) {
|
||||
for (MainWindow.ToolCategory toolCategory : toolCategories) {
|
||||
for (ToolCategory toolCategory : toolCategories) {
|
||||
if (toolCategory.getId().equals(id)) {
|
||||
return toolCategory;
|
||||
}
|
||||
@@ -274,7 +276,7 @@ public class RegistrationTool {
|
||||
return null;
|
||||
}
|
||||
|
||||
public List<MainWindow.ToolCategory> getToolCategories() {
|
||||
public List<ToolCategory> getToolCategories() {
|
||||
return toolCategories;
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,27 @@
|
||||
package com.axis.innovators.box.window.util;
|
||||
|
||||
import javax.swing.*;
|
||||
import javax.swing.plaf.basic.BasicScrollBarUI;
|
||||
import java.awt.*;
|
||||
|
||||
public class CustomScrollBarUI extends BasicScrollBarUI {
|
||||
@Override protected void configureScrollBarColors() {
|
||||
this.thumbColor = UIManager.getColor("ScrollBar.thumb");
|
||||
if (thumbColor == null) thumbColor = new Color(160, 160, 180);
|
||||
|
||||
this.trackColor = UIManager.getColor("ScrollBar.track");
|
||||
if (trackColor == null) trackColor = new Color(245, 245, 248);
|
||||
}
|
||||
@Override protected JButton createDecreaseButton(int orientation) { return createInvisibleButton(); }
|
||||
@Override protected JButton createIncreaseButton(int orientation) { return createInvisibleButton(); }
|
||||
private JButton createInvisibleButton() {
|
||||
JButton btn = new JButton(); btn.setPreferredSize(new Dimension(0,0)); btn.setBorder(null); return btn;
|
||||
}
|
||||
@Override protected void paintThumb(Graphics g, JComponent c, Rectangle thumbBounds) {
|
||||
Graphics2D g2 = (Graphics2D) g.create();
|
||||
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
|
||||
g2.setColor(thumbColor);
|
||||
g2.fillRoundRect(thumbBounds.x + 2, thumbBounds.y + 2, Math.max(6, thumbBounds.width - 4), Math.max(10, thumbBounds.height - 4), 8, 8);
|
||||
g2.dispose();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,163 @@
|
||||
package com.axis.innovators.box.window.util;
|
||||
|
||||
import javax.swing.*;
|
||||
import javax.swing.event.DocumentListener;
|
||||
import java.awt.*;
|
||||
import java.awt.event.*;
|
||||
import java.awt.geom.Point2D;
|
||||
|
||||
public class RoundedSearchField extends JPanel {
|
||||
private final JTextField textField;
|
||||
private int targetWidth;
|
||||
private float animProgress = 0f;
|
||||
private Timer animTimer;
|
||||
private final int baseWidth;
|
||||
private final int heightPx;
|
||||
|
||||
// 动画相关变量
|
||||
private float glowPosition = 0f;
|
||||
private final Timer glowTimer;
|
||||
public Color defaultBorderColor;
|
||||
private boolean focused = false;
|
||||
|
||||
public RoundedSearchField(int baseWidth, int heightPx) {
|
||||
this.baseWidth = baseWidth;
|
||||
this.heightPx = heightPx;
|
||||
this.targetWidth = baseWidth;
|
||||
setOpaque(false);
|
||||
setLayout(new BorderLayout());
|
||||
|
||||
// 获取系统默认边框色
|
||||
defaultBorderColor = UIManager.getColor("TextField.borderColor");
|
||||
if (defaultBorderColor == null) {
|
||||
defaultBorderColor = new Color(180, 180, 180); // 备用默认色
|
||||
}
|
||||
|
||||
textField = new JTextField();
|
||||
textField.setBorder(BorderFactory.createEmptyBorder(6, 10, 6, 10));
|
||||
textField.setOpaque(false);
|
||||
textField.setFont(UIManager.getFont("TextField.font"));
|
||||
setPreferredSize(new Dimension(baseWidth, heightPx));
|
||||
add(textField, BorderLayout.CENTER);
|
||||
|
||||
// 焦点监听器
|
||||
textField.addFocusListener(new FocusAdapter() {
|
||||
@Override
|
||||
public void focusGained(FocusEvent e) {
|
||||
focused = true;
|
||||
animateTo(baseWidth + 80);
|
||||
glowTimer.start();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void focusLost(FocusEvent e) {
|
||||
focused = false;
|
||||
animateTo(baseWidth);
|
||||
glowTimer.stop();
|
||||
repaint();
|
||||
}
|
||||
});
|
||||
|
||||
// 点击面板聚焦文本框
|
||||
addMouseListener(new MouseAdapter() {
|
||||
@Override public void mouseClicked(MouseEvent e) {
|
||||
textField.requestFocusInWindow();
|
||||
}
|
||||
});
|
||||
|
||||
// 尺寸动画定时器
|
||||
animTimer = new Timer(16, ae -> {
|
||||
int curW = getWidth();
|
||||
int diff = targetWidth - curW;
|
||||
if (Math.abs(diff) <= 1) {
|
||||
setPreferredSize(new Dimension(targetWidth, heightPx));
|
||||
revalidate();
|
||||
repaint();
|
||||
animTimer.stop();
|
||||
} else {
|
||||
int step = Math.max(1, Math.abs(diff) / 6);
|
||||
int newW = curW + (diff > 0 ? step : -step);
|
||||
setPreferredSize(new Dimension(newW, heightPx));
|
||||
revalidate();
|
||||
repaint();
|
||||
}
|
||||
});
|
||||
|
||||
// 发光动画定时器
|
||||
glowTimer = new Timer(30, e -> {
|
||||
glowPosition = (glowPosition + 0.03f) % 1f;
|
||||
repaint();
|
||||
});
|
||||
}
|
||||
|
||||
public void updateThemeColors() {
|
||||
defaultBorderColor = UIManager.getColor("TextField.borderColor");
|
||||
if (defaultBorderColor == null) {
|
||||
defaultBorderColor = new Color(180, 180, 180);
|
||||
}
|
||||
repaint();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void paintComponent(Graphics g) {
|
||||
super.paintComponent(g);
|
||||
Graphics2D g2d = (Graphics2D) g.create();
|
||||
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
|
||||
|
||||
int arc = heightPx / 2; // 圆角半径
|
||||
int borderThickness = focused ? 2 : 1;
|
||||
|
||||
// 绘制背景
|
||||
g2d.setColor(getBackground());
|
||||
g2d.fillRoundRect(0, 0, getWidth(), getHeight(), arc, arc);
|
||||
|
||||
// 绘制边框
|
||||
if (focused) {
|
||||
// 流动彩虹渐变
|
||||
float[] fractions = {0f, 0.25f, 0.5f, 0.75f, 1f};
|
||||
Color[] colors = {
|
||||
new Color(255, 0, 0, 200), // 红
|
||||
new Color(255, 165, 0, 200), // 橙
|
||||
new Color(0, 255, 0, 200), // 绿
|
||||
new Color(0, 191, 255, 200), // 蓝
|
||||
new Color(148, 0, 211, 200) // 紫
|
||||
};
|
||||
|
||||
// 创建循环渐变
|
||||
Point2D start = new Point2D.Float(getWidth() * glowPosition, 0);
|
||||
Point2D end = new Point2D.Float(getWidth() * glowPosition + getWidth(), 0);
|
||||
LinearGradientPaint gradient = new LinearGradientPaint(
|
||||
start, end, fractions, colors
|
||||
);
|
||||
|
||||
g2d.setPaint(gradient);
|
||||
g2d.setStroke(new BasicStroke(2.5f));
|
||||
} else {
|
||||
g2d.setColor(defaultBorderColor);
|
||||
g2d.setStroke(new BasicStroke(1f));
|
||||
}
|
||||
|
||||
g2d.drawRoundRect(borderThickness/2, borderThickness/2,
|
||||
getWidth() - borderThickness, getHeight() - borderThickness,
|
||||
arc, arc);
|
||||
|
||||
// 添加发光效果
|
||||
if (focused) {
|
||||
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.4f));
|
||||
g2d.setStroke(new BasicStroke(4f));
|
||||
g2d.drawRoundRect(0, 0, getWidth(), getHeight(), arc, arc);
|
||||
}
|
||||
|
||||
g2d.dispose();
|
||||
}
|
||||
|
||||
void animateTo(int w) {
|
||||
this.targetWidth = w;
|
||||
if (!animTimer.isRunning()) animTimer.start();
|
||||
}
|
||||
|
||||
public String getText() { return textField.getText(); }
|
||||
public void setText(String t) { textField.setText(t); }
|
||||
public void addActionListener(ActionListener l) { textField.addActionListener(l); }
|
||||
public void addDocumentListener(DocumentListener dl) { textField.getDocument().addDocumentListener(dl); }
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
package com.axis.innovators.box.window.util;
|
||||
|
||||
import com.axis.innovators.box.AxisInnovatorsBox;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
public class ToolCategory {
|
||||
private final String name;
|
||||
private final String icon;
|
||||
private final ImageIcon iconImage;
|
||||
private final String description;
|
||||
private final UUID id = UUID.randomUUID();
|
||||
private final List<ToolItem> tools = new ArrayList<>();
|
||||
|
||||
/**
|
||||
* 分类
|
||||
* @param name 分类名称
|
||||
* @param icon 分类的图标
|
||||
* @param description 分类的描述
|
||||
*/
|
||||
public ToolCategory(String name, String icon, String description) {
|
||||
this.name = name; this.icon = icon; this.description = description; this.iconImage = null;
|
||||
}
|
||||
public ToolCategory(String name, ImageIcon icon, String description) {
|
||||
this.name = name; this.iconImage = icon; this.description = description; this.icon = null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 在当前分类中创建一个新的工具卡片
|
||||
* @param tool 工具卡片
|
||||
*/
|
||||
public void addTool(ToolItem tool) { tools.add(tool); }
|
||||
public String getDescription() { return description; }
|
||||
public String getIcon() {
|
||||
if (AxisInnovatorsBox.getMain().getRegistrationTopic().isDarkMode()) {
|
||||
return icon.replace(".png", "_dark.png");
|
||||
}
|
||||
return icon;
|
||||
}
|
||||
public String getName() { return name; }
|
||||
public List<ToolItem> getTools() { return tools; }
|
||||
public ImageIcon getIconImage() { return iconImage; }
|
||||
public UUID getId() { return id; }
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
package com.axis.innovators.box.window.util;
|
||||
|
||||
import javax.swing.*;
|
||||
|
||||
public class ToolItem {
|
||||
private final ImageIcon imageIcon;
|
||||
private final String title;
|
||||
private final String icon;
|
||||
private final String description;
|
||||
private final int id;
|
||||
private final Action action;
|
||||
|
||||
/**
|
||||
* 创建一个新的工具
|
||||
* @param title 工具的标题
|
||||
* @param icon 工具的图标
|
||||
* @param description 工具的介绍
|
||||
* @param id 工具的id(不要重复即可)
|
||||
* @param action 点击工具卡片后触发的事件
|
||||
*/
|
||||
public ToolItem(String title, String icon, String description, int id, Action action) {
|
||||
this.title = title; this.icon = icon; this.description = description; this.id = id; this.action = action; this.imageIcon = null;
|
||||
}
|
||||
public ToolItem(String title, ImageIcon icon, String description, int id, Action action) {
|
||||
this.title = title; this.imageIcon = icon; this.description = description; this.id = id; this.action = action; this.icon = null;
|
||||
}
|
||||
public String getTitle() { return title; }
|
||||
public ImageIcon icon() { return imageIcon; }
|
||||
public String getIcon() { return icon; }
|
||||
public Action getAction() { return action; }
|
||||
public ImageIcon getImageIcon() { return imageIcon; }
|
||||
public int getId() { return id; }
|
||||
public String getDescription() { return description; }
|
||||
public String getName() { return title; }
|
||||
}
|
||||
@@ -0,0 +1,85 @@
|
||||
package com.axis.innovators.box.window.util;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.*;
|
||||
|
||||
public class WrapLayout extends FlowLayout {
|
||||
public WrapLayout(int align, int hgap, int vgap) {
|
||||
super(align, hgap, vgap);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Dimension preferredLayoutSize(Container target) {
|
||||
return layoutSize(target, true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Dimension minimumLayoutSize(Container target) {
|
||||
Dimension minimum = layoutSize(target, false);
|
||||
minimum.width -= (getHgap() + 1);
|
||||
return minimum;
|
||||
}
|
||||
|
||||
private Dimension layoutSize(Container target, boolean preferred) {
|
||||
synchronized (target.getTreeLock()) {
|
||||
int targetWidth = target.getWidth();
|
||||
|
||||
if (targetWidth == 0)
|
||||
targetWidth = Integer.MAX_VALUE;
|
||||
|
||||
int hgap = getHgap();
|
||||
int vgap = getVgap();
|
||||
Insets insets = target.getInsets();
|
||||
int horizontalInsetsAndGap = insets.left + insets.right + (hgap * 2);
|
||||
int maxWidth = targetWidth - horizontalInsetsAndGap;
|
||||
|
||||
Dimension dim = new Dimension(0, 0);
|
||||
int rowWidth = 0;
|
||||
int rowHeight = 0;
|
||||
|
||||
int nmembers = target.getComponentCount();
|
||||
|
||||
for (int i = 0; i < nmembers; i++) {
|
||||
Component m = target.getComponent(i);
|
||||
|
||||
if (m.isVisible()) {
|
||||
Dimension d = preferred ? m.getPreferredSize() : m.getMinimumSize();
|
||||
|
||||
if (rowWidth + d.width > maxWidth) {
|
||||
addRow(dim, rowWidth, rowHeight);
|
||||
rowWidth = 0;
|
||||
rowHeight = 0;
|
||||
}
|
||||
|
||||
if (rowWidth != 0) {
|
||||
rowWidth += hgap;
|
||||
}
|
||||
|
||||
rowWidth += d.width;
|
||||
rowHeight = Math.max(rowHeight, d.height);
|
||||
}
|
||||
}
|
||||
|
||||
addRow(dim, rowWidth, rowHeight);
|
||||
|
||||
dim.width += horizontalInsetsAndGap;
|
||||
dim.height += insets.top + insets.bottom + vgap * 2;
|
||||
|
||||
// 确保容器至少有这点大小
|
||||
Container parent = target.getParent();
|
||||
if (parent instanceof JScrollPane) {
|
||||
dim.width = targetWidth; // 强制宽度匹配
|
||||
}
|
||||
|
||||
return dim;
|
||||
}
|
||||
}
|
||||
|
||||
private void addRow(Dimension dim, int rowWidth, int rowHeight) {
|
||||
dim.width = Math.max(dim.width, rowWidth);
|
||||
if (dim.height > 0) {
|
||||
dim.height += getVgap();
|
||||
}
|
||||
dim.height += rowHeight;
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
# Auto-generated build information
|
||||
version=0.0.1
|
||||
buildTimestamp=2026-01-02T17:46:06.8226378
|
||||
buildTimestamp=2026-01-02T18:36:04.5818254
|
||||
buildSystem=WINDOWS
|
||||
|
||||
@@ -1,11 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- packages 属性必须指向你存放 CommandPanelAppender 的包名 -->
|
||||
<Configuration status="WARN" packages="com.chuangzhou.vivid2D.log">
|
||||
<Configuration status="WARN">
|
||||
<Appenders>
|
||||
<!-- 1. 定义你的自定义 UI Appender -->
|
||||
<CommandPanelAppender name="GuiAppender">
|
||||
<PatternLayout pattern="[%t] [%d{yyyy-MM-dd HH:mm:ss}] [%level] [%logger-%method()] %msg%n"/>
|
||||
</CommandPanelAppender>
|
||||
<!-- 已删除 CommandPanelAppender -->
|
||||
|
||||
<!-- 固定日志文件 -->
|
||||
<RollingFile name="MainFileAppender"
|
||||
@@ -34,7 +30,7 @@
|
||||
</Policies>
|
||||
</RollingFile>
|
||||
|
||||
<!-- 控制台输出 (IDE使用),添加 follow="true" 确保拦截 -->
|
||||
<!-- 控制台输出 (IDE使用),添加 follow="true" 确保拦截 System.out -->
|
||||
<Console name="Console" target="SYSTEM_OUT" follow="true">
|
||||
<ThresholdFilter level="INFO" onMatch="ACCEPT" onMismatch="DENY"/>
|
||||
<PatternLayout pattern="[%t] [%d{yyyy-MM-dd HH:mm:ss}] [%level] [%logger-%method()] %msg%n%throwable"/>
|
||||
@@ -43,8 +39,7 @@
|
||||
|
||||
<Loggers>
|
||||
<Root level="debug">
|
||||
<!-- 2. 必须在这里引用 GuiAppender 才能生效 -->
|
||||
<AppenderRef ref="GuiAppender"/>
|
||||
<!-- 已删除 GuiAppender 引用 -->
|
||||
<AppenderRef ref="Console"/>
|
||||
<AppenderRef ref="MainFileAppender"/>
|
||||
<AppenderRef ref="SessionFileAppender"/>
|
||||
|
||||
Reference in New Issue
Block a user