中文ReadMe ReadMe

MyBox: Set of Easy Tools

This is compute application to provide simple and easy functions. It’s free and open sources.

What’s New

2024-2-9 v6.8

Happy Chinese Loong Year!

Closed requirements/bugs in this version

Notice

Without enough testings, MyBox has low reliability and bad stability. When use MyBox, following may happen:

Download and Execution

Source Codes

Download Size Developement Guide Packing Steps
MyBox-src.zip 80M- pdf html

Self-contain packages

Self-contain packages include all files and need not java env nor installation.

Platform Link Size Launcher
win10 x64 MyBox-win-x64.zip 280MB- MyBox.exe
CentOS 7 x64 MyBox-CentOS7-x64.tar.gz 320MB- MyBox
mac MyBox-mac.dmg 300MB- MyBox.app

User can double click the launcher to start MyBox or run it by command line. The default “Open Method” of image/text/PDF files can be associated to MyBox and a file can be opened directly by MyBox by double clicking the file’s name.

Jar

When JRE or JDK(Oracle jdk or open jdk) is installed, jar can run:

Platform Link Size Requirements
win MyBox-win-jar.zip 240MB- Java 21 or higher
linux MyBox-linux.jar.gz 240MB- Java 21 or higher
mac MyBox-mac.jar.gz 240MB- Java 21 or higher

Run following command to launch this program with Jar package:
java -jar MyBox.jar

A file path can follow the command as argument to be opened directly by MyBox. Example, following command will open the image:
java -jar MyBox.jar /tmp/a1.jpg

Versions

Contents of this document may be expired, but its links refer to the latest versions.

The latest versions and archived versions can be downloaded in following addresses:

address dowloads readme
github https://github.com/Mararsh/MyBox/releases English Chinese
sourceforge https://sourceforge.net/projects/mara-mybox/files/ English Chinese
cloud https://pan.baidu.com/s/1fWMRzym_jh075OCX0D8y8A#list/path=%2F

Configuration

Configuration file is under “User Home”:

Platform Path of MyBox Configuration File
win C:\users\UserName\mybox\MyBox_vVERVION.ini
linux /home/UserName/mybox/MyBox_vVERVION.ini
mac /Users/UserName/mybox/MyBox_vVERVION.ini

Add parameter “config="FilePath"” when run jar to change configuration file temporarily.
Function “Settings” can be used to change configuration values.

Migration

  1. Each version has itself’s configuration file. New version can copy parameters from existed versions.
  2. Data handled in each version are under “Data Directory” referred by it. Multiple versions can refer to same data directory.
  3. MyBox is backward compatibility: Later version can work on data of previous versions. While forward compatibility is not supported: Wrong may happen when old version handles data of new version.

Backup and Recover

In MyBox:
1. To backup, copy directories to other places.
2. To recover, override current directories with backup directories.
3. Need not backup each directory under data path.
Predefined directories under data path are listed below:

directory role internal referred read/write automatically need backup comments
AppTemp temporary files yes yes cleared automatically
buttons customized buttons yes yes
data internal data yes yes
dataClipboard data clipboard yes yes yes
doc internal documents yes yes
downloads download files yes
fileBackups files’ backups yes yes yes
generated generated files yes user decides
ICC ICC profiles yes yes
icons icon files yes yes
image image files yes yes
imageClipboard image clipbooard yes yes yes
imageHistories image edit histories yes yes yes
imageScopes image scopes yes yes yes
js javascript yes yes
logs database logs yes
map map files yes yes
mybox_derby database yes yes yes
mybox_languages customized languages yes yes yes
security cert files yes yes
sound sound files yes yes

Resource Addresses

Contents Link
Project Main Page https://github.com/Mararsh/MyBoxl
Source Codes and Compiled Packages https://github.com/Mararsh/MyBox/releases
Submit Software Requirements and Problem Reports https://github.com/Mararsh/MyBox/issues
Data https://github.com/Mararsh/MyBox_data
Documents https://github.com/Mararsh/MyBoxDoc
Mirror Site https://sourceforge.net/projects/mara-mybox/files/
Cloud Storage https://pan.baidu.com/s/1fWMRzym_jh075OCX0D8y8A#list/path=%2F

Documents

Name Version Time English Chinese
Development Logs 6.8 2024-2-9 html html
Shortcuts and icon 6.8 2024-2-9 html html
Functions list 6.8 2024-2-9 html html
Packing Steps 6.7.2 2023-4-16 html html
Development Guide 2.1 2020-8-27 PDF odt PDF odt
User Guide - Overview 6.8 2024-2-9 html PDF odt html PDF odt
User Guide - Data Tools 6.7.2 2023-4-16 html PDF odt html PDF odt
User Guide - Document Tools 6.7.1 2023-3-13 html PDF odt html PDF odt
User Guide - Image Tools 6.7.2 2023-4-16 html PDF odt html PDF odt
User Guide - File Tools 6.7.1 2023-3-13 html PDF odt html PDF odt
User Guide - Network Tools 6.7.2 2023-4-16 html PDF odt html PDF odt
User Guide - Media Tools 6.7.1 2023-3-13 html PDF odt html PDF odt
User Guide - Development Tools 6.7.1 2023-3-13 html PDF odt html PDF odt
Tips in Interfaces 6.8 2024-2-9 html html
About - Tree Information 6.8 2024-2-9 html html
About - Data in Two-dimensional Storage Structure 6.7.3 2023-5-22 html html
About - row expression and row filter 6.7.2 2023-4-16 html html
About - data grouping 6.7.1 2023-3-13 html html
About - Data Analysis 6.6.1 2022-11-16 html html
About - Coordinate System 6.6.1 2022-11-16 html html
About - Color 6.6.1 2022-11-16 html html
About - Image Scope 6.8 2024-2-9 html html
About - Media 6.6.1 2022-11-16 html html
About - Items in one sentence about java 6.7.3 2023-5-22 html html
About - Items in one sentence about javafx 6.7.3 2023-5-22 html html
Examples - Information in Tree 6.7.7 2023-9-30 html html
Examples - Favorite Address 6.7.7 2023-9-30 html html
Examples - Notes 6.7.7 2023-9-30 html html
Examples - SQL 6.7.7 2023-9-30 html html
Examples - JShell 6.7.7 2023-9-30 html html
Examples - JEXL 6.7.7 2023-9-30 html html
Examples - JavaScript 6.7.7 2023-9-30 html html
Examples - Math Function 6.7.7 2023-9-30 html html
Examples - Row Filter 6.7.7 2023-9-30 html html
Examples - Define Data 6.7.7 2023-9-30 html html
Palette - Default Colors 6.7.8 2024-1-15 rgba all rgba all
Palette - Common Web Colors 6.7.8 2024-1-15 rgba all rgba all
Palette - Chinese Traditional Colors 6.7.8 2024-1-15 rgba all rgba all
Palette - Japanese Traditional Colors 6.7.8 2024-1-15 rgba all rgba all
Palette - Colors from colorhexa.com 6.7.8 2024-1-15 rgba all rgba all
Palette - Art hues wheel(RYB) - 12 colors 6.7.8 2024-1-15 rgba all rgba all
Palette - Art hues wheel(RYB) - 24 colors 6.7.8 2024-1-15 rgba all rgba all
Palette - Art hues wheel(RYB) - 360 colors 6.7.8 2024-1-15 rgba all rgba all
Palette - Optical hues wheel(RGB) - 12 colors 6.7.8 2024-1-15 rgba all rgba all
Palette - Optical hues wheel(RGB) - 24 colors 6.7.8 2024-1-15 rgba all rgba all
Palette - Optical hues wheel(RGB) - 360 colors 6.7.8 2024-1-15 rgba all rgba all
Palette - Art paints 6.7.8 2024-1-15 rgba all rgba all
Palette - MyBox Colors 6.7.8 2024-1-15 rgba all rgba all
Palette - Gray scale 6.7.8 2024-1-15 rgba all rgba all
Stories of Images 6.8 2024-2-9 html PDF odt html PDF odt
Useful links 6.7.8 2024-1-15 html html

Implementation

MyBox is based on following open sources:

Name Role Link
JDK Java http://jdk.java.net/
https://www.oracle.com/technetwork/java/javase/downloads/index.html
https://docs.oracle.com/en/java/javase/21/docs/api/index.html
JavaFx GUI https://gluonhq.com/products/javafx/
https://docs.oracle.com/javafx/2/
https://gluonhq.com/products/scene-builder/
https://openjfx.io/javadoc/21/
Derby Database http://db.apache.org/derby/
NetBeans IDE https://netbeans.org/
jpackage pack https://docs.oracle.com/en/java/javase/21/docs/specs/man/jpackage.html
maven build https://maven.apache.org/
jai-imageio Image manufacture https://github.com/jai-imageio/jai-imageio-core
PDFBox PDF manufacture https://pdfbox.apache.org/
PDF2DOM PDF to html http://cssbox.sourceforge.net/pdf2dom/
GifDecoder Decode broken gif https://github.com/DhyanB/Open-Imaging/
EncodingDetect Determine encoding of text file https://www.cnblogs.com/ChurchYim/p/8427373.html
Lindbloom Color theory http://brucelindbloom.com/index.html
Free Icons Icon https://icons8.com/icons/set/home
tess4j OCR https://github.com/nguyenq/tess4j
tesseract OCR https://github.com/tesseract-ocr/tesseract
barcode4j Create barcodes http://barcode4j.sourceforge.net
zxing Create/Decode barcodes https://github.com/zxing/zxing
flexmark-java Convert Markdown https://github.com/vsch/flexmark-java
commons-compress archive/compress https://commons.apache.org/proper/commons-compress
XZ for Java archive/compress https://tukaani.org/xz/java.html
ffmpeg convert/create medias http://ffmpeg.org
image4j ico format https://github.com/imcdonagh/image4j
AutoCommitCell Submit updates https://stackoverflow.com/questions/24694616(Ogmios)
GaoDe Map https://lbs.amap.com/api/javascript-api/summary
GaoDe Coordinate https://lbs.amap.com/api/webservice/guide/api/georegeo
WeiBo Image materials https://weibo.com/3876734080/InmB1aPiL?type=comment#_rnd1582211299665
poi Microsoft Documents https://poi.apache.org
LabeledBarChart Javafx charts https://stackoverflow.com/questions/34286062/how-to-clear-text-added-in-a-javafx-barchart/41494789#41494789 (Roland)
commons-csv CSV https://commons.apache.org/proper/commons-csv/
geonames Location data https://www.geonames.org/countries/
world-area Location data https://github.com/wizardcode/world-area
China National Bureau of Statistics Data http://www.stats.gov.cn/tjsj/tjbz/tjyqhdmhcxhfdm/
JHU COVID-19 data https://github.com/CSSEGISandData/COVID-19
Website Color data https://tool.lanrentuku.com/color/china.html
Book Materials https://book.douban.com/subject/3894923/
National Geomatics Center of China Map http://lbs.tianditu.gov.cn/api/js4.0/guide.html
movebank Location data https://www.datarepository.movebank.org
CoordinateConverter convert coordinates https://www.jianshu.com/p/c39a2c72dc65?from=singlemessage
JavaMail email https://javaee.github.io/javamail/
Commons IO File IO https://commons.apache.org/proper/commons-io/
colorhexa Color data https://www.colorhexa.com/color-names
WQY Font file http://wenq.org/wqy2/
ttc2ttf Extract ttf https://github.com/fermi1981/TTC_TTF
Book Materials https://book.douban.com/subject/10465940/
sfds Handwriting https://sfzd.hwcha.com
PaginatedPdfTable PDF https://github.com/eduardohl/Paginated-PDFBox-Table-Sample
jsoup html https://jsoup.org/
ZhiHu Materials https://www.zhihu.com/question/41580677/answer/1300242801
commons-math Calculation https://commons.apache.org/proper/commons-math/index.html
JEXL Calculation https://commons.apache.org/proper/commons-jexl
OpenOffice Document http://www.openoffice.org/
nashorn JavaScript https://openjdk.org/projects/nashorn/
echarts-gl WebGL https://github.com/ecomfe/echarts-gl
RYB hues art colors https://blog.csdn.net/weixin_44938037/article/details/90599711
jsch sftp http://www.jcraft.com/jsch/
jackson json https://github.com/FasterXML/jackson
batik SVG https://xmlgraphics.apache.org/batik/
jankovicsandras SVG https://github.com/jankovicsandras/imagetracerjava
miguelemosreverte SVG https://github.com/miguelemosreverte/imagetracerjava

Features

Cross Platforms

MyBox is implemented in pure Java and only based on open sources, and it can run on platforms which support Java 21.
Versions before v5.3 are based on Java 8.

Internationalized

  1. All codes of MyBox are internationalized. Language can be switched in time.
  2. Each langauge is defined in one resource file, like: “Messages_NAME.properties”.
  3. Support adding new languages online. Table is provided with English as comparison. New langauges take effects at once.
    Example, the new language is named as “aa”, and its resource file is “Messages_aa.properties”.
  4. Translated languages can be shared with others: Put the files under “mybox_languages” of data path and MyBox is aware of them immediately.
  5. Embed Chinese and English, whose files are under path MyBox/src/main/resources/bundles/.
Language Resource file of interface
Chinese Messages_zh_CN.properties
English Messages_en.properties

Personal

  1. All functions are executed in local host.
  2. All data are stored in local host.
  3. No register/login/DataCenter/Cloud.
  4. Access network only when user requests.
  5. Only read/write data which user need.

Friendly

  1. Provide tips of current function/interface.
  2. Remember user’s inputs or selections, and provide histories list.
  3. Interfaces can be adjusted and some panes can be hidden.
  4. Behaviours of some controls can be chosen.
  5. Provide context menu and function menu to texts/image/html/table/tree.
  6. Current texts/image/html/data can be popped.
  7. Clipboards of texts/image/data can be managed.
  8. Provide examples and useful information.
  9. Appearance of interface and controls can be chosen and modified.

Data Compatible

  1. Exported data are in common text formats, like txt/csv/xml/json/html.
  2. Imported data are in common text format, like txt/csv.
  3. At least one exported format can be imported.
  4. Imported data are self-contain, that original data can be rebuilt without extra data.

Embedded Database System

  1. Derby is free and open sources:
  2. Derby runs in embedded mode by default:
  3. Derby can run in network mode:
  4. MyBox internal tables store the data required by all functions. User can access and modify the internal data online.
  5. User can define customized database tables.
  6. User can view and edit definitons and data of database tables in paginated tables, and execute SQL statements.
  7. To implement data sorting, tranposing, statistic, and grouping, MyBox will create temporary database tables, and clear them in time.

Assit Coding Self

  1. Monitor memory/CPU usage in real time.
  2. Adjust logging online.
  3. Generate icons automatically.
  4. Edit and apply languages online.
  5. Test automatically.
  6. All kinds of documents.

Snapshots

Snap-cover

Snap-interface

Snap-table