Compare commits

...

87 Commits
0.27 ... 0.31

Author SHA1 Message Date
Karl Tauber
d134c33499 release 0.31 2020-04-20 11:44:00 +02:00
Karl Tauber
a2b615d4a7 focus indication border (or background) no longer hidden when temporary loosing focus (e.g. showing a popup menu) 2020-04-20 11:27:29 +02:00
Karl Tauber
2e1acb7871 List, Table and Tree: item selection color of focused components no longer change from blue to gray when temporary loosing focus (e.g. showing a popup menu) 2020-04-17 19:14:48 +02:00
Karl Tauber
97a1bf90a4 README.md: added Total Validator and GUIslice Builder to list of projects that use FlatLaf 2020-04-14 10:16:37 +02:00
Karl Tauber
7d3ffbc45a README.md: added MegaMek and MekHQ to list of projects that use FlatLaf 2020-04-09 17:26:08 +02:00
Karl Tauber
93ac6fa88a README.md: added XMLmind XML Editor, MeteoInfo and lsfusion platform to list of projects that use FlatLaf 2020-04-09 14:43:14 +02:00
Karl Tauber
09d19a13b7 release 0.30 2020-04-09 13:51:11 +02:00
Karl Tauber
9eaee8d2c4 Windows: fixed rendering of Unicode characters (issue #81) 2020-04-09 13:39:37 +02:00
Karl Tauber
4da0c342f8 Theme Editor: paint real colors and HSL values in overlay on right side of editor (instead of behind editor text; previous commit) 2020-04-06 15:42:58 +02:00
Karl Tauber
70fed22737 Theme Editor: use real colors as background of color strings 2020-04-05 23:18:39 +02:00
Karl Tauber
acb62e347a Theme Editor: mark invalid color values with a curly underline 2020-04-05 18:04:28 +02:00
Karl Tauber
78d06d82d6 Theme Editor: fixed mark occurrences for property references (starting with '$') and property references in function parameters 2020-04-05 17:16:09 +02:00
Karl Tauber
4777bdd250 Theme Editor: do not mark token at caret if it does not occur elsewhere 2020-04-05 15:23:40 +02:00
Karl Tauber
266e9d92d5 Theme Editor: enabled mark occurrences 2020-04-05 14:37:25 +02:00
Karl Tauber
54c14d0dc8 Theme Editor: added editor theme 2020-04-05 11:56:28 +02:00
Karl Tauber
d59d353c2e Theme Editor: added token maker (based on .properties token maker) 2020-04-04 23:32:48 +02:00
Karl Tauber
204da2175b Theme Editor: initial commit 2020-04-04 14:13:20 +02:00
Karl Tauber
152f235ca1 release 0.29 2020-04-01 23:26:47 +02:00
Karl Tauber
d094709dc8 ComboBox: no longer ignore JComboBox.prototypeDisplayValue when computing popup width (issue #80) 2020-03-31 18:53:55 +02:00
Karl Tauber
97d5792341 ComboBox: made class FlatComboPopup protected to allow subclassing (issue #80) 2020-03-31 17:29:12 +02:00
Karl Tauber
9429ba7d48 support specifying custom scale factor in system property flatlaf.uiScale also for Java 9 and later 2020-03-31 12:17:05 +02:00
Karl Tauber
af89dd13c1 support changing default font used for all components with automatic scaling UI if using larger font 2020-03-31 12:15:51 +02:00
Karl Tauber
60c6c5b37a FlatLineBorder: support specifying painted line thickness 2020-03-29 23:30:04 +02:00
Karl Tauber
5ed40cab1d Demo: support using own FlatLaf themes (.properties files) that are located in working directory of Demo application 2020-03-29 18:02:35 +02:00
Karl Tauber
1bebfe9cf2 IntelliJ Themes Demo: updated Arc, Arc Orange and Hiberbee themes (used IJThemesUpdater) 2020-03-28 09:41:51 +01:00
Karl Tauber
e2618c37a2 Testing: added "size variant" combobox to control bar if Aqua or Nimbus LaF are active 2020-03-28 09:41:03 +01:00
Karl Tauber
f2ab848c46 FlatOptionPaneTest: scroll pane added 2020-03-27 23:49:25 +01:00
Karl Tauber
93b82c0e97 FlatDefaultsAddon: added afterDefaultsLoading() method to allow modification of UI defaults by Addons 2020-03-27 23:21:55 +01:00
Karl Tauber
4ac5ad06f2 IntelliJ Themes: simplified applying theme properties to UI defaults 2020-03-27 18:54:30 +01:00
Karl Tauber
a3788038bb Tree: fixed repainting wide selection on focus gained/lost 2020-03-27 10:51:20 +01:00
Karl Tauber
12af2de99e no longer use system property sun.java2d.uiScale (Java 8 only) 2020-03-27 10:44:43 +01:00
Karl Tauber
225b722b1b Linux: fixed wrong font size if GDK_SCALE environment variable is set or if running on JetBrains Runtime (issue #69) 2020-03-26 17:20:09 +01:00
Karl Tauber
1d9c8ca65e Linux: fixed scaling if GDK_SCALE environment variable is set or if running on JetBrains Runtime (issue #69) 2020-03-26 13:06:12 +01:00
Karl Tauber
e51ffe2a1c release 0.28 2020-03-16 22:47:44 +01:00
Karl Tauber
c706a79f74 UIScale: fixed NPE in getSystemScaleFactor() (occurred in progress bar on startup in NB) 2020-03-16 22:46:33 +01:00
Karl Tauber
2608061d48 reviewed (and tested) all key bindings on macOS 2020-03-16 15:20:17 +01:00
Karl Tauber
df1634de3d FlatTestFrame: add JGoodies Windows LaF only when running on Windows 2020-03-15 10:21:28 +01:00
Karl Tauber
4aeabea3fe UI defaults: updated FlatLightLaf_InputMap_1.8.0_202-mac.txt on Mac 2020-03-15 10:16:28 +01:00
Karl Tauber
eb30f9d5bf copy all font attributes in FlatUIUtils.nonUIResource() and when scaling fonts (issue #75) 2020-03-12 11:22:43 +01:00
Karl Tauber
de718f847c README.md: added KeyStore Explorer and OWASP Zed Attack Proxy (ZAP) to list of projects that use FlatLaf 2020-03-12 11:15:10 +01:00
Karl Tauber
8835e20bfc .editorconfig: added Java code style for IntelliJ IDEA (#71) 2020-02-28 15:00:04 +01:00
Karl Tauber
92258f3ba3 ScrollBar: improved colors
Table: use color functions
2020-02-27 12:49:43 +01:00
Karl Tauber
1bda7595dd UI defaults: support dumping IntelliJ and Darcula themes (disabled) 2020-02-27 11:52:42 +01:00
Karl Tauber
60557fc8c8 reviewed (and tested) all key bindings on Windows 2020-02-26 23:47:38 +01:00
Karl Tauber
1a4a7831f6 UI defaults: support dumping 3rd party LaFs 2020-02-26 23:34:49 +01:00
Karl Tauber
d1415a8c53 TabbedPane: support Ctrl+TAB/Ctrl+Shift+TAB to switch to next/previous tab if a child of tabbedpane has focus 2020-02-26 00:11:10 +01:00
Karl Tauber
0d4f33ac6e ScrollBar: fixed left/right keys in right-to-left component orientation 2020-02-25 16:59:30 +01:00
Karl Tauber
87100bef7b re-worked Aqua LaF initialization of macOS 2020-02-24 22:51:36 +01:00
Karl Tauber
958dfa8ae9 UI defaults: get rid of Aqua InputMaps on macOS 2020-02-24 20:44:14 +01:00
Karl Tauber
d3752573e7 FlatInputMaps: use static import for DefaultEditorKit and changed order of keys
(nothing else changed)
2020-02-24 13:16:24 +01:00
Karl Tauber
cfd07cbcc8 PasswordField: warn about enabled Caps Lock 2020-02-23 13:15:12 +01:00
Karl Tauber
33e6ce1673 UI defaults: get rid of unused Aqua UI defaults on macOS
UI defaults on macOS are now (nearly) equal to other platforms.
There are only minor platform specific differences.
InputMaps are still used from Aqua LaF.
2020-02-23 10:57:37 +01:00
Karl Tauber
00ccda83f9 UIScale: default font size on macOS is 13 2020-02-22 14:39:43 +01:00
Karl Tauber
8d66cce6eb README.md: fixed Twitter link 2020-02-22 14:35:41 +01:00
Karl Tauber
ba35fb7525 Panel: added UI delegate 2020-02-21 22:28:58 +01:00
Karl Tauber
4fd2b24b10 README.md: fixed Twitter link 2020-02-21 19:10:27 +01:00
Karl Tauber
5f7a33b085 README.md: Buzz section added 2020-02-21 18:56:32 +01:00
Karl Tauber
65bc5b1f31 README.md: added mendelson AS2, AS4 and OFTP2 to list of projects that use FlatLaf 2020-02-21 18:42:44 +01:00
Karl Tauber
dd155e9f89 CheckBox and RadioButton: fixed NPE when button has children (similar to PR #68) 2020-02-21 16:52:38 +01:00
Karl T
5c4ef3b0f5 Merge pull request #68 from basix86/FlatButtonUi
FlatButtonUI getPreferredSize nullPointer fix
2020-02-21 16:33:56 +01:00
mmatessi
2129a48cc8 FlatButtonUI.getPreferredSize fix nullPointer when button.getComponentCount()>0 2020-02-21 10:34:57 +01:00
mmatessi
c0f2784599 FlatButtonUI.getPreferredSize fix nullPointer when button.getComponentCount()>0 2020-02-21 10:32:25 +01:00
Karl Tauber
fee00b2acb UI defaults: replaced "base" Metal LaF with BasicLookAndFeel (on Windows and Linux)
(UI defaults dumps did not change, so UI defaults are equal to Metal defaults)
2020-02-19 16:47:02 +01:00
Karl Tauber
ae8093313e UI defaults: add text antialiasing hint
(preparation for replacing "base" Metal LaF with BasicLookAndFeel)
2020-02-19 15:35:29 +01:00
Karl Tauber
5a4e321f78 UI defaults: added/modified InputMaps (on Windows and Linux) so that they are equal to Metal LaF InputMaps when using Basic LaF as base
(preparation for replacing "base" Metal LaF with BasicLookAndFeel)
2020-02-19 09:15:20 +01:00
Karl Tauber
9d1ed241b9 UI defaults: removed optional "pressed " from InputMap dumps (to make it easier to read) 2020-02-18 22:41:04 +01:00
Karl Tauber
b63cd241d2 refactored InputMap code into own class 2020-02-18 18:09:49 +01:00
Karl Tauber
1e4f2d85a2 UI defaults: removed FlatDarkLaf InputMap dumps because they are equal to the Light versions 2020-02-18 18:08:14 +01:00
Karl Tauber
5cb7be4a64 UI defaults: added Java 8 - 13 dumps of NimbusLookAndFeel
(only checked in dumps that are not equal to version predecessor)
2020-02-18 17:45:27 +01:00
Karl Tauber
0cd9068c0e UI defaults: split InputMap dumps into own files
(only checked in dumps that are not equal to version predecessor)
2020-02-18 17:40:21 +01:00
Karl Tauber
9d6afe3bde UI defaults: removed dumps that are equal to version predecessor 2020-02-18 17:04:24 +01:00
Karl Tauber
52702b5267 ColorChooser: use scaled dimension instead of temporary modifying UI defaults 2020-02-18 14:32:15 +01:00
Karl Tauber
cd144ff067 UI defaults: added UI values that are defined in MetalLookAndFeel but not in BasicLookAndFeel
also added UI values that have different values in Metal and Basic LaF

(preparation for replacing "base" Metal LaF with BasicLookAndFeel)
2020-02-18 13:49:19 +01:00
Karl Tauber
dd9784b3f2 UI defaults: added UI values that are defined in MetalLookAndFeel but not in BasicLookAndFeel; also added UI values that have different values in Metal and Basic LaF
(preparation for replacing "base" Metal LaF with BasicLookAndFeel)
2020-02-18 13:36:07 +01:00
Karl Tauber
d781b3d4a7 FlatLaf.getDefaults() simplified 2020-02-18 13:24:34 +01:00
Karl Tauber
790f490674 replaced MetalRootPaneUI on Windows and Linux (issue #47)
(preparation for replacing "base" Metal LaF with BasicLookAndFeel)
2020-02-18 12:52:53 +01:00
Karl Tauber
004a5cb765 UI defaults: added some missing colors an set unused colors to useful values 2020-02-18 12:11:58 +01:00
Karl Tauber
408b2d8376 Merge branch 'uidefaults-review' into master
# Conflicts:
#	flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatDarkLaf_1.8.0_202.txt
#	flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatLightLaf_1.8.0_202.txt
2020-02-18 00:43:17 +01:00
Karl Tauber
3aa53ff3be CHANGELOG.md: Gradianto themes 2020-02-17 23:36:22 +01:00
Karl Tauber
73b642799d UI defaults dumps updated 2020-02-17 23:35:38 +01:00
Karl Tauber
b522500379 TextField, FormattedTextField and PasswordField: support round border (issue #65) 2020-02-17 22:39:16 +01:00
Karl Tauber
f736ed401f - tuned/fixed component border painting
- HiDPIUtils.paintAtScale1x() now also works if the Graphics is scaled (as in FlatPaintingTest)
- FlatPaintingTest added
2020-02-17 22:19:36 +01:00
Karl Tauber
c02f824d74 FlatInspector: added layout manager and insets UI resource 2020-02-17 11:28:56 +01:00
Karl Tauber
6f9a61de56 IntelliJ Themes Demo: updated Arc, Arc Orange and Nord themes (used IJThemesUpdater) 2020-02-17 11:22:07 +01:00
Karl Tauber
4cebeda37a IntelliJ Themes: added popular Gradianto IntelliJ themes to demo 2020-02-17 11:16:27 +01:00
Karl Tauber
4275005a64 FlatTestFrame: avoid initializing LaF classes in isClassAvailable() because this invokes static class initialization, which logs a reflection warning on Java 13 for WebLaf 2020-02-17 10:13:48 +01:00
Karl Tauber
11950f8b4d UI defaults: removed unused UI defaults from "base" Metal LaF 2020-02-13 10:52:19 +01:00
127 changed files with 20505 additions and 33398 deletions

View File

@@ -6,3 +6,231 @@ insert_final_newline = true
charset = latin1 charset = latin1
indent_style = tab indent_style = tab
indent_size = 4 indent_size = 4
[*.java]
indent_style = tab
ij_continuation_indent_size = 4
ij_java_align_consecutive_assignments = false
ij_java_align_consecutive_variable_declarations = false
ij_java_align_group_field_declarations = false
ij_java_align_multiline_annotation_parameters = false
ij_java_align_multiline_array_initializer_expression = false
ij_java_align_multiline_assignment = false
ij_java_align_multiline_binary_operation = false
ij_java_align_multiline_chained_methods = false
ij_java_align_multiline_extends_list = false
ij_java_align_multiline_for = true
ij_java_align_multiline_method_parentheses = false
ij_java_align_multiline_parameters = false
ij_java_align_multiline_parameters_in_calls = false
ij_java_align_multiline_parenthesized_expression = false
ij_java_align_multiline_resources = false
ij_java_align_multiline_ternary_operation = false
ij_java_align_multiline_text_blocks = false
ij_java_align_multiline_throws_list = false
ij_java_align_subsequent_simple_methods = false
ij_java_align_throws_keyword = false
ij_java_annotation_parameter_wrap = off
ij_java_array_initializer_new_line_after_left_brace = false
ij_java_array_initializer_right_brace_on_new_line = false
ij_java_array_initializer_wrap = normal
ij_java_assert_statement_colon_on_next_line = false
ij_java_assert_statement_wrap = off
ij_java_assignment_wrap = off
ij_java_binary_operation_sign_on_next_line = false
ij_java_binary_operation_wrap = off
ij_java_blank_lines_after_anonymous_class_header = 0
ij_java_blank_lines_after_class_header = 0
ij_java_blank_lines_after_imports = 1
ij_java_blank_lines_after_package = 1
ij_java_blank_lines_around_class = 1
ij_java_blank_lines_around_field = 0
ij_java_blank_lines_around_field_in_interface = 0
ij_java_blank_lines_around_initializer = 1
ij_java_blank_lines_around_method = 1
ij_java_blank_lines_around_method_in_interface = 1
ij_java_blank_lines_before_class_end = 0
ij_java_blank_lines_before_imports = 1
ij_java_blank_lines_before_method_body = 0
ij_java_blank_lines_before_package = 0
ij_java_block_brace_style = next_line_if_wrapped
ij_java_block_comment_at_first_column = true
ij_java_call_parameters_new_line_after_left_paren = false
ij_java_call_parameters_right_paren_on_new_line = false
ij_java_call_parameters_wrap = normal
ij_java_case_statement_on_separate_line = true
ij_java_catch_on_new_line = false
ij_java_class_annotation_wrap = split_into_lines
ij_java_class_brace_style = next_line
ij_java_class_count_to_use_import_on_demand = 99
ij_java_class_names_in_javadoc = 1
ij_java_do_not_indent_top_level_class_members = false
ij_java_do_not_wrap_after_single_annotation = false
ij_java_do_while_brace_force = never
ij_java_doc_add_blank_line_after_description = true
ij_java_doc_add_blank_line_after_param_comments = false
ij_java_doc_add_blank_line_after_return = false
ij_java_doc_add_p_tag_on_empty_lines = true
ij_java_doc_align_exception_comments = true
ij_java_doc_align_param_comments = true
ij_java_doc_do_not_wrap_if_one_line = false
ij_java_doc_enable_formatting = true
ij_java_doc_enable_leading_asterisks = true
ij_java_doc_indent_on_continuation = false
ij_java_doc_keep_empty_lines = true
ij_java_doc_keep_empty_parameter_tag = true
ij_java_doc_keep_empty_return_tag = true
ij_java_doc_keep_empty_throws_tag = true
ij_java_doc_keep_invalid_tags = true
ij_java_doc_param_description_on_new_line = false
ij_java_doc_preserve_line_breaks = false
ij_java_doc_use_throws_not_exception_tag = true
ij_java_else_on_new_line = false
ij_java_enum_constants_wrap = off
ij_java_extends_keyword_wrap = split_into_lines
ij_java_extends_list_wrap = normal
ij_java_field_annotation_wrap = split_into_lines
ij_java_finally_on_new_line = false
ij_java_for_brace_force = never
ij_java_for_statement_new_line_after_left_paren = false
ij_java_for_statement_right_paren_on_new_line = false
ij_java_for_statement_wrap = off
ij_java_generate_final_locals = false
ij_java_generate_final_parameters = false
ij_java_if_brace_force = never
ij_java_imports_layout = java.**,javax.**,*,$*
ij_java_indent_case_from_switch = true
ij_java_insert_inner_class_imports = false
ij_java_insert_override_annotation = true
ij_java_keep_blank_lines_before_right_brace = 1
ij_java_keep_blank_lines_between_package_declaration_and_header = 1
ij_java_keep_blank_lines_in_code = 1
ij_java_keep_blank_lines_in_declarations = 1
ij_java_keep_control_statement_in_one_line = false
ij_java_keep_first_column_comment = false
ij_java_keep_indents_on_empty_lines = false
ij_java_keep_line_breaks = false
ij_java_keep_multiple_expressions_in_one_line = false
ij_java_keep_simple_blocks_in_one_line = false
ij_java_keep_simple_classes_in_one_line = false
ij_java_keep_simple_lambdas_in_one_line = false
ij_java_keep_simple_methods_in_one_line = false
ij_java_label_indent_absolute = false
ij_java_label_indent_size = 0
ij_java_lambda_brace_style = end_of_line
ij_java_layout_static_imports_separately = true
ij_java_line_comment_add_space = false
ij_java_line_comment_at_first_column = true
ij_java_method_annotation_wrap = split_into_lines
ij_java_method_brace_style = next_line_if_wrapped
ij_java_method_call_chain_wrap = normal
ij_java_method_parameters_new_line_after_left_paren = false
ij_java_method_parameters_right_paren_on_new_line = false
ij_java_method_parameters_wrap = normal
ij_java_modifier_list_wrap = false
ij_java_names_count_to_use_import_on_demand = 3
ij_java_parameter_annotation_wrap = off
ij_java_parentheses_expression_new_line_after_left_paren = false
ij_java_parentheses_expression_right_paren_on_new_line = false
ij_java_place_assignment_sign_on_next_line = false
ij_java_prefer_longer_names = true
ij_java_prefer_parameters_wrap = false
ij_java_repeat_synchronized = true
ij_java_replace_instanceof_and_cast = false
ij_java_replace_null_check = true
ij_java_replace_sum_lambda_with_method_ref = true
ij_java_resource_list_new_line_after_left_paren = false
ij_java_resource_list_right_paren_on_new_line = false
ij_java_resource_list_wrap = normal
ij_java_space_after_closing_angle_bracket_in_type_argument = false
ij_java_space_after_colon = true
ij_java_space_after_comma = true
ij_java_space_after_comma_in_type_arguments = true
ij_java_space_after_for_semicolon = true
ij_java_space_after_quest = true
ij_java_space_after_type_cast = true
ij_java_space_before_annotation_array_initializer_left_brace = true
ij_java_space_before_annotation_parameter_list = false
ij_java_space_before_array_initializer_left_brace = true
ij_java_space_before_catch_keyword = true
ij_java_space_before_catch_left_brace = true
ij_java_space_before_catch_parentheses = false
ij_java_space_before_class_left_brace = true
ij_java_space_before_colon = true
ij_java_space_before_colon_in_foreach = true
ij_java_space_before_comma = false
ij_java_space_before_do_left_brace = true
ij_java_space_before_else_keyword = true
ij_java_space_before_else_left_brace = true
ij_java_space_before_finally_keyword = true
ij_java_space_before_finally_left_brace = true
ij_java_space_before_for_left_brace = true
ij_java_space_before_for_parentheses = false
ij_java_space_before_for_semicolon = false
ij_java_space_before_if_left_brace = true
ij_java_space_before_if_parentheses = false
ij_java_space_before_method_call_parentheses = false
ij_java_space_before_method_left_brace = true
ij_java_space_before_method_parentheses = false
ij_java_space_before_opening_angle_bracket_in_type_parameter = false
ij_java_space_before_quest = true
ij_java_space_before_switch_left_brace = true
ij_java_space_before_switch_parentheses = false
ij_java_space_before_synchronized_left_brace = true
ij_java_space_before_synchronized_parentheses = false
ij_java_space_before_try_left_brace = true
ij_java_space_before_try_parentheses = false
ij_java_space_before_type_parameter_list = false
ij_java_space_before_while_keyword = true
ij_java_space_before_while_left_brace = true
ij_java_space_before_while_parentheses = false
ij_java_space_inside_one_line_enum_braces = false
ij_java_space_within_empty_array_initializer_braces = false
ij_java_space_within_empty_method_call_parentheses = false
ij_java_space_within_empty_method_parentheses = false
ij_java_spaces_around_additive_operators = true
ij_java_spaces_around_assignment_operators = true
ij_java_spaces_around_bitwise_operators = true
ij_java_spaces_around_equality_operators = true
ij_java_spaces_around_lambda_arrow = true
ij_java_spaces_around_logical_operators = true
ij_java_spaces_around_method_ref_dbl_colon = false
ij_java_spaces_around_multiplicative_operators = true
ij_java_spaces_around_relational_operators = true
ij_java_spaces_around_shift_operators = true
ij_java_spaces_around_type_bounds_in_type_parameters = true
ij_java_spaces_around_unary_operator = false
ij_java_spaces_within_angle_brackets = false
ij_java_spaces_within_annotation_parentheses = true
ij_java_spaces_within_array_initializer_braces = true
ij_java_spaces_within_braces = false
ij_java_spaces_within_brackets = false
ij_java_spaces_within_cast_parentheses = false
ij_java_spaces_within_catch_parentheses = true
ij_java_spaces_within_for_parentheses = true
ij_java_spaces_within_if_parentheses = true
ij_java_spaces_within_method_call_parentheses = true
ij_java_spaces_within_method_parentheses = true
ij_java_spaces_within_parentheses = false
ij_java_spaces_within_switch_parentheses = true
ij_java_spaces_within_synchronized_parentheses = true
ij_java_spaces_within_try_parentheses = true
ij_java_spaces_within_while_parentheses = true
ij_java_special_else_if_treatment = true
ij_java_subclass_name_suffix = Impl
ij_java_ternary_operation_signs_on_next_line = true
ij_java_ternary_operation_wrap = on_every_item
ij_java_test_name_suffix = Test
ij_java_throws_keyword_wrap = normal
ij_java_throws_list_wrap = normal
ij_java_use_external_annotations = false
ij_java_use_fq_class_names = false
ij_java_use_relative_indents = false
ij_java_use_single_class_imports = true
ij_java_variable_annotation_wrap = off
ij_java_visibility = public
ij_java_while_brace_force = never
ij_java_while_on_new_line = false
ij_java_wrap_comments = false
ij_java_wrap_first_method_in_call_chain = false
ij_java_wrap_long_lines = false

View File

@@ -1,6 +1,54 @@
FlatLaf Change Log FlatLaf Change Log
================== ==================
## 0.31
- Focus indication border (or background) no longer hidden when temporary
loosing focus (e.g. showing a popup menu).
- List, Table and Tree: Item selection color of focused components no longer
change from blue to gray when temporary loosing focus (e.g. showing a popup
menu).
## 0.30
- Windows: Fixed rendering of Unicode characters. Previously not all Unicode
characters were rendered on Windows. (issue #81)
## 0.29
- Linux: Fixed scaling if `GDK_SCALE` environment variable is set or if running
on JetBrains Runtime. (issue #69)
- Tree: Fixed repainting wide selection on focus gained/lost.
- ComboBox: No longer ignore `JComboBox.prototypeDisplayValue` when computing
popup width. (issue #80)
- Support changing default font used for all components with automatic scaling
UI if using larger font. Use `UIManager.put( "defaultFont", myFont );`
- No longer use system property `sun.java2d.uiScale`. (Java 8 only)
- Support specifying custom scale factor in system property `flatlaf.uiScale`
also for Java 9 and later.
- Demo: Support using own FlatLaf themes (`.properties` files) that are located
in working directory of Demo application. Shown in the "Themes" list under
category "Current Directory".
## 0.28
- PasswordField: Warn about enabled Caps Lock.
- TabbedPane: Support <kbd>Ctrl+TAB</kbd> / <kbd>Ctrl+Shift+TAB</kbd> to switch
to next / previous tab.
- TextField, FormattedTextField and PasswordField: Support round borders (see UI
default value `TextComponent.arc`). (issue #65)
- IntelliJ Themes: Added Gradianto themes to demo.
- Button, CheckBox and RadioButton: Fixed NPE when button has children. (PR #68)
- ScrollBar: Improved colors.
- Reviewed (and tested) all key bindings on Windows and macOS. Linux key
bindings are equal to Windows key bindings. macOS key bindings are slightly
different for platform specific behavior.
- UI default values are no longer based on Metal/Aqua UI defaults.
## 0.27 ## 0.27
- Support `JInternalFrame` and `JDesktopPane`. (issues #39 and #11) - Support `JInternalFrame` and `JDesktopPane`. (issues #39 and #11)

View File

@@ -77,13 +77,36 @@ Projects using FlatLaf
- [NetBeans](https://netbeans.apache.org/) 11.3 - [NetBeans](https://netbeans.apache.org/) 11.3
- [jclasslib bytecode viewer](https://github.com/ingokegel/jclasslib) 5.5 - [jclasslib bytecode viewer](https://github.com/ingokegel/jclasslib) 5.5
- [KeyStore Explorer](https://keystore-explorer.org/) 5.4.3
- [OWASP Zed Attack Proxy (ZAP)](https://www.zaproxy.org/) (in weekly releases)
- [XMLmind XML Editor](https://www.xmlmind.com/xmleditor/) 9.3 (commercial)
- [Total Validator](https://www.totalvalidator.com/) 15 (commercial)
- [j-lawyer](https://github.com/jlawyerorg/j-lawyer-org) - [j-lawyer](https://github.com/jlawyerorg/j-lawyer-org)
- [MegaMek](https://github.com/MegaMek/megamek) v0.47.4 and
[MekHQ](https://github.com/MegaMek/mekhq) v0.47.5
- [GUIslice Builder](https://github.com/ImpulseAdventure/GUIslice-Builder)
0.13.b024
- [Rest Suite](https://github.com/supanadit/restsuite) - [Rest Suite](https://github.com/supanadit/restsuite)
- [ControllerBuddy](https://github.com/bwRavencl/ControllerBuddy) - [ControllerBuddy](https://github.com/bwRavencl/ControllerBuddy)
- [SpringRemote](https://github.com/HaleyWang/SpringRemote) - [SpringRemote](https://github.com/HaleyWang/SpringRemote)
- [mendelson AS2](https://sourceforge.net/projects/mec-as2/),
[AS4](https://sourceforge.net/projects/mendelson-as4/) and
[OFTP2](https://sourceforge.net/projects/mendelson-oftp2/) (open-source) and
[mendelson AS2](https://mendelson-e-c.com/as2/),
[AS4](https://mendelson-e-c.com/as4/) and
[OFTP2](https://mendelson-e-c.com/oftp2) (commercial)
- [MeteoInfo](https://github.com/meteoinfo/MeteoInfo) 2.1.6
- [lsfusion platform](https://github.com/lsfusion/platform)
- and more... - and more...
Buzz
----
- [What others say about FlatLaf on Twitter](https://twitter.com/search?f=live&q=flatlaf)
- [FlatLaf announcement on Reddit](https://www.reddit.com/r/java/comments/dl0hu3/flatlaf_flat_look_and_feel/)
Documentation Documentation
------------- -------------

View File

@@ -14,8 +14,8 @@
* limitations under the License. * limitations under the License.
*/ */
val releaseVersion = "0.27" val releaseVersion = "0.31"
val developmentVersion = "0.28-SNAPSHOT" val developmentVersion = "0.32-SNAPSHOT"
version = if( java.lang.Boolean.getBoolean( "release" ) ) releaseVersion else developmentVersion version = if( java.lang.Boolean.getBoolean( "release" ) ) releaseVersion else developmentVersion

View File

@@ -17,6 +17,8 @@
package com.formdev.flatlaf; package com.formdev.flatlaf;
import java.io.InputStream; import java.io.InputStream;
import javax.swing.LookAndFeel;
import javax.swing.UIDefaults;
/** /**
* Addon for FlatLaf UI defaults. * Addon for FlatLaf UI defaults.
@@ -50,6 +52,13 @@ public abstract class FlatDefaultsAddon
return addonClass.getResourceAsStream( propertiesName ); return addonClass.getResourceAsStream( propertiesName );
} }
/**
* Allows modifying UI defaults after loading UI defaults.
* The default implementation does nothing.
*/
public void afterDefaultsLoading( LookAndFeel laf, UIDefaults defaults ) {
}
/** /**
* Returns the priority used to sort addon loading. * Returns the priority used to sort addon loading.
* The order is only important if you want overwrite UI defaults of other addons. * The order is only important if you want overwrite UI defaults of other addons.

View File

@@ -0,0 +1,639 @@
/*
* Copyright 2020 FormDev Software GmbH
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.formdev.flatlaf;
import javax.swing.InputMap;
import javax.swing.JTextField;
import javax.swing.KeyStroke;
import javax.swing.LookAndFeel;
import javax.swing.UIDefaults;
import javax.swing.UIDefaults.LazyValue;
import javax.swing.plaf.InputMapUIResource;
import com.formdev.flatlaf.util.SystemInfo;
import static javax.swing.text.DefaultEditorKit.*;
/**
* @author Karl Tauber
*/
class FlatInputMaps
{
static void initInputMaps( UIDefaults defaults ) {
initBasicInputMaps( defaults );
initTextComponentInputMaps( defaults );
if( SystemInfo.IS_MAC )
initMacInputMaps( defaults );
}
private static void initBasicInputMaps( UIDefaults defaults ) {
defaults.put( "Button.focusInputMap", new UIDefaults.LazyInputMap( new Object[] {
"SPACE", "pressed",
"released SPACE", "released"
} ) );
modifyInputMap( defaults, "ComboBox.ancestorInputMap",
"SPACE", "spacePopup",
"UP", mac( "selectPrevious2", "selectPrevious" ),
"DOWN", mac( "selectNext2", "selectNext" ),
"KP_UP", mac( "selectPrevious2", "selectPrevious" ),
"KP_DOWN", mac( "selectNext2", "selectNext" ),
mac( "alt UP", null ), "togglePopup",
mac( "alt DOWN", null ), "togglePopup",
mac( "alt KP_UP", null ), "togglePopup",
mac( "alt KP_DOWN", null ), "togglePopup"
);
if( !SystemInfo.IS_MAC ) {
modifyInputMap( defaults, "FileChooser.ancestorInputMap",
"F2", "editFileName",
"BACK_SPACE", "Go Up"
);
}
// join ltr and rtl bindings to fix up/down/etc keys in right-to-left component orientation
Object[] bindings = (Object[]) defaults.get( "PopupMenu.selectedWindowInputMapBindings" );
Object[] rtlBindings = (Object[]) defaults.get( "PopupMenu.selectedWindowInputMapBindings.RightToLeft" );
if( bindings != null && rtlBindings != null ) {
Object[] newBindings = new Object[bindings.length + rtlBindings.length];
System.arraycopy( bindings, 0, newBindings, 0, bindings.length );
System.arraycopy( rtlBindings, 0, newBindings, bindings.length, rtlBindings.length );
defaults.put( "PopupMenu.selectedWindowInputMapBindings.RightToLeft", newBindings );
}
modifyInputMap( defaults, "TabbedPane.ancestorInputMap",
"ctrl TAB", "navigateNext",
"shift ctrl TAB", "navigatePrevious"
);
modifyInputMap( defaults, "Table.ancestorInputMap",
// swap to make it consistent with List and Tree
"HOME", "selectFirstRow",
"END", "selectLastRow",
mac( "ctrl HOME", null ), "selectFirstColumn",
mac( "ctrl END", null ), "selectLastColumn"
);
if( !SystemInfo.IS_MAC ) {
modifyInputMap( defaults, "Tree.focusInputMap",
"ADD", "expand",
"SUBTRACT", "collapse"
);
}
}
private static void initTextComponentInputMaps( UIDefaults defaults ) {
Object[] commonTextComponentBindings = {
// move caret one character (without selecting text)
"LEFT", backwardAction,
"RIGHT", forwardAction,
"KP_LEFT", backwardAction,
"KP_RIGHT", forwardAction,
// move caret one character and select text
"shift LEFT", selectionBackwardAction,
"shift RIGHT", selectionForwardAction,
"shift KP_LEFT", selectionBackwardAction,
"shift KP_RIGHT", selectionForwardAction,
// move caret to word (without selecting text)
mac( "ctrl LEFT", "alt LEFT" ), previousWordAction,
mac( "ctrl RIGHT", "alt RIGHT" ), nextWordAction,
mac( "ctrl KP_LEFT", "alt KP_LEFT" ), previousWordAction,
mac( "ctrl KP_RIGHT", "alt KP_RIGHT" ), nextWordAction,
// move caret to word and select text
mac( "ctrl shift LEFT", "shift alt LEFT" ), selectionPreviousWordAction,
mac( "ctrl shift RIGHT", "shift alt RIGHT" ), selectionNextWordAction,
mac( "ctrl shift KP_LEFT", "shift alt KP_LEFT" ), selectionPreviousWordAction,
mac( "ctrl shift KP_RIGHT", "shift alt KP_RIGHT" ), selectionNextWordAction,
// move caret to line begin/end (without selecting text)
mac( "HOME", "meta LEFT" ), beginLineAction,
mac( "END", "meta RIGHT" ), endLineAction,
// move caret to line begin/end and select text
mac( "shift HOME", "shift meta LEFT" ), selectionBeginLineAction,
mac( "shift END", "shift meta RIGHT" ), selectionEndLineAction,
// select all/none
mac( "ctrl A", "meta A" ), selectAllAction,
mac( "ctrl BACK_SLASH", "meta BACK_SLASH" ), "unselect", // DefaultEditorKit.unselectAction
// delete previous/next character
"BACK_SPACE", deletePrevCharAction,
"shift BACK_SPACE", deletePrevCharAction,
"ctrl H", deletePrevCharAction,
"DELETE", deleteNextCharAction,
// delete previous/next word
mac( "ctrl BACK_SPACE", "alt BACK_SPACE" ), deletePrevWordAction,
mac( "ctrl DELETE", "alt DELETE" ), deleteNextWordAction,
// clipboard
mac( "ctrl X", "meta X" ), cutAction,
mac( "ctrl C", "meta C" ), copyAction,
mac( "ctrl V", "meta V" ), pasteAction,
"CUT", cutAction,
"COPY", copyAction,
"PASTE", pasteAction,
mac( "shift DELETE", null ), cutAction,
mac( "control INSERT", null ), copyAction,
mac( "shift INSERT", null ), pasteAction,
// misc
"control shift O", "toggle-componentOrientation", // DefaultEditorKit.toggleComponentOrientation
};
Object[] macCommonTextComponentBindings = SystemInfo.IS_MAC ? new Object[] {
// move caret one character (without selecting text)
"ctrl B", backwardAction,
"ctrl F", forwardAction,
// move caret to document begin/end (without selecting text)
"HOME", beginAction,
"END", endAction,
"meta UP", beginAction,
"meta DOWN", endAction,
"meta KP_UP", beginAction,
"meta KP_DOWN", endAction,
"ctrl P", beginAction,
"ctrl N", endAction,
"ctrl V", endAction,
// move caret to line begin/end (without selecting text)
"meta KP_LEFT", beginLineAction,
"meta KP_RIGHT", endLineAction,
"ctrl A", beginLineAction,
"ctrl E", endLineAction,
// move caret to document begin/end and select text
"shift meta UP", selectionBeginAction,
"shift meta DOWN", selectionEndAction,
"shift meta KP_UP", selectionBeginAction,
"shift meta KP_DOWN", selectionEndAction,
"shift HOME", selectionBeginAction,
"shift END", selectionEndAction,
// move caret to line begin/end and select text
"shift meta KP_LEFT", selectionBeginLineAction,
"shift meta KP_RIGHT", selectionEndLineAction,
"shift UP", selectionBeginLineAction,
"shift DOWN", selectionEndLineAction,
"shift KP_UP", selectionBeginLineAction,
"shift KP_DOWN", selectionEndLineAction,
// delete previous/next word
"ctrl W", deletePrevWordAction,
"ctrl D", deleteNextCharAction,
} : null;
Object[] singleLineTextComponentBindings = {
"ENTER", JTextField.notifyAction,
};
Object[] macSingleLineTextComponentBindings = SystemInfo.IS_MAC ? new Object[] {
// move caret to line begin/end (without selecting text)
"UP", beginLineAction,
"DOWN", endLineAction,
"KP_UP", beginLineAction,
"KP_DOWN", endLineAction,
} : null;
Object[] formattedTextComponentBindings = {
// reset
"ESCAPE", "reset-field-edit",
// increment/decrement
"UP", "increment",
"DOWN", "decrement",
"KP_UP", "increment",
"KP_DOWN", "decrement",
};
Object[] passwordTextComponentBindings = {
// move caret to line begin/end (without selecting text)
mac( "ctrl LEFT", "alt LEFT" ), beginLineAction,
mac( "ctrl RIGHT", "alt RIGHT" ), endLineAction,
mac( "ctrl KP_LEFT", "alt KP_LEFT" ), beginLineAction,
mac( "ctrl KP_RIGHT", "alt KP_RIGHT" ), endLineAction,
// move caret to line begin/end and select text
mac( "ctrl shift LEFT", "shift alt LEFT" ), selectionBeginLineAction,
mac( "ctrl shift RIGHT", "shift alt RIGHT" ), selectionEndLineAction,
mac( "ctrl shift KP_LEFT", "shift alt KP_LEFT" ), selectionBeginLineAction,
mac( "ctrl shift KP_RIGHT", "shift alt KP_RIGHT" ), selectionEndLineAction,
// delete previous/next word
mac( "ctrl BACK_SPACE", "alt BACK_SPACE" ), null,
mac( "ctrl DELETE", "alt DELETE" ), null,
};
Object[] multiLineTextComponentBindings = {
// move caret one line (without selecting text)
"UP", upAction,
"DOWN", downAction,
"KP_UP", upAction,
"KP_DOWN", downAction,
// move caret one line and select text
"shift UP", selectionUpAction,
"shift DOWN", selectionDownAction,
"shift KP_UP", selectionUpAction,
"shift KP_DOWN", selectionDownAction,
// move caret one page (without selecting text)
"PAGE_UP", pageUpAction,
"PAGE_DOWN", pageDownAction,
// move caret one page and select text
"shift PAGE_UP", "selection-page-up", // DefaultEditorKit.selectionPageUpAction
"shift PAGE_DOWN", "selection-page-down", // DefaultEditorKit.selectionPageDownAction
mac( "ctrl shift PAGE_UP", "shift meta PAGE_UP" ), "selection-page-left", // DefaultEditorKit.selectionPageLeftAction
mac( "ctrl shift PAGE_DOWN", "shift meta PAGE_DOWN" ), "selection-page-right", // DefaultEditorKit.selectionPageRightAction
// move caret to document begin/end (without selecting text)
mac( "ctrl HOME", "meta UP" ), beginAction,
mac( "ctrl END", "meta DOWN" ), endAction,
// move caret to document begin/end and select text
mac( "ctrl shift HOME", "shift meta UP" ), selectionBeginAction,
mac( "ctrl shift END", "shift meta DOWN" ), selectionEndAction,
// misc
"ENTER", insertBreakAction,
"TAB", insertTabAction,
// links
mac( "ctrl T", "meta T" ), "next-link-action",
mac( "ctrl shift T", "shift meta T" ), "previous-link-action",
mac( "ctrl SPACE", "meta SPACE" ), "activate-link-action",
};
Object[] macMultiLineTextComponentBindings = SystemInfo.IS_MAC ? new Object[] {
// move caret one line (without selecting text)
"ctrl N", downAction,
"ctrl P", upAction,
// move caret to beginning/end of paragraph and select text
"shift alt UP", selectionBeginParagraphAction,
"shift alt DOWN", selectionEndParagraphAction,
"shift alt KP_UP", selectionBeginParagraphAction,
"shift alt KP_DOWN", selectionEndParagraphAction,
// move caret one page (without selecting text)
"ctrl V", pageDownAction,
} : null;
defaults.put( "TextField.focusInputMap", new LazyInputMapEx(
commonTextComponentBindings,
macCommonTextComponentBindings,
singleLineTextComponentBindings,
macSingleLineTextComponentBindings
) );
defaults.put( "FormattedTextField.focusInputMap", new LazyInputMapEx(
commonTextComponentBindings,
macCommonTextComponentBindings,
singleLineTextComponentBindings,
macSingleLineTextComponentBindings,
formattedTextComponentBindings
) );
defaults.put( "PasswordField.focusInputMap", new LazyInputMapEx(
commonTextComponentBindings,
macCommonTextComponentBindings,
singleLineTextComponentBindings,
macSingleLineTextComponentBindings,
passwordTextComponentBindings
) );
Object multiLineInputMap = new LazyInputMapEx(
commonTextComponentBindings,
macCommonTextComponentBindings,
multiLineTextComponentBindings,
macMultiLineTextComponentBindings
);
defaults.put( "TextArea.focusInputMap", multiLineInputMap );
defaults.put( "TextPane.focusInputMap", multiLineInputMap );
defaults.put( "EditorPane.focusInputMap", multiLineInputMap );
}
private static void initMacInputMaps( UIDefaults defaults ) {
// list
modifyInputMap( defaults, "List.focusInputMap",
"meta A", "selectAll",
"meta C", "copy",
"meta V", "paste",
"meta X", "cut",
// let parent scroll pane do the macOS typical scrolling without changing selection
"HOME", null,
"END", null,
"PAGE_UP", null,
"PAGE_DOWN", null,
"ctrl A", null,
"ctrl BACK_SLASH", null,
"ctrl C", null,
"ctrl DOWN", null,
"ctrl END", null,
"ctrl HOME", null,
"ctrl INSERT", null,
"ctrl KP_DOWN", null,
"ctrl KP_LEFT", null,
"ctrl KP_RIGHT", null,
"ctrl KP_UP", null,
"ctrl LEFT", null,
"ctrl PAGE_DOWN", null,
"ctrl PAGE_UP", null,
"ctrl RIGHT", null,
"ctrl SLASH", null,
"ctrl SPACE", null,
"ctrl UP", null,
"ctrl V", null,
"ctrl X", null,
"SPACE", null,
"shift ctrl DOWN", null,
"shift ctrl END", null,
"shift ctrl HOME", null,
"shift ctrl KP_DOWN", null,
"shift ctrl KP_LEFT", null,
"shift ctrl KP_RIGHT", null,
"shift ctrl KP_UP", null,
"shift ctrl LEFT", null,
"shift ctrl PAGE_DOWN", null,
"shift ctrl PAGE_UP", null,
"shift ctrl RIGHT", null,
"shift ctrl SPACE", null,
"shift ctrl UP", null,
"shift DELETE", null,
"shift INSERT", null,
"shift SPACE", null
);
modifyInputMap( defaults, "List.focusInputMap.RightToLeft",
"ctrl KP_LEFT", null,
"ctrl KP_RIGHT", null,
"ctrl LEFT", null,
"ctrl RIGHT", null,
"shift ctrl KP_LEFT", null,
"shift ctrl KP_RIGHT", null,
"shift ctrl LEFT", null,
"shift ctrl RIGHT", null
);
// scrollpane
modifyInputMap( defaults, "ScrollPane.ancestorInputMap",
"END", "scrollEnd",
"HOME", "scrollHome",
"ctrl END", null,
"ctrl HOME", null,
"ctrl PAGE_DOWN", null,
"ctrl PAGE_UP", null
);
modifyInputMap( defaults, "ScrollPane.ancestorInputMap.RightToLeft",
"ctrl PAGE_DOWN", null,
"ctrl PAGE_UP", null
);
// tabbedpane
modifyInputMap( defaults, "TabbedPane.ancestorInputMap",
"ctrl UP", null,
"ctrl KP_UP", null
);
modifyInputMap( defaults, "TabbedPane.focusInputMap",
"ctrl DOWN", null,
"ctrl KP_DOWN", null
);
// table
modifyInputMap( defaults, "Table.ancestorInputMap",
"alt TAB", "focusHeader",
"shift alt TAB", "focusHeader",
"meta A", "selectAll",
"meta C", "copy",
"meta V", "paste",
"meta X", "cut",
// let parent scroll pane do the macOS typical scrolling without changing selection
"HOME", null,
"END", null,
"PAGE_UP", null,
"PAGE_DOWN", null,
"ctrl A", null,
"ctrl BACK_SLASH", null,
"ctrl C", null,
"ctrl DOWN", null,
"ctrl END", null,
"ctrl HOME", null,
"ctrl INSERT", null,
"ctrl KP_DOWN", null,
"ctrl KP_LEFT", null,
"ctrl KP_RIGHT", null,
"ctrl KP_UP", null,
"ctrl LEFT", null,
"ctrl PAGE_DOWN", null,
"ctrl PAGE_UP", null,
"ctrl RIGHT", null,
"ctrl SLASH", null,
"ctrl SPACE", null,
"ctrl UP", null,
"ctrl V", null,
"ctrl X", null,
"F2", null,
"F8", null,
"SPACE", null,
"shift ctrl DOWN", null,
"shift ctrl END", null,
"shift ctrl HOME", null,
"shift ctrl KP_DOWN", null,
"shift ctrl KP_LEFT", null,
"shift ctrl KP_RIGHT", null,
"shift ctrl KP_UP", null,
"shift ctrl LEFT", null,
"shift ctrl PAGE_DOWN", null,
"shift ctrl PAGE_UP", null,
"shift ctrl RIGHT", null,
"shift ctrl SPACE", null,
"shift ctrl UP", null,
"shift DELETE", null,
"shift INSERT", null,
"shift SPACE", null
);
modifyInputMap( defaults, "Table.ancestorInputMap.RightToLeft",
"ctrl KP_LEFT", null,
"ctrl KP_RIGHT", null,
"ctrl LEFT", null,
"ctrl RIGHT", null,
"shift ctrl KP_LEFT", null,
"shift ctrl KP_RIGHT", null,
"shift ctrl LEFT", null,
"shift ctrl RIGHT", null
);
// tree node expanding/collapsing
modifyInputMap( defaults, "Tree.focusInputMap",
"LEFT", "selectParent",
"RIGHT", "selectChild",
"KP_LEFT", "selectParent",
"KP_RIGHT", "selectChild",
"shift LEFT", "selectParent",
"shift RIGHT", "selectChild",
"shift KP_LEFT", "selectParent",
"shift KP_RIGHT", "selectChild",
"alt LEFT", "selectParent",
"alt RIGHT", "selectChild",
"alt KP_LEFT", "selectParent",
"alt KP_RIGHT", "selectChild",
"meta A", "selectAll",
"meta C", "copy",
"meta V", "paste",
"meta X", "cut",
// let parent scroll pane do the macOS typical scrolling without changing selection
"HOME", null,
"END", null,
"PAGE_UP", null,
"PAGE_DOWN", null,
"ctrl LEFT", null,
"ctrl RIGHT", null,
"ctrl KP_LEFT", null,
"ctrl KP_RIGHT", null,
"ctrl A", null,
"ctrl BACK_SLASH", null,
"ctrl C", null,
"ctrl DOWN", null,
"ctrl END", null,
"ctrl HOME", null,
"ctrl INSERT", null,
"ctrl KP_DOWN", null,
"ctrl KP_UP", null,
"ctrl PAGE_DOWN", null,
"ctrl PAGE_UP", null,
"ctrl SLASH", null,
"ctrl SPACE", null,
"ctrl UP", null,
"ctrl V", null,
"ctrl X", null,
"F2", null,
"SPACE", null,
"shift ctrl DOWN", null,
"shift ctrl END", null,
"shift ctrl HOME", null,
"shift ctrl KP_DOWN", null,
"shift ctrl KP_UP", null,
"shift ctrl PAGE_DOWN", null,
"shift ctrl PAGE_UP", null,
"shift ctrl SPACE", null,
"shift ctrl UP", null,
"shift DELETE", null,
"shift END", null,
"shift HOME", null,
"shift INSERT", null,
"shift PAGE_DOWN", null,
"shift PAGE_UP", null,
"shift SPACE", null
);
defaults.put( "Tree.focusInputMap.RightToLeft", new UIDefaults.LazyInputMap( new Object[] {
"LEFT", "selectChild",
"RIGHT", "selectParent",
"KP_LEFT", "selectChild",
"KP_RIGHT", "selectParent",
"shift LEFT", "selectChild",
"shift RIGHT", "selectParent",
"shift KP_LEFT", "selectChild",
"shift KP_RIGHT", "selectParent",
"alt LEFT", "selectChild",
"alt RIGHT", "selectParent",
"alt KP_LEFT", "selectChild",
"alt KP_RIGHT", "selectParent"
} ) );
}
private static void modifyInputMap( UIDefaults defaults, String key, Object... bindings ) {
// Note: not using `defaults.get(key)` here because this would resolve the lazy value
defaults.put( key, new LazyModifyInputMap( defaults.remove( key ), bindings ) );
}
private static <T> T mac( T value, T macValue ) {
return SystemInfo.IS_MAC ? macValue : value;
}
//---- class LazyInputMapEx -----------------------------------------------
/**
* Lazily creates a input map.
* Similar to {@link UIDefaults.LazyInputMap}, but can use multiple bindings arrays.
*/
private static class LazyInputMapEx
implements LazyValue
{
private final Object[][] bindingsArray;
LazyInputMapEx( Object[]... bindingsArray ) {
this.bindingsArray = bindingsArray;
}
@Override
public Object createValue( UIDefaults table ) {
InputMap inputMap = new InputMapUIResource();
for( Object[] bindings : bindingsArray )
LookAndFeel.loadKeyBindings( inputMap, bindings );
return inputMap;
}
}
//---- class LazyModifyInputMap -------------------------------------------
/**
* Takes a (lazy) base input map and lazily applies modifications to it specified in bindings.
*/
private static class LazyModifyInputMap
implements LazyValue
{
private final Object baseInputMap;
private final Object[] bindings;
LazyModifyInputMap( Object baseInputMap, Object[] bindings ) {
this.baseInputMap = baseInputMap;
this.bindings = bindings;
}
@Override
public Object createValue( UIDefaults table ) {
// get base input map
InputMap inputMap = (baseInputMap instanceof LazyValue)
? (InputMap) ((LazyValue)baseInputMap).createValue( table )
: (InputMap) baseInputMap;
// modify input map (replace or remove)
for( int i = 0; i < bindings.length; i += 2 ) {
KeyStroke keyStroke = KeyStroke.getKeyStroke( (String) bindings[i] );
if( bindings[i + 1] != null )
inputMap.put( keyStroke, bindings[i + 1] );
else
inputMap.remove( keyStroke );
}
return inputMap;
}
}
}

View File

@@ -23,6 +23,7 @@ import java.awt.EventQueue;
import java.awt.Font; import java.awt.Font;
import java.awt.KeyEventPostProcessor; import java.awt.KeyEventPostProcessor;
import java.awt.KeyboardFocusManager; import java.awt.KeyboardFocusManager;
import java.awt.RenderingHints;
import java.awt.Toolkit; import java.awt.Toolkit;
import java.awt.Window; import java.awt.Window;
import java.awt.event.KeyEvent; import java.awt.event.KeyEvent;
@@ -30,27 +31,30 @@ import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener; import java.beans.PropertyChangeListener;
import java.lang.ref.WeakReference; import java.lang.ref.WeakReference;
import java.lang.reflect.Method; import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.ServiceLoader;
import java.util.function.Consumer; import java.util.function.Consumer;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import java.util.logging.Logger;
import javax.swing.AbstractButton; import javax.swing.AbstractButton;
import javax.swing.InputMap;
import javax.swing.JLabel; import javax.swing.JLabel;
import javax.swing.JRootPane; import javax.swing.JRootPane;
import javax.swing.JTabbedPane; import javax.swing.JTabbedPane;
import javax.swing.KeyStroke;
import javax.swing.LookAndFeel; import javax.swing.LookAndFeel;
import javax.swing.PopupFactory; import javax.swing.PopupFactory;
import javax.swing.SwingUtilities; import javax.swing.SwingUtilities;
import javax.swing.UIDefaults; import javax.swing.UIDefaults;
import javax.swing.UIDefaults.LazyValue;
import javax.swing.UIManager; import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException; import javax.swing.UnsupportedLookAndFeelException;
import javax.swing.UIDefaults.ActiveValue;
import javax.swing.plaf.ColorUIResource; import javax.swing.plaf.ColorUIResource;
import javax.swing.plaf.FontUIResource; import javax.swing.plaf.FontUIResource;
import javax.swing.plaf.UIResource;
import javax.swing.plaf.basic.BasicLookAndFeel; import javax.swing.plaf.basic.BasicLookAndFeel;
import javax.swing.plaf.metal.MetalLookAndFeel; import javax.swing.text.StyleContext;
import javax.swing.text.html.HTMLEditorKit; import javax.swing.text.html.HTMLEditorKit;
import com.formdev.flatlaf.util.SystemInfo; import com.formdev.flatlaf.util.SystemInfo;
import com.formdev.flatlaf.util.UIScale; import com.formdev.flatlaf.util.UIScale;
@@ -64,12 +68,14 @@ public abstract class FlatLaf
extends BasicLookAndFeel extends BasicLookAndFeel
{ {
static final Logger LOG = Logger.getLogger( FlatLaf.class.getName() ); static final Logger LOG = Logger.getLogger( FlatLaf.class.getName() );
private static final String DESKTOPFONTHINTS = "awt.font.desktophints";
private BasicLookAndFeel base;
private String desktopPropertyName; private String desktopPropertyName;
private PropertyChangeListener desktopPropertyListener; private PropertyChangeListener desktopPropertyListener;
private static boolean aquaLoaded;
private static boolean updateUIPending;
private KeyEventPostProcessor mnemonicListener; private KeyEventPostProcessor mnemonicListener;
private static boolean showMnemonics; private static boolean showMnemonics;
private static WeakReference<Window> lastShowMnemonicWindow; private static WeakReference<Window> lastShowMnemonicWindow;
@@ -113,15 +119,11 @@ public abstract class FlatLaf
@Override @Override
public void initialize() { public void initialize() {
getBase().initialize(); if( SystemInfo.IS_MAC )
initializeAqua();
super.initialize(); super.initialize();
// make sure that a plain popup factory is used (otherwise sub-menu rendering
// is "jittery" on Mac, where AquaLookAndFeel installs its own popup factory)
if( PopupFactory.getSharedInstance().getClass() != PopupFactory.class )
PopupFactory.setSharedInstance( new PopupFactory() );
// add mnemonic listener // add mnemonic listener
mnemonicListener = e -> { mnemonicListener = e -> {
checkShowMnemonics( e ); checkShowMnemonics( e );
@@ -142,9 +144,19 @@ public abstract class FlatLaf
} }
if( desktopPropertyName != null ) { if( desktopPropertyName != null ) {
desktopPropertyListener = e -> { desktopPropertyListener = e -> {
reSetLookAndFeel(); String propertyName = e.getPropertyName();
if( desktopPropertyName.equals( propertyName ) )
reSetLookAndFeel();
else if( DESKTOPFONTHINTS.equals( propertyName ) ) {
if( UIManager.getLookAndFeel() instanceof FlatLaf ) {
putAATextInfo( UIManager.getLookAndFeelDefaults() );
updateUILater();
}
}
}; };
Toolkit.getDefaultToolkit().addPropertyChangeListener( desktopPropertyName, desktopPropertyListener ); Toolkit toolkit = Toolkit.getDefaultToolkit();
toolkit.addPropertyChangeListener( desktopPropertyName, desktopPropertyListener );
toolkit.addPropertyChangeListener( DESKTOPFONTHINTS, desktopPropertyListener );
} }
// Following code should be ideally in initialize(), but needs color from UI defaults. // Following code should be ideally in initialize(), but needs color from UI defaults.
@@ -164,7 +176,9 @@ public abstract class FlatLaf
public void uninitialize() { public void uninitialize() {
// remove desktop property listener // remove desktop property listener
if( desktopPropertyListener != null ) { if( desktopPropertyListener != null ) {
Toolkit.getDefaultToolkit().removePropertyChangeListener( desktopPropertyName, desktopPropertyListener ); Toolkit toolkit = Toolkit.getDefaultToolkit();
toolkit.removePropertyChangeListener( desktopPropertyName, desktopPropertyListener );
toolkit.removePropertyChangeListener( DESKTOPFONTHINTS, desktopPropertyListener );
desktopPropertyName = null; desktopPropertyName = null;
desktopPropertyListener = null; desktopPropertyListener = null;
} }
@@ -179,93 +193,129 @@ public abstract class FlatLaf
new HTMLEditorKit().getStyleSheet().addRule( "a { color: blue; }" ); new HTMLEditorKit().getStyleSheet().addRule( "a { color: blue; }" );
postInitialization = null; postInitialization = null;
if( base != null )
base.uninitialize();
super.uninitialize(); super.uninitialize();
} }
/** /**
* Get/create base LaF. This is used to grab base UI defaults from different LaFs. * Initialize Aqua LaF on macOS, which is required for using Mac screen menubar.
* E.g. on Mac from system dependent LaF, otherwise from Metal LaF. * (at least on Java 8, since 9 it seems to work without it)
* <p>
* This loads the native library "osxui" and initializes JRSUI.
* Because both are not unloaded/uninitialized, Aqua LaF is initialized only once.
*/ */
private BasicLookAndFeel getBase() { private void initializeAqua() {
if( base == null ) { if( aquaLoaded )
if( SystemInfo.IS_MAC ) { return;
// use Mac Aqua LaF as base
String aquaLafClassName = "com.apple.laf.AquaLookAndFeel"; aquaLoaded = true;
try {
if( SystemInfo.IS_JAVA_9_OR_LATER ) { // create macOS Aqua LaF
Method m = UIManager.class.getMethod( "createLookAndFeel", String.class ); String aquaLafClassName = "com.apple.laf.AquaLookAndFeel";
base = (BasicLookAndFeel) m.invoke( null, "Mac OS X" ); BasicLookAndFeel aquaLaf;
} else try {
base = (BasicLookAndFeel) Class.forName( aquaLafClassName ).newInstance(); if( SystemInfo.IS_JAVA_9_OR_LATER ) {
} catch( Exception ex ) { Method m = UIManager.class.getMethod( "createLookAndFeel", String.class );
LOG.log( Level.SEVERE, "FlatLaf: Failed to initialize base look and feel '" + aquaLafClassName + "'.", ex ); aquaLaf = (BasicLookAndFeel) m.invoke( null, "Mac OS X" );
throw new IllegalStateException();
}
} else } else
base = new MetalLookAndFeel(); aquaLaf = (BasicLookAndFeel) Class.forName( aquaLafClassName ).newInstance();
} catch( Exception ex ) {
LOG.log( Level.SEVERE, "FlatLaf: Failed to initialize Aqua look and feel '" + aquaLafClassName + "'.", ex );
throw new IllegalStateException();
} }
return base;
// remember popup factory because aquaLaf.initialize() installs its own
// factory, which makes sub-menu rendering "jittery"
PopupFactory oldPopupFactory = PopupFactory.getSharedInstance();
// initialize Aqua LaF
aquaLaf.initialize();
aquaLaf.uninitialize();
// restore popup factory
PopupFactory.setSharedInstance( oldPopupFactory );
} }
@Override @Override
public UIDefaults getDefaults() { public UIDefaults getDefaults() {
UIDefaults defaults = getBase().getDefaults(); UIDefaults defaults = super.getDefaults();
// add Metal resource bundle, which is required for FlatFileChooserUI // add Metal resource bundle, which is required for FlatFileChooserUI
defaults.addResourceBundle( "com.sun.swing.internal.plaf.metal.resources.metal" ); defaults.addResourceBundle( "com.sun.swing.internal.plaf.metal.resources.metal" );
// initialize some defaults (for overriding) that are used in basic UI delegates, // initialize some defaults (for overriding) that are used in UI delegates,
// but are not set in MetalLookAndFeel or BasicLookAndFeel // but are not set in BasicLookAndFeel
Color control = defaults.getColor( "control" ); putDefaults( defaults, defaults.getColor( "control" ),
defaults.put( "EditorPane.disabledBackground", control ); "EditorPane.disabledBackground",
defaults.put( "EditorPane.inactiveBackground", control ); "EditorPane.inactiveBackground",
defaults.put( "FormattedTextField.disabledBackground", control ); "FormattedTextField.disabledBackground",
defaults.put( "PasswordField.disabledBackground", control ); "PasswordField.disabledBackground",
defaults.put( "TextArea.disabledBackground", control ); "Spinner.disabledBackground",
defaults.put( "TextArea.inactiveBackground", control ); "TextArea.disabledBackground",
defaults.put( "TextField.disabledBackground", control ); "TextArea.inactiveBackground",
defaults.put( "TextPane.disabledBackground", control ); "TextField.disabledBackground",
defaults.put( "TextPane.inactiveBackground", control ); "TextPane.disabledBackground",
"TextPane.inactiveBackground" );
// initialize some own defaults (for overriding) putDefaults( defaults, defaults.getColor( "textInactiveText" ),
defaults.put( "Spinner.disabledBackground", control ); "Button.disabledText",
defaults.put( "Spinner.disabledForeground", control ); "CheckBox.disabledText",
"CheckBoxMenuItem.disabledForeground",
// remember MenuBarUI from Mac Aqua LaF if Mac screen menubar is enabled "Menu.disabledForeground",
boolean useScreenMenuBar = SystemInfo.IS_MAC && "true".equals( System.getProperty( "apple.laf.useScreenMenuBar" ) ); "MenuItem.disabledForeground",
Object aquaMenuBarUI = useScreenMenuBar ? defaults.get( "MenuBarUI" ) : null; "RadioButton.disabledText",
"RadioButtonMenuItem.disabledForeground",
"Spinner.disabledForeground",
"ToggleButton.disabledText" );
putDefaults( defaults, defaults.getColor( "textText" ),
"DesktopIcon.foreground" );
initFonts( defaults ); initFonts( defaults );
initIconColors( defaults, isDark() ); initIconColors( defaults, isDark() );
initInputMaps( defaults ); FlatInputMaps.initInputMaps( defaults );
// get addons and sort them by priority
ServiceLoader<FlatDefaultsAddon> addonLoader = ServiceLoader.load( FlatDefaultsAddon.class );
List<FlatDefaultsAddon> addons = new ArrayList<>();
for( FlatDefaultsAddon addon : addonLoader )
addons.add( addon );
addons.sort( (addon1, addon2) -> addon1.getPriority() - addon2.getPriority() );
// load defaults from properties // load defaults from properties
List<Class<?>> lafClassesForDefaultsLoading = getLafClassesForDefaultsLoading(); List<Class<?>> lafClassesForDefaultsLoading = getLafClassesForDefaultsLoading();
if( lafClassesForDefaultsLoading != null ) if( lafClassesForDefaultsLoading != null )
UIDefaultsLoader.loadDefaultsFromProperties( lafClassesForDefaultsLoading, defaults ); UIDefaultsLoader.loadDefaultsFromProperties( lafClassesForDefaultsLoading, addons, getAdditionalDefaults(), defaults );
else else
UIDefaultsLoader.loadDefaultsFromProperties( getClass(), defaults ); UIDefaultsLoader.loadDefaultsFromProperties( getClass(), addons, getAdditionalDefaults(), defaults );
// use Aqua MenuBarUI if Mac screen menubar is enabled // use Aqua MenuBarUI if Mac screen menubar is enabled
if( useScreenMenuBar ) if( SystemInfo.IS_MAC && Boolean.getBoolean( "apple.laf.useScreenMenuBar" ) )
defaults.put( "MenuBarUI", aquaMenuBarUI ); defaults.put( "MenuBarUI", "com.apple.laf.AquaMenuBarUI" );
invokePostInitialization( defaults ); // initialize text antialiasing
putAATextInfo( defaults );
return defaults; // apply additional defaults (e.g. from IntelliJ themes)
} applyAdditionalDefaults( defaults );
// allow addons modifying UI defaults
for( FlatDefaultsAddon addon : addons )
addon.afterDefaultsLoading( this, defaults );
void invokePostInitialization( UIDefaults defaults ) {
if( postInitialization != null ) { if( postInitialization != null ) {
postInitialization.accept( defaults ); postInitialization.accept( defaults );
postInitialization = null; postInitialization = null;
} }
return defaults;
} }
List<Class<?>> getLafClassesForDefaultsLoading() { void applyAdditionalDefaults( UIDefaults defaults ) {
}
protected List<Class<?>> getLafClassesForDefaultsLoading() {
return null;
}
protected Properties getAdditionalDefaults() {
return null; return null;
} }
@@ -275,17 +325,19 @@ public abstract class FlatLaf
if( SystemInfo.IS_WINDOWS ) { if( SystemInfo.IS_WINDOWS ) {
Font winFont = (Font) Toolkit.getDefaultToolkit().getDesktopProperty( "win.messagebox.font" ); Font winFont = (Font) Toolkit.getDefaultToolkit().getDesktopProperty( "win.messagebox.font" );
if( winFont != null ) if( winFont != null )
uiFont = new FontUIResource( winFont ); uiFont = createCompositeFont( winFont.getFamily(), winFont.getStyle(), winFont.getSize() );
} else if( SystemInfo.IS_MAC ) { } else if( SystemInfo.IS_MAC ) {
Font font = defaults.getFont( "Label.font" ); String fontName;
if( SystemInfo.IS_MAC_OS_10_11_EL_CAPITAN_OR_LATER ) { if( SystemInfo.IS_MAC_OS_10_11_EL_CAPITAN_OR_LATER ) {
// use San Francisco Text font // use San Francisco Text font
font = new FontUIResource( ".SF NS Text", font.getStyle(), font.getSize() ); fontName = ".SF NS Text";
} else {
// default font on older systems (see com.apple.laf.AquaFonts)
fontName = "Lucida Grande";
} }
uiFont = (font instanceof FontUIResource) ? (FontUIResource) font : new FontUIResource( font ); uiFont = createCompositeFont( fontName, Font.PLAIN, 13 );
} else if( SystemInfo.IS_LINUX ) { } else if( SystemInfo.IS_LINUX ) {
Font font = LinuxFontPolicy.getFont(); Font font = LinuxFontPolicy.getFont();
@@ -293,18 +345,34 @@ public abstract class FlatLaf
} }
if( uiFont == null ) if( uiFont == null )
return; uiFont = createCompositeFont( Font.SANS_SERIF, Font.PLAIN, 12 );
uiFont = UIScale.applyCustomScaleFactor( uiFont ); uiFont = UIScale.applyCustomScaleFactor( uiFont );
// use active value for all fonts to allow changing fonts in all components
// (similar as in Nimbus L&F) with:
// UIManager.put( "defaultFont", myFont );
Object activeFont = new ActiveFont( 1 );
// override fonts // override fonts
for( Object key : defaults.keySet() ) { for( Object key : defaults.keySet() ) {
if( key instanceof String && (((String)key).endsWith( ".font" ) || ((String)key).endsWith( "Font" )) ) if( key instanceof String && (((String)key).endsWith( ".font" ) || ((String)key).endsWith( "Font" )) )
defaults.put( key, uiFont ); defaults.put( key, activeFont );
} }
// use smaller font for progress bar // use smaller font for progress bar
defaults.put( "ProgressBar.font", UIScale.scaleFont( uiFont, 0.85f ) ); defaults.put( "ProgressBar.font", new ActiveFont( 0.85f ) );
// set default font
defaults.put( "defaultFont", uiFont );
}
static FontUIResource createCompositeFont( String family, int style, int size ) {
// using StyleContext.getFont() here because it uses
// sun.font.FontUtilities.getCompositeFontUIResource()
// and creates a composite font that is able to display all Unicode characters
Font font = new StyleContext().getFont( family, style, size );
return (font instanceof FontUIResource) ? (FontUIResource) font : new FontUIResource( font );
} }
/** /**
@@ -346,55 +414,42 @@ public abstract class FlatLaf
defaults.put( "Objects.BlackText", new ColorUIResource( 0x231F20 ) ); defaults.put( "Objects.BlackText", new ColorUIResource( 0x231F20 ) );
} }
private void initInputMaps( UIDefaults defaults ) { private void putAATextInfo( UIDefaults defaults ) {
if( SystemInfo.IS_MAC ) { if( SystemInfo.IS_JAVA_9_OR_LATER ) {
// AquaLookAndFeel (the base for UI defaults on macOS) uses special Object desktopHints = Toolkit.getDefaultToolkit().getDesktopProperty( DESKTOPFONTHINTS );
// action keys (e.g. "aquaExpandNode") for some macOS specific behaviour. if( desktopHints instanceof Map ) {
// Those action keys are not available in FlatLaf, which makes it @SuppressWarnings( "unchecked" )
// necessary to make some modifications. Map<Object, Object> hints = (Map<Object, Object>) desktopHints;
Object aaHint = hints.get( RenderingHints.KEY_TEXT_ANTIALIASING );
// combobox if( aaHint != null &&
defaults.put( "ComboBox.ancestorInputMap", new UIDefaults.LazyInputMap( new Object[] { aaHint != RenderingHints.VALUE_TEXT_ANTIALIAS_OFF &&
"ESCAPE", "hidePopup", aaHint != RenderingHints.VALUE_TEXT_ANTIALIAS_DEFAULT )
"PAGE_UP", "pageUpPassThrough", {
"PAGE_DOWN", "pageDownPassThrough", defaults.put( RenderingHints.KEY_TEXT_ANTIALIASING, aaHint );
"HOME", "homePassThrough", defaults.put( RenderingHints.KEY_TEXT_LCD_CONTRAST,
"END", "endPassThrough", hints.get( RenderingHints.KEY_TEXT_LCD_CONTRAST ) );
"DOWN", "selectNext", }
"KP_DOWN", "selectNext", }
"SPACE", "spacePopup", } else {
"ENTER", "enterPressed", // Java 8
"UP", "selectPrevious", try {
"KP_UP", "selectPrevious" Object key = Class.forName( "sun.swing.SwingUtilities2" )
} ) ); .getField( "AA_TEXT_PROPERTY_KEY" )
.get( null );
// tree node expanding/collapsing Object value = Class.forName( "sun.swing.SwingUtilities2$AATextInfo" )
modifyInputMap( defaults, "Tree.focusInputMap", .getMethod( "getAATextInfo", boolean.class )
"RIGHT", "selectChild", .invoke( null, true );
"KP_RIGHT", "selectChild", defaults.put( key, value );
"LEFT", "selectParent", } catch( Exception ex ) {
"KP_LEFT", "selectParent", Logger.getLogger( FlatLaf.class.getName() ).log( Level.SEVERE, null, ex );
"shift RIGHT", null, throw new RuntimeException( ex );
"shift KP_RIGHT", null, }
"shift LEFT", null,
"shift KP_LEFT", null,
"ctrl LEFT", null,
"ctrl KP_LEFT", null,
"ctrl RIGHT", null,
"ctrl KP_RIGHT", null
);
defaults.put( "Tree.focusInputMap.RightToLeft", new UIDefaults.LazyInputMap( new Object[] {
"RIGHT", "selectParent",
"KP_RIGHT", "selectParent",
"LEFT", "selectChild",
"KP_LEFT", "selectChild"
} ) );
} }
} }
private void modifyInputMap( UIDefaults defaults, String key, Object... bindings ) { private void putDefaults( UIDefaults defaults, Object value, String... keys ) {
// Note: not using `defaults.get(key)` here because this would resolve the lazy value for( String key : keys )
defaults.put( key, new LazyModifyInputMap( defaults.remove( key ), bindings ) ); defaults.put( key, value );
} }
private static void reSetLookAndFeel() { private static void reSetLookAndFeel() {
@@ -418,7 +473,7 @@ public abstract class FlatLaf
} }
/** /**
* Update UI of all application windows. * Update UI of all application windows immediately.
* Invoke after changing LaF. * Invoke after changing LaF.
*/ */
public static void updateUI() { public static void updateUI() {
@@ -426,6 +481,25 @@ public abstract class FlatLaf
SwingUtilities.updateComponentTreeUI( w ); SwingUtilities.updateComponentTreeUI( w );
} }
/**
* Update UI of all application windows later.
*/
public static void updateUILater() {
synchronized( FlatLaf.class ) {
if( updateUIPending )
return;
updateUIPending = true;
}
EventQueue.invokeLater( () -> {
updateUI();
synchronized( FlatLaf.class ) {
updateUIPending = false;
}
} );
}
public static boolean isShowMnemonics() { public static boolean isShowMnemonics() {
return showMnemonics || !UIManager.getBoolean( "Component.hideMnemonics" ); return showMnemonics || !UIManager.getBoolean( "Component.hideMnemonics" );
} }
@@ -509,39 +583,41 @@ public abstract class FlatLaf
return false; return false;
} }
//---- class LazyModifyInputMap ------------------------------------------- //---- class ActiveFont ---------------------------------------------------
/** private static class ActiveFont
* Takes a (lazy) base input map and lazily applies modifications to it specified in bindings. implements ActiveValue
*/
private static class LazyModifyInputMap
implements LazyValue
{ {
private final Object baseInputMap; private final float scaleFactor;
private final Object[] bindings;
public LazyModifyInputMap( Object baseInputMap, Object[] bindings ) { // cache (scaled) font
this.baseInputMap = baseInputMap; private Font font;
this.bindings = bindings; private Font lastDefaultFont;
ActiveFont( float scaleFactor ) {
this.scaleFactor = scaleFactor;
} }
@Override @Override
public Object createValue( UIDefaults table ) { public Object createValue( UIDefaults table ) {
// get base input map Font defaultFont = UIManager.getFont( "defaultFont" );
InputMap inputMap = (baseInputMap instanceof LazyValue)
? (InputMap) ((LazyValue)baseInputMap).createValue( table )
: (InputMap) baseInputMap;
// modify input map (replace or remove) if( lastDefaultFont != defaultFont ) {
for( int i = 0; i < bindings.length; i += 2 ) { lastDefaultFont = defaultFont;
KeyStroke keyStroke = KeyStroke.getKeyStroke( (String) bindings[i] );
if( bindings[i + 1] != null ) if( scaleFactor != 1 ) {
inputMap.put( keyStroke, bindings[i + 1] ); // scale font
else int newFontSize = Math.round( defaultFont.getSize() * scaleFactor );
inputMap.remove( keyStroke ); font = new FontUIResource( defaultFont.deriveFont( (float) newFontSize ) );
} else {
// make sure that font is a UIResource for LaF switching
font = (defaultFont instanceof UIResource)
? defaultFont
: new FontUIResource( defaultFont );
}
} }
return inputMap; return font;
} }
} }
} }

View File

@@ -513,19 +513,12 @@ public class IntelliJTheme
} }
@Override @Override
public UIDefaults getDefaults() { void applyAdditionalDefaults( UIDefaults defaults ) {
UIDefaults defaults = super.getDefaults();
theme.applyProperties( defaults ); theme.applyProperties( defaults );
super.invokePostInitialization( defaults );
return defaults;
} }
@Override @Override
void invokePostInitialization( UIDefaults defaults ) { protected ArrayList<Class<?>> getLafClassesForDefaultsLoading() {
}
@Override
ArrayList<Class<?>> getLafClassesForDefaultsLoading() {
ArrayList<Class<?>> lafClasses = new ArrayList<>(); ArrayList<Class<?>> lafClasses = new ArrayList<>();
lafClasses.add( FlatLaf.class ); lafClasses.add( FlatLaf.class );
lafClasses.add( theme.dark ? FlatDarkLaf.class : FlatLightLaf.class ); lafClasses.add( theme.dark ? FlatDarkLaf.class : FlatLightLaf.class );

View File

@@ -17,6 +17,7 @@
package com.formdev.flatlaf; package com.formdev.flatlaf;
import java.awt.Font; import java.awt.Font;
import java.awt.GraphicsConfiguration;
import java.awt.GraphicsEnvironment; import java.awt.GraphicsEnvironment;
import java.awt.Toolkit; import java.awt.Toolkit;
import java.io.BufferedReader; import java.io.BufferedReader;
@@ -28,9 +29,9 @@ import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.StringTokenizer; import java.util.StringTokenizer;
import java.util.logging.Level; import java.util.logging.Level;
import javax.swing.text.StyleContext;
import com.formdev.flatlaf.util.StringUtils; import com.formdev.flatlaf.util.StringUtils;
import com.formdev.flatlaf.util.SystemInfo; import com.formdev.flatlaf.util.SystemInfo;
import com.formdev.flatlaf.util.UIScale;
/** /**
* @author Karl Tauber * @author Karl Tauber
@@ -88,9 +89,7 @@ class LinuxFontPolicy
} }
private static Font createFont( String family, int style, int size, double dsize ) { private static Font createFont( String family, int style, int size, double dsize ) {
// using StyleContext.getFont() here because it uses Font font = FlatLaf.createCompositeFont( family, style, size );
// sun.font.FontUtilities.getCompositeFontUIResource()
Font font = new StyleContext().getFont( family, style, size );
// set font size in floating points // set font size in floating points
font = font.deriveFont( style, (float) dsize ); font = font.deriveFont( style, (float) dsize );
@@ -99,6 +98,10 @@ class LinuxFontPolicy
} }
private static double getGnomeFontScale() { private static double getGnomeFontScale() {
// do not scale font here if JRE scales
if( isSystemScaling() )
return 96. / 72.;
// see class com.sun.java.swing.plaf.gtk.PangoFonts background information // see class com.sun.java.swing.plaf.gtk.PangoFonts background information
Object value = Toolkit.getDefaultToolkit().getDesktopProperty( "gnome.Xft/DPI" ); Object value = Toolkit.getDefaultToolkit().getDesktopProperty( "gnome.Xft/DPI" );
@@ -168,7 +171,7 @@ class LinuxFontPolicy
// font dpi // font dpi
int dpi = 96; int dpi = 96;
if( forceFontDPI != null ) { if( forceFontDPI != null && !isSystemScaling() ) {
try { try {
dpi = Integer.parseInt( forceFontDPI ); dpi = Integer.parseInt( forceFontDPI );
if( dpi <= 0 ) if( dpi <= 0 )
@@ -247,4 +250,15 @@ class LinuxFontPolicy
} }
return null; return null;
} }
/**
* Returns true if the JRE scales, which is the case if:
* - environment variable GDK_SCALE is set and running on Java 9 or later
* - running on JetBrains Runtime 11 or later and scaling is enabled in system Settings
*/
private static boolean isSystemScaling() {
GraphicsConfiguration gc = GraphicsEnvironment.getLocalGraphicsEnvironment()
.getDefaultScreenDevice().getDefaultConfiguration();
return UIScale.getSystemScaleFactor( gc ) > 1;
}
} }

View File

@@ -28,7 +28,6 @@ import java.util.List;
import java.util.Locale; import java.util.Locale;
import java.util.Map; import java.util.Map;
import java.util.Properties; import java.util.Properties;
import java.util.ServiceLoader;
import java.util.function.Function; import java.util.function.Function;
import java.util.logging.Level; import java.util.logging.Level;
import javax.swing.UIDefaults; import javax.swing.UIDefaults;
@@ -69,7 +68,9 @@ class UIDefaultsLoader
private static final String OPTIONAL_PREFIX = "?"; private static final String OPTIONAL_PREFIX = "?";
private static final String GLOBAL_PREFIX = "*."; private static final String GLOBAL_PREFIX = "*.";
static void loadDefaultsFromProperties( Class<?> lookAndFeelClass, UIDefaults defaults ) { static void loadDefaultsFromProperties( Class<?> lookAndFeelClass, List<FlatDefaultsAddon> addons,
Properties additionalDefaults, UIDefaults defaults )
{
// determine classes in class hierarchy in reverse order // determine classes in class hierarchy in reverse order
ArrayList<Class<?>> lafClasses = new ArrayList<>(); ArrayList<Class<?>> lafClasses = new ArrayList<>();
for( Class<?> lafClass = lookAndFeelClass; for( Class<?> lafClass = lookAndFeelClass;
@@ -79,10 +80,12 @@ class UIDefaultsLoader
lafClasses.add( 0, lafClass ); lafClasses.add( 0, lafClass );
} }
loadDefaultsFromProperties( lafClasses, defaults ); loadDefaultsFromProperties( lafClasses, addons, additionalDefaults, defaults );
} }
static void loadDefaultsFromProperties( List<Class<?>> lafClasses, UIDefaults defaults ) { static void loadDefaultsFromProperties( List<Class<?>> lafClasses, List<FlatDefaultsAddon> addons,
Properties additionalDefaults, UIDefaults defaults )
{
try { try {
// load core properties files // load core properties files
Properties properties = new Properties(); Properties properties = new Properties();
@@ -94,15 +97,8 @@ class UIDefaultsLoader
} }
} }
// get addons and sort them by priority
ServiceLoader<FlatDefaultsAddon> addonLoader = ServiceLoader.load( FlatDefaultsAddon.class );
List<FlatDefaultsAddon> addonList = new ArrayList<>();
for( FlatDefaultsAddon addon : addonLoader )
addonList.add( addon );
addonList.sort( (addon1, addon2) -> addon1.getPriority() - addon2.getPriority() );
// load properties from addons // load properties from addons
for( FlatDefaultsAddon addon : addonList ) { for( FlatDefaultsAddon addon : addons ) {
for( Class<?> lafClass : lafClasses ) { for( Class<?> lafClass : lafClasses ) {
try( InputStream in = addon.getDefaults( lafClass ) ) { try( InputStream in = addon.getDefaults( lafClass ) ) {
if( in != null ) if( in != null )
@@ -113,12 +109,16 @@ class UIDefaultsLoader
// collect addon class loaders // collect addon class loaders
List<ClassLoader> addonClassLoaders = new ArrayList<>(); List<ClassLoader> addonClassLoaders = new ArrayList<>();
for( FlatDefaultsAddon addon : addonList ) { for( FlatDefaultsAddon addon : addons ) {
ClassLoader addonClassLoader = addon.getClass().getClassLoader(); ClassLoader addonClassLoader = addon.getClass().getClassLoader();
if( !addonClassLoaders.contains( addonClassLoader ) ) if( !addonClassLoaders.contains( addonClassLoader ) )
addonClassLoaders.add( addonClassLoader ); addonClassLoaders.add( addonClassLoader );
} }
// add additional defaults
if( additionalDefaults != null )
properties.putAll( additionalDefaults );
// collect all platform specific keys (but do not modify properties) // collect all platform specific keys (but do not modify properties)
ArrayList<String> platformSpecificKeys = new ArrayList<>(); ArrayList<String> platformSpecificKeys = new ArrayList<>();
for( Object key : properties.keySet() ) { for( Object key : properties.keySet() ) {
@@ -332,16 +332,17 @@ class UIDefaultsLoader
private static Object parseBorder( String value, Function<String, String> resolver, List<ClassLoader> addonClassLoaders ) { private static Object parseBorder( String value, Function<String, String> resolver, List<ClassLoader> addonClassLoaders ) {
if( value.indexOf( ',' ) >= 0 ) { if( value.indexOf( ',' ) >= 0 ) {
// top,left,bottom,right[,lineColor] // top,left,bottom,right[,lineColor[,lineThickness]]
List<String> parts = split( value, ',' ); List<String> parts = split( value, ',' );
Insets insets = parseInsets( value ); Insets insets = parseInsets( value );
ColorUIResource lineColor = (parts.size() == 5) ColorUIResource lineColor = (parts.size() >= 5)
? (ColorUIResource) parseColorOrFunction( resolver.apply( parts.get( 4 ) ), resolver, true ) ? (ColorUIResource) parseColorOrFunction( resolver.apply( parts.get( 4 ) ), resolver, true )
: null; : null;
float lineThickness = (parts.size() >= 6) ? parseFloat( parts.get( 5 ), true ) : 1f;
return (LazyValue) t -> { return (LazyValue) t -> {
return (lineColor != null) return (lineColor != null)
? new FlatLineBorder( insets, lineColor ) ? new FlatLineBorder( insets, lineColor, lineThickness )
: new FlatEmptyBorder( insets ); : new FlatEmptyBorder( insets );
}; };
} else } else

View File

@@ -0,0 +1,59 @@
/*
* Copyright 2020 FormDev Software GmbH
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.formdev.flatlaf.icons;
import java.awt.Component;
import java.awt.Graphics2D;
import java.awt.geom.Path2D;
import java.awt.geom.Rectangle2D;
import java.awt.geom.RoundRectangle2D;
import javax.swing.UIManager;
import com.formdev.flatlaf.ui.FlatUIUtils;
/**
* "caps lock" icon for {@link javax.swing.JPasswordField}.
*
* @uiDefault PasswordField.capsLockIconColor Color
*
* @author Karl Tauber
*/
public class FlatCapsLockIcon
extends FlatAbstractIcon
{
public FlatCapsLockIcon() {
super( 16, 16, UIManager.getColor( "PasswordField.capsLockIconColor" ) );
}
@Override
protected void paintIcon( Component c, Graphics2D g ) {
/*
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
<g fill="none" fill-rule="evenodd">
<rect width="16" height="16" fill="#6E6E6E" rx="3"/>
<rect width="6" height="2" x="5" y="12" fill="#FFF"/>
<path fill="#FFF" d="M2,8 L8,2 L14,8 L11,8 L11,10 L5,10 L5,8 L2,8 Z"/>
</g>
</svg>
*/
Path2D path = new Path2D.Float( Path2D.WIND_EVEN_ODD );
path.append( new RoundRectangle2D.Float( 0, 0, 16, 16, 6, 6 ), false );
path.append( new Rectangle2D.Float( 5, 12, 6, 2 ), false );
path.append( FlatUIUtils.createPath( 2,8, 8,2, 14,8, 11,8, 11,10, 5,10, 5,8 ), false );
g.fill( path );
}
}

View File

@@ -96,7 +96,7 @@ public class FlatCheckBoxIcon
boolean selected = indeterminate || (c instanceof AbstractButton && ((AbstractButton)c).isSelected()); boolean selected = indeterminate || (c instanceof AbstractButton && ((AbstractButton)c).isSelected());
// paint focused border // paint focused border
if( c.hasFocus() && focusWidth > 0 ) { if( FlatUIUtils.isPermanentFocusOwner( c ) && focusWidth > 0 ) {
g2.setColor( focusColor ); g2.setColor( focusColor );
paintFocusBorder( g2 ); paintFocusBorder( g2 );
} }

View File

@@ -82,7 +82,7 @@ public class FlatHelpButtonIcon
*/ */
boolean enabled = c.isEnabled(); boolean enabled = c.isEnabled();
boolean focused = c.hasFocus(); boolean focused = FlatUIUtils.isPermanentFocusOwner( c );
// paint focused border // paint focused border
if( focused ) { if( focused ) {

View File

@@ -119,7 +119,7 @@ public class FlatBorder
JViewport viewport = ((JScrollPane)c).getViewport(); JViewport viewport = ((JScrollPane)c).getViewport();
Component view = (viewport != null) ? viewport.getView() : null; Component view = (viewport != null) ? viewport.getView() : null;
if( view != null ) { if( view != null ) {
if( view.hasFocus() ) if( FlatUIUtils.isPermanentFocusOwner( view ) )
return true; return true;
if( (view instanceof JTable && ((JTable)view).isEditing()) || if( (view instanceof JTable && ((JTable)view).isEditing()) ||
@@ -133,17 +133,17 @@ public class FlatBorder
return false; return false;
} else if( c instanceof JComboBox && ((JComboBox<?>)c).isEditable() ) { } else if( c instanceof JComboBox && ((JComboBox<?>)c).isEditable() ) {
Component editorComponent = ((JComboBox<?>)c).getEditor().getEditorComponent(); Component editorComponent = ((JComboBox<?>)c).getEditor().getEditorComponent();
return (editorComponent != null) ? editorComponent.hasFocus() : false; return (editorComponent != null) ? FlatUIUtils.isPermanentFocusOwner( editorComponent ) : false;
} else if( c instanceof JSpinner ) { } else if( c instanceof JSpinner ) {
JComponent editor = ((JSpinner)c).getEditor(); JComponent editor = ((JSpinner)c).getEditor();
if( editor instanceof JSpinner.DefaultEditor ) { if( editor instanceof JSpinner.DefaultEditor ) {
JTextField textField = ((JSpinner.DefaultEditor)editor).getTextField(); JTextField textField = ((JSpinner.DefaultEditor)editor).getTextField();
if( textField != null ) if( textField != null )
return textField.hasFocus(); return FlatUIUtils.isPermanentFocusOwner( textField );
} }
return false; return false;
} else } else
return c.hasFocus(); return FlatUIUtils.isPermanentFocusOwner( c );
} }
protected boolean isTableCellEditor( Component c ) { protected boolean isTableCellEditor( Component c ) {

View File

@@ -294,7 +294,9 @@ public class FlatButtonUI
// paint shadow // paint shadow
Color shadowColor = def ? defaultShadowColor : this.shadowColor; Color shadowColor = def ? defaultShadowColor : this.shadowColor;
if( !isToolBarButton && shadowColor != null && shadowWidth > 0 && focusWidth > 0 && !c.hasFocus() && c.isEnabled() ) { if( !isToolBarButton && shadowColor != null && shadowWidth > 0 && focusWidth > 0 &&
!FlatUIUtils.isPermanentFocusOwner( c ) && c.isEnabled() )
{
g2.setColor( shadowColor ); g2.setColor( shadowColor );
g2.fill( new RoundRectangle2D.Float( focusWidth, focusWidth + UIScale.scale( (float) shadowWidth ), g2.fill( new RoundRectangle2D.Float( focusWidth, focusWidth + UIScale.scale( (float) shadowWidth ),
width - focusWidth * 2, height - focusWidth * 2, arc, arc ) ); width - focusWidth * 2, height - focusWidth * 2, arc, arc ) );
@@ -382,7 +384,7 @@ public class FlatButtonUI
if( hoverColor != null && b != null && b.getModel().isRollover() ) if( hoverColor != null && b != null && b.getModel().isRollover() )
return hoverColor; return hoverColor;
if( focusedColor != null && c.hasFocus() ) if( focusedColor != null && FlatUIUtils.isPermanentFocusOwner( c ) )
return focusedColor; return focusedColor;
return enabledColor; return enabledColor;
@@ -399,6 +401,8 @@ public class FlatButtonUI
return new Dimension( helpButtonIcon.getIconWidth(), helpButtonIcon.getIconHeight() ); return new Dimension( helpButtonIcon.getIconWidth(), helpButtonIcon.getIconHeight() );
Dimension prefSize = super.getPreferredSize( c ); Dimension prefSize = super.getPreferredSize( c );
if ( prefSize == null )
return null;
// make button square if it is a icon-only button // make button square if it is a icon-only button
// or apply minimum width, if not in toolbar and not a icon-only button // or apply minimum width, if not in toolbar and not a icon-only button

View File

@@ -16,12 +16,9 @@
package com.formdev.flatlaf.ui; package com.formdev.flatlaf.ui;
import java.awt.Dimension;
import javax.swing.JComponent; import javax.swing.JComponent;
import javax.swing.UIManager;
import javax.swing.plaf.ComponentUI; import javax.swing.plaf.ComponentUI;
import javax.swing.plaf.basic.BasicColorChooserUI; import javax.swing.plaf.basic.BasicColorChooserUI;
import com.formdev.flatlaf.util.UIScale;
/** /**
* Provides the Flat LaF UI delegate for {@link javax.swing.JColorChooser}. * Provides the Flat LaF UI delegate for {@link javax.swing.JColorChooser}.
@@ -43,21 +40,4 @@ public class FlatColorChooserUI
public static ComponentUI createUI( JComponent c ) { public static ComponentUI createUI( JComponent c ) {
return new FlatColorChooserUI(); return new FlatColorChooserUI();
} }
@Override
public void installUI( JComponent c ) {
if( UIScale.getUserScaleFactor() != 1f ) {
// temporary scale swatch sizes
Dimension swatchSize = UIManager.getDimension( "ColorChooser.swatchesSwatchSize" );
Dimension swatchSize2 = UIManager.getDimension( "ColorChooser.swatchesRecentSwatchSize" );
UIManager.put( "ColorChooser.swatchesSwatchSize", UIScale.scale( swatchSize ) );
UIManager.put( "ColorChooser.swatchesRecentSwatchSize", UIScale.scale( swatchSize2 ) );
super.installUI( c );
UIManager.put( "ColorChooser.swatchesSwatchSize", null );
UIManager.put( "ColorChooser.swatchesRecentSwatchSize", null );
} else
super.installUI( c );
}
} }

View File

@@ -281,13 +281,14 @@ public class FlatComboBoxUI
// macOS // macOS
if( SystemInfo.IS_MAC && editor instanceof JTextComponent ) { if( SystemInfo.IS_MAC && editor instanceof JTextComponent ) {
// delegate actions from editor text field to combobox, which is necessary // delegate actions from editor text field to combobox, which is necessary
// because text field on macOS (based on Aqua LaF UI defaults) // because text field on macOS already handle those keys
// already handle those keys
InputMap inputMap = ((JTextComponent)editor).getInputMap(); InputMap inputMap = ((JTextComponent)editor).getInputMap();
new EditorDelegateAction( inputMap, KeyStroke.getKeyStroke( "UP" ) ); new EditorDelegateAction( inputMap, KeyStroke.getKeyStroke( "UP" ) );
new EditorDelegateAction( inputMap, KeyStroke.getKeyStroke( "KP_UP" ) ); new EditorDelegateAction( inputMap, KeyStroke.getKeyStroke( "KP_UP" ) );
new EditorDelegateAction( inputMap, KeyStroke.getKeyStroke( "DOWN" ) ); new EditorDelegateAction( inputMap, KeyStroke.getKeyStroke( "DOWN" ) );
new EditorDelegateAction( inputMap, KeyStroke.getKeyStroke( "KP_DOWN" ) ); new EditorDelegateAction( inputMap, KeyStroke.getKeyStroke( "KP_DOWN" ) );
new EditorDelegateAction( inputMap, KeyStroke.getKeyStroke( "HOME" ) );
new EditorDelegateAction( inputMap, KeyStroke.getKeyStroke( "END" ) );
} }
} }
@@ -459,12 +460,12 @@ public class FlatComboBoxUI
//---- class FlatComboPopup ----------------------------------------------- //---- class FlatComboPopup -----------------------------------------------
@SuppressWarnings( { "rawtypes", "unchecked" } ) @SuppressWarnings( { "rawtypes", "unchecked" } )
private class FlatComboPopup protected class FlatComboPopup
extends BasicComboPopup extends BasicComboPopup
{ {
private CellPaddingBorder paddingBorder; private CellPaddingBorder paddingBorder;
FlatComboPopup( JComboBox combo ) { protected FlatComboPopup( JComboBox combo ) {
super( combo ); super( combo );
// BasicComboPopup listens to JComboBox.componentOrientation and updates // BasicComboPopup listens to JComboBox.componentOrientation and updates
@@ -479,13 +480,8 @@ public class FlatComboBoxUI
@Override @Override
protected Rectangle computePopupBounds( int px, int py, int pw, int ph ) { protected Rectangle computePopupBounds( int px, int py, int pw, int ph ) {
// get maximum display size of all items, ignoring prototype value // get maximum display size of all items
Object prototype = comboBox.getPrototypeDisplayValue();
if( prototype != null )
comboBox.setPrototypeDisplayValue( null );
Dimension displaySize = getDisplaySize(); Dimension displaySize = getDisplaySize();
if( prototype != null )
comboBox.setPrototypeDisplayValue( prototype );
// make popup wider if necessary // make popup wider if necessary
if( displaySize.width > pw ) { if( displaySize.width > pw ) {

View File

@@ -39,6 +39,7 @@ import javax.swing.plaf.ComponentUI;
* *
* <!-- FlatTextFieldUI --> * <!-- FlatTextFieldUI -->
* *
* @uiDefault TextComponent.arc int
* @uiDefault Component.focusWidth int * @uiDefault Component.focusWidth int
* @uiDefault Component.minimumWidth int * @uiDefault Component.minimumWidth int
* @uiDefault Component.isIntelliJTheme boolean * @uiDefault Component.isIntelliJTheme boolean

View File

@@ -26,9 +26,9 @@ import java.awt.Insets;
/** /**
* Line border for various components. * Line border for various components.
* *
* Paints a scaled 1px thick line around the component. * Paints a scaled (usually 1px thick) line around the component.
* The line thickness is not included in the border insets. * The line thickness is not added to the border insets.
* The insets should be at least 1,1,1,1. * The insets should be at least have line thickness (usually 1,1,1,1).
* *
* @author Karl Tauber * @author Karl Tauber
*/ */
@@ -36,10 +36,16 @@ public class FlatLineBorder
extends FlatEmptyBorder extends FlatEmptyBorder
{ {
private final Color lineColor; private final Color lineColor;
private final float lineThickness;
public FlatLineBorder( Insets insets, Color lineColor ) { public FlatLineBorder( Insets insets, Color lineColor ) {
this( insets, lineColor, 1f );
}
public FlatLineBorder( Insets insets, Color lineColor, float lineThickness ) {
super( insets ); super( insets );
this.lineColor = lineColor; this.lineColor = lineColor;
this.lineThickness = lineThickness;
} }
@Override @Override
@@ -48,7 +54,7 @@ public class FlatLineBorder
try { try {
FlatUIUtils.setRenderingHints( g2 ); FlatUIUtils.setRenderingHints( g2 );
g2.setColor( lineColor ); g2.setColor( lineColor );
FlatUIUtils.paintComponentBorder( g2, x, y, width, height, 0f, scale( 1f ), 0f ); FlatUIUtils.paintComponentBorder( g2, x, y, width, height, 0f, scale( lineThickness ), 0f );
} finally { } finally {
g2.dispose(); g2.dispose();
} }

View File

@@ -81,7 +81,7 @@ public class FlatListUI
selectionInactiveBackground = UIManager.getColor( "List.selectionInactiveBackground" ); selectionInactiveBackground = UIManager.getColor( "List.selectionInactiveBackground" );
selectionInactiveForeground = UIManager.getColor( "List.selectionInactiveForeground" ); selectionInactiveForeground = UIManager.getColor( "List.selectionInactiveForeground" );
toggleSelectionColors( list.hasFocus() ); toggleSelectionColors();
} }
@Override @Override
@@ -100,13 +100,13 @@ public class FlatListUI
@Override @Override
public void focusGained( FocusEvent e ) { public void focusGained( FocusEvent e ) {
super.focusGained( e ); super.focusGained( e );
toggleSelectionColors( true ); toggleSelectionColors();
} }
@Override @Override
public void focusLost( FocusEvent e ) { public void focusLost( FocusEvent e ) {
super.focusLost( e ); super.focusLost( e );
toggleSelectionColors( false ); toggleSelectionColors();
} }
}; };
} }
@@ -120,8 +120,8 @@ public class FlatListUI
* already used in applications. Then either the inactive colors are not used, * already used in applications. Then either the inactive colors are not used,
* or the application has to be changed to extend a FlatLaf renderer. * or the application has to be changed to extend a FlatLaf renderer.
*/ */
private void toggleSelectionColors( boolean focused ) { private void toggleSelectionColors() {
if( focused ) { if( FlatUIUtils.isPermanentFocusOwner( list ) ) {
if( list.getSelectionBackground() == selectionInactiveBackground ) if( list.getSelectionBackground() == selectionInactiveBackground )
list.setSelectionBackground( selectionBackground ); list.setSelectionBackground( selectionBackground );
if( list.getSelectionForeground() == selectionInactiveForeground ) if( list.getSelectionForeground() == selectionInactiveForeground )

View File

@@ -0,0 +1,45 @@
/*
* Copyright 2020 FormDev Software GmbH
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.formdev.flatlaf.ui;
import javax.swing.JComponent;
import javax.swing.plaf.ComponentUI;
import javax.swing.plaf.basic.BasicPanelUI;
/**
* Provides the Flat LaF UI delegate for {@link javax.swing.JPanel}.
*
* <!-- BasicPanelUI -->
*
* @uiDefault Panel.font Font unused
* @uiDefault Panel.background Color only used if opaque
* @uiDefault Panel.foreground Color
* @uiDefault Panel.border Border
*
* @author Karl Tauber
*/
public class FlatPanelUI
extends BasicPanelUI
{
private static ComponentUI instance;
public static ComponentUI createUI( JComponent c ) {
if( instance == null )
instance = new FlatPanelUI();
return instance;
}
}

View File

@@ -20,14 +20,20 @@ import static com.formdev.flatlaf.util.UIScale.scale;
import java.awt.Color; import java.awt.Color;
import java.awt.Dimension; import java.awt.Dimension;
import java.awt.Graphics; import java.awt.Graphics;
import java.awt.Toolkit;
import java.awt.event.FocusListener; import java.awt.event.FocusListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeEvent;
import javax.swing.Icon;
import javax.swing.JComponent; import javax.swing.JComponent;
import javax.swing.LookAndFeel; import javax.swing.LookAndFeel;
import javax.swing.UIManager; import javax.swing.UIManager;
import javax.swing.plaf.ComponentUI; import javax.swing.plaf.ComponentUI;
import javax.swing.plaf.basic.BasicPasswordFieldUI; import javax.swing.plaf.basic.BasicPasswordFieldUI;
import javax.swing.text.Caret; import javax.swing.text.Caret;
import javax.swing.text.JTextComponent;
import com.formdev.flatlaf.FlatClientProperties; import com.formdev.flatlaf.FlatClientProperties;
/** /**
@@ -51,10 +57,12 @@ import com.formdev.flatlaf.FlatClientProperties;
* *
* <!-- FlatPasswordFieldUI --> * <!-- FlatPasswordFieldUI -->
* *
* @uiDefault TextComponent.arc int
* @uiDefault Component.focusWidth int * @uiDefault Component.focusWidth int
* @uiDefault Component.minimumWidth int * @uiDefault Component.minimumWidth int
* @uiDefault Component.isIntelliJTheme boolean * @uiDefault Component.isIntelliJTheme boolean
* @uiDefault PasswordField.placeholderForeground Color * @uiDefault PasswordField.placeholderForeground Color
* @uiDefault PasswordField.capsLockIcon Icon
* @uiDefault TextComponent.selectAllOnFocusPolicy String never, once (default) or always * @uiDefault TextComponent.selectAllOnFocusPolicy String never, once (default) or always
* *
* @author Karl Tauber * @author Karl Tauber
@@ -62,12 +70,15 @@ import com.formdev.flatlaf.FlatClientProperties;
public class FlatPasswordFieldUI public class FlatPasswordFieldUI
extends BasicPasswordFieldUI extends BasicPasswordFieldUI
{ {
protected int arc;
protected int focusWidth; protected int focusWidth;
protected int minimumWidth; protected int minimumWidth;
protected boolean isIntelliJTheme; protected boolean isIntelliJTheme;
protected Color placeholderForeground; protected Color placeholderForeground;
protected Icon capsLockIcon;
private FocusListener focusListener; private FocusListener focusListener;
private KeyListener capsLockListener;
public static ComponentUI createUI( JComponent c ) { public static ComponentUI createUI( JComponent c ) {
return new FlatPasswordFieldUI(); return new FlatPasswordFieldUI();
@@ -78,10 +89,12 @@ public class FlatPasswordFieldUI
super.installDefaults(); super.installDefaults();
String prefix = getPropertyPrefix(); String prefix = getPropertyPrefix();
arc = UIManager.getInt( "TextComponent.arc" );
focusWidth = UIManager.getInt( "Component.focusWidth" ); focusWidth = UIManager.getInt( "Component.focusWidth" );
minimumWidth = UIManager.getInt( "Component.minimumWidth" ); minimumWidth = UIManager.getInt( "Component.minimumWidth" );
isIntelliJTheme = UIManager.getBoolean( "Component.isIntelliJTheme" ); isIntelliJTheme = UIManager.getBoolean( "Component.isIntelliJTheme" );
placeholderForeground = UIManager.getColor( prefix + ".placeholderForeground" ); placeholderForeground = UIManager.getColor( prefix + ".placeholderForeground" );
capsLockIcon = UIManager.getIcon( "PasswordField.capsLockIcon" );
LookAndFeel.installProperty( getComponent(), "opaque", focusWidth == 0 ); LookAndFeel.installProperty( getComponent(), "opaque", focusWidth == 0 );
@@ -93,6 +106,7 @@ public class FlatPasswordFieldUI
super.uninstallDefaults(); super.uninstallDefaults();
placeholderForeground = null; placeholderForeground = null;
capsLockIcon = null;
MigLayoutVisualPadding.uninstall( getComponent() ); MigLayoutVisualPadding.uninstall( getComponent() );
} }
@@ -102,7 +116,23 @@ public class FlatPasswordFieldUI
super.installListeners(); super.installListeners();
focusListener = new FlatUIUtils.RepaintFocusListener( getComponent() ); focusListener = new FlatUIUtils.RepaintFocusListener( getComponent() );
capsLockListener = new KeyAdapter() {
@Override
public void keyPressed( KeyEvent e ) {
repaint( e );
}
@Override
public void keyReleased( KeyEvent e ) {
repaint( e );
}
private void repaint( KeyEvent e ) {
if( e.getKeyCode() == KeyEvent.VK_CAPS_LOCK )
e.getComponent().repaint();
}
};
getComponent().addFocusListener( focusListener ); getComponent().addFocusListener( focusListener );
getComponent().addKeyListener( capsLockListener );
} }
@Override @Override
@@ -110,7 +140,9 @@ public class FlatPasswordFieldUI
super.uninstallListeners(); super.uninstallListeners();
getComponent().removeFocusListener( focusListener ); getComponent().removeFocusListener( focusListener );
getComponent().removeKeyListener( capsLockListener );
focusListener = null; focusListener = null;
capsLockListener = null;
} }
@Override @Override
@@ -128,11 +160,23 @@ public class FlatPasswordFieldUI
@Override @Override
protected void paintSafely( Graphics g ) { protected void paintSafely( Graphics g ) {
FlatTextFieldUI.paintBackground( g, getComponent(), focusWidth, isIntelliJTheme ); FlatTextFieldUI.paintBackground( g, getComponent(), focusWidth, arc, isIntelliJTheme );
FlatTextFieldUI.paintPlaceholder( g, getComponent(), placeholderForeground ); FlatTextFieldUI.paintPlaceholder( g, getComponent(), placeholderForeground );
paintCapsLock( g );
super.paintSafely( g ); super.paintSafely( g );
} }
protected void paintCapsLock( Graphics g ) {
JTextComponent c = getComponent();
if( !FlatUIUtils.isPermanentFocusOwner( c ) ||
!Toolkit.getDefaultToolkit().getLockingKeyState( KeyEvent.VK_CAPS_LOCK ) )
return;
int y = (c.getHeight() - capsLockIcon.getIconHeight()) / 2;
int x = c.getWidth() - capsLockIcon.getIconWidth() - y;
capsLockIcon.paintIcon( c, g, x, y );
}
@Override @Override
protected void paintBackground( Graphics g ) { protected void paintBackground( Graphics g ) {
// background is painted elsewhere // background is painted elsewhere

View File

@@ -101,6 +101,8 @@ public class FlatRadioButtonUI
@Override @Override
public Dimension getPreferredSize( JComponent c ) { public Dimension getPreferredSize( JComponent c ) {
Dimension size = super.getPreferredSize( c ); Dimension size = super.getPreferredSize( c );
if( size == null )
return null;
// small insets fix // small insets fix
int focusWidth = getIconFocusWidth( c ); int focusWidth = getIconFocusWidth( c );

View File

@@ -0,0 +1,38 @@
/*
* Copyright 2020 FormDev Software GmbH
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.formdev.flatlaf.ui;
import javax.swing.JComponent;
import javax.swing.plaf.ComponentUI;
import javax.swing.plaf.basic.BasicRootPaneUI;
/**
* Provides the Flat LaF UI delegate for {@link javax.swing.JRootPane}.
*
* @author Karl Tauber
*/
public class FlatRootPaneUI
extends BasicRootPaneUI
{
private static ComponentUI instance;
public static ComponentUI createUI( JComponent c ) {
if( instance == null )
instance = new FlatRootPaneUI();
return instance;
}
}

View File

@@ -25,9 +25,11 @@ import java.awt.event.MouseEvent;
import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener; import java.beans.PropertyChangeListener;
import java.util.Objects; import java.util.Objects;
import javax.swing.InputMap;
import javax.swing.JButton; import javax.swing.JButton;
import javax.swing.JComponent; import javax.swing.JComponent;
import javax.swing.JScrollPane; import javax.swing.JScrollPane;
import javax.swing.SwingUtilities;
import javax.swing.UIManager; import javax.swing.UIManager;
import javax.swing.plaf.ComponentUI; import javax.swing.plaf.ComponentUI;
import javax.swing.plaf.basic.BasicScrollBarUI; import javax.swing.plaf.basic.BasicScrollBarUI;
@@ -127,9 +129,24 @@ public class FlatScrollBarUI
public void propertyChange( PropertyChangeEvent e ) { public void propertyChange( PropertyChangeEvent e ) {
super.propertyChange( e ); super.propertyChange( e );
if( FlatClientProperties.SCROLL_BAR_SHOW_BUTTONS.equals( e.getPropertyName() ) ) { switch( e.getPropertyName() ) {
scrollbar.revalidate(); case FlatClientProperties.SCROLL_BAR_SHOW_BUTTONS:
scrollbar.repaint(); scrollbar.revalidate();
scrollbar.repaint();
break;
case "componentOrientation":
// this is missing in BasicScrollBarUI.Handler.propertyChange()
InputMap inputMap = (InputMap) UIManager.get( "ScrollBar.ancestorInputMap" );
if( !scrollbar.getComponentOrientation().isLeftToRight() ) {
InputMap rtlInputMap = (InputMap) UIManager.get( "ScrollBar.ancestorInputMap.RightToLeft" );
if( rtlInputMap != null ) {
rtlInputMap.setParent( inputMap );
inputMap = rtlInputMap;
}
}
SwingUtilities.replaceUIInputMap( scrollbar, JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, inputMap );
break;
} }
} }
}; };

View File

@@ -201,7 +201,7 @@ public class FlatSliderUI
} }
if( coloredTrack != null ) { if( coloredTrack != null ) {
FlatUIUtils.setColor( g, slider.hasFocus() ? focusColor : (hover ? hoverColor : thumbColor), thumbColor ); FlatUIUtils.setColor( g, FlatUIUtils.isPermanentFocusOwner( slider ) ? focusColor : (hover ? hoverColor : thumbColor), thumbColor );
((Graphics2D)g).fill( coloredTrack ); ((Graphics2D)g).fill( coloredTrack );
} }
@@ -212,7 +212,7 @@ public class FlatSliderUI
@Override @Override
public void paintThumb( Graphics g ) { public void paintThumb( Graphics g ) {
FlatUIUtils.setColor( g, slider.isEnabled() FlatUIUtils.setColor( g, slider.isEnabled()
? (slider.hasFocus() ? focusColor : (hover ? hoverColor : thumbColor)) ? (FlatUIUtils.isPermanentFocusOwner( slider ) ? focusColor : (hover ? hoverColor : thumbColor))
: disabledForeground, : disabledForeground,
thumbColor ); thumbColor );

View File

@@ -26,15 +26,21 @@ import java.awt.FontMetrics;
import java.awt.Graphics; import java.awt.Graphics;
import java.awt.Graphics2D; import java.awt.Graphics2D;
import java.awt.Insets; import java.awt.Insets;
import java.awt.KeyboardFocusManager;
import java.awt.Rectangle; import java.awt.Rectangle;
import java.awt.Shape; import java.awt.Shape;
import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;
import java.awt.geom.Path2D; import java.awt.geom.Path2D;
import java.awt.geom.Rectangle2D; import java.awt.geom.Rectangle2D;
import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener; import java.beans.PropertyChangeListener;
import java.util.Collections;
import java.util.Set;
import javax.swing.JButton; import javax.swing.JButton;
import javax.swing.JComponent; import javax.swing.JComponent;
import javax.swing.JTabbedPane; import javax.swing.JTabbedPane;
import javax.swing.KeyStroke;
import javax.swing.UIManager; import javax.swing.UIManager;
import javax.swing.plaf.ComponentUI; import javax.swing.plaf.ComponentUI;
import javax.swing.plaf.UIResource; import javax.swing.plaf.UIResource;
@@ -90,6 +96,9 @@ import com.formdev.flatlaf.util.UIScale;
public class FlatTabbedPaneUI public class FlatTabbedPaneUI
extends BasicTabbedPaneUI extends BasicTabbedPaneUI
{ {
private static Set<KeyStroke> focusForwardTraversalKeys;
private static Set<KeyStroke> focusBackwardTraversalKeys;
protected Color disabledForeground; protected Color disabledForeground;
protected Color selectedBackground; protected Color selectedBackground;
protected Color selectedForeground; protected Color selectedForeground;
@@ -142,11 +151,27 @@ public class FlatTabbedPaneUI
tabHeight = scale( tabHeight ); tabHeight = scale( tabHeight );
tabSelectionHeight = scale( tabSelectionHeight ); tabSelectionHeight = scale( tabSelectionHeight );
// replace focus forward/backward traversal keys with TAB/Shift+TAB because
// the default also includes Ctrl+TAB/Ctrl+Shift+TAB, which we need to switch tabs
if( focusForwardTraversalKeys == null ) {
focusForwardTraversalKeys = Collections.singleton( KeyStroke.getKeyStroke( KeyEvent.VK_TAB, 0 ) );
focusBackwardTraversalKeys = Collections.singleton( KeyStroke.getKeyStroke( KeyEvent.VK_TAB, InputEvent.SHIFT_MASK ) );
}
// Ideally we should use `LookAndFeel.installProperty( tabPane, "focusTraversalKeysForward", keys )` here
// instead of `tabPane.setFocusTraversalKeys()`, but WindowsTabbedPaneUI also uses later method
// and switching from Windows LaF to FlatLaf would not replace the keys and Ctrl+TAB would not work.
tabPane.setFocusTraversalKeys( KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, focusForwardTraversalKeys );
tabPane.setFocusTraversalKeys( KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, focusBackwardTraversalKeys );
MigLayoutVisualPadding.install( tabPane, null ); MigLayoutVisualPadding.install( tabPane, null );
} }
@Override @Override
protected void uninstallDefaults() { protected void uninstallDefaults() {
// restore focus forward/backward traversal keys
tabPane.setFocusTraversalKeys( KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, null );
tabPane.setFocusTraversalKeys( KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, null );
super.uninstallDefaults(); super.uninstallDefaults();
disabledForeground = null; disabledForeground = null;
@@ -293,7 +318,7 @@ public class FlatTabbedPaneUI
boolean enabled = tabPane.isEnabled(); boolean enabled = tabPane.isEnabled();
g.setColor( enabled && tabPane.isEnabledAt( tabIndex ) && getRolloverTab() == tabIndex g.setColor( enabled && tabPane.isEnabledAt( tabIndex ) && getRolloverTab() == tabIndex
? hoverColor ? hoverColor
: (enabled && isSelected && tabPane.hasFocus() : (enabled && isSelected && FlatUIUtils.isPermanentFocusOwner( tabPane )
? focusColor ? focusColor
: (selectedBackground != null && enabled && isSelected : (selectedBackground != null && enabled && isSelected
? selectedBackground ? selectedBackground

View File

@@ -113,7 +113,7 @@ public class FlatTableUI
selectionInactiveBackground = UIManager.getColor( "Table.selectionInactiveBackground" ); selectionInactiveBackground = UIManager.getColor( "Table.selectionInactiveBackground" );
selectionInactiveForeground = UIManager.getColor( "Table.selectionInactiveForeground" ); selectionInactiveForeground = UIManager.getColor( "Table.selectionInactiveForeground" );
toggleSelectionColors( table.hasFocus() ); toggleSelectionColors();
int rowHeight = FlatUIUtils.getUIInt( "Table.rowHeight", 16 ); int rowHeight = FlatUIUtils.getUIInt( "Table.rowHeight", 16 );
if( rowHeight > 0 ) if( rowHeight > 0 )
@@ -160,13 +160,13 @@ public class FlatTableUI
@Override @Override
public void focusGained( FocusEvent e ) { public void focusGained( FocusEvent e ) {
super.focusGained( e ); super.focusGained( e );
toggleSelectionColors( true ); toggleSelectionColors();
} }
@Override @Override
public void focusLost( FocusEvent e ) { public void focusLost( FocusEvent e ) {
super.focusLost( e ); super.focusLost( e );
toggleSelectionColors( false ); toggleSelectionColors();
} }
}; };
} }
@@ -180,8 +180,8 @@ public class FlatTableUI
* already used in applications. Then either the inactive colors are not used, * already used in applications. Then either the inactive colors are not used,
* or the application has to be changed to extend a FlatLaf renderer. * or the application has to be changed to extend a FlatLaf renderer.
*/ */
private void toggleSelectionColors( boolean focused ) { private void toggleSelectionColors() {
if( focused ) { if( FlatUIUtils.isPermanentFocusOwner( table ) ) {
if( table.getSelectionBackground() == selectionInactiveBackground ) if( table.getSelectionBackground() == selectionInactiveBackground )
table.setSelectionBackground( selectionBackground ); table.setSelectionBackground( selectionBackground );
if( table.getSelectionForeground() == selectionInactiveForeground ) if( table.getSelectionForeground() == selectionInactiveForeground )

View File

@@ -0,0 +1,39 @@
/*
* Copyright 2019 FormDev Software GmbH
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.formdev.flatlaf.ui;
import static com.formdev.flatlaf.util.UIScale.scale;
import java.awt.Component;
import javax.swing.UIManager;
/**
* Border for various text components (e.g. {@link javax.swing.JTextField}).
*
* @uiDefault Component.arc int
*
* @author Karl Tauber
*/
public class FlatTextBorder
extends FlatBorder
{
protected final int arc = UIManager.getInt( "TextComponent.arc" );
@Override
protected float getArc( Component c ) {
return scale( (float) arc );
}
}

View File

@@ -32,6 +32,7 @@ import javax.swing.JSpinner;
import javax.swing.JTextField; import javax.swing.JTextField;
import javax.swing.LookAndFeel; import javax.swing.LookAndFeel;
import javax.swing.UIManager; import javax.swing.UIManager;
import javax.swing.border.Border;
import javax.swing.plaf.ComponentUI; import javax.swing.plaf.ComponentUI;
import javax.swing.plaf.UIResource; import javax.swing.plaf.UIResource;
import javax.swing.plaf.basic.BasicTextFieldUI; import javax.swing.plaf.basic.BasicTextFieldUI;
@@ -59,6 +60,7 @@ import com.formdev.flatlaf.FlatClientProperties;
* *
* <!-- FlatTextFieldUI --> * <!-- FlatTextFieldUI -->
* *
* @uiDefault TextComponent.arc int
* @uiDefault Component.focusWidth int * @uiDefault Component.focusWidth int
* @uiDefault Component.minimumWidth int * @uiDefault Component.minimumWidth int
* @uiDefault Component.isIntelliJTheme boolean * @uiDefault Component.isIntelliJTheme boolean
@@ -70,6 +72,7 @@ import com.formdev.flatlaf.FlatClientProperties;
public class FlatTextFieldUI public class FlatTextFieldUI
extends BasicTextFieldUI extends BasicTextFieldUI
{ {
protected int arc;
protected int focusWidth; protected int focusWidth;
protected int minimumWidth; protected int minimumWidth;
protected boolean isIntelliJTheme; protected boolean isIntelliJTheme;
@@ -86,6 +89,7 @@ public class FlatTextFieldUI
super.installDefaults(); super.installDefaults();
String prefix = getPropertyPrefix(); String prefix = getPropertyPrefix();
arc = UIManager.getInt( "TextComponent.arc" );
focusWidth = UIManager.getInt( "Component.focusWidth" ); focusWidth = UIManager.getInt( "Component.focusWidth" );
minimumWidth = UIManager.getInt( "Component.minimumWidth" ); minimumWidth = UIManager.getInt( "Component.minimumWidth" );
isIntelliJTheme = UIManager.getBoolean( "Component.isIntelliJTheme" ); isIntelliJTheme = UIManager.getBoolean( "Component.isIntelliJTheme" );
@@ -136,7 +140,7 @@ public class FlatTextFieldUI
@Override @Override
protected void paintSafely( Graphics g ) { protected void paintSafely( Graphics g ) {
paintBackground( g, getComponent(), focusWidth, isIntelliJTheme ); paintBackground( g, getComponent(), focusWidth, arc, isIntelliJTheme );
paintPlaceholder( g, getComponent(), placeholderForeground ); paintPlaceholder( g, getComponent(), placeholderForeground );
super.paintSafely( g ); super.paintSafely( g );
} }
@@ -146,13 +150,15 @@ public class FlatTextFieldUI
// background is painted elsewhere // background is painted elsewhere
} }
static void paintBackground( Graphics g, JTextComponent c, int focusWidth, boolean isIntelliJTheme ) { static void paintBackground( Graphics g, JTextComponent c, int focusWidth, int arc, boolean isIntelliJTheme ) {
Border border = c.getBorder();
// do not paint background if: // do not paint background if:
// - not opaque and // - not opaque and
// - border is not a flat border and // - border is not a flat border and
// - opaque was explicitly set (to false) // - opaque was explicitly set (to false)
// (same behaviour as in AquaTextFieldUI) // (same behaviour as in AquaTextFieldUI)
if( !c.isOpaque() && !(c.getBorder() instanceof FlatBorder) && FlatUIUtils.hasOpaqueBeenExplicitlySet( c ) ) if( !c.isOpaque() && !(border instanceof FlatBorder) && FlatUIUtils.hasOpaqueBeenExplicitlySet( c ) )
return; return;
// fill background if opaque to avoid garbage if user sets opaque to true // fill background if opaque to avoid garbage if user sets opaque to true
@@ -164,7 +170,8 @@ public class FlatTextFieldUI
try { try {
FlatUIUtils.setRenderingHints( g2 ); FlatUIUtils.setRenderingHints( g2 );
float fFocusWidth = (c.getBorder() instanceof FlatBorder) ? scale( (float) focusWidth ) : 0; float fFocusWidth = (border instanceof FlatBorder) ? scale( (float) focusWidth ) : 0;
float fArc = (border instanceof FlatTextBorder) ? scale( (float) arc ) : 0;
Color background = c.getBackground(); Color background = c.getBackground();
g2.setColor( !(background instanceof UIResource) g2.setColor( !(background instanceof UIResource)
@@ -172,7 +179,7 @@ public class FlatTextFieldUI
: (isIntelliJTheme && (!c.isEnabled() || !c.isEditable()) : (isIntelliJTheme && (!c.isEnabled() || !c.isEditable())
? FlatUIUtils.getParentBackground( c ) ? FlatUIUtils.getParentBackground( c )
: background) ); : background) );
FlatUIUtils.paintComponentBackground( g2, 0, 0, c.getWidth(), c.getHeight(), fFocusWidth, 0 ); FlatUIUtils.paintComponentBackground( g2, 0, 0, c.getWidth(), c.getHeight(), fFocusWidth, fArc );
} finally { } finally {
g2.dispose(); g2.dispose();
} }

View File

@@ -221,7 +221,7 @@ public class FlatTreeUI
TreePath path, int row, boolean isExpanded, boolean hasBeenExpanded, boolean isLeaf ) TreePath path, int row, boolean isExpanded, boolean hasBeenExpanded, boolean isLeaf )
{ {
boolean isEditing = (editingComponent != null && editingRow == row); boolean isEditing = (editingComponent != null && editingRow == row);
boolean hasFocus = tree.hasFocus(); boolean hasFocus = FlatUIUtils.isPermanentFocusOwner( tree );
boolean cellHasFocus = hasFocus && (row == getLeadSelectionRow()); boolean cellHasFocus = hasFocus && (row == getLeadSelectionRow());
boolean isSelected = tree.isRowSelected( row ); boolean isSelected = tree.isRowSelected( row );
boolean isDropRow = isDropRow( row ); boolean isDropRow = isDropRow( row );

View File

@@ -24,6 +24,7 @@ import java.awt.Font;
import java.awt.Graphics; import java.awt.Graphics;
import java.awt.Graphics2D; import java.awt.Graphics2D;
import java.awt.Insets; import java.awt.Insets;
import java.awt.KeyboardFocusManager;
import java.awt.Rectangle; import java.awt.Rectangle;
import java.awt.RenderingHints; import java.awt.RenderingHints;
import java.awt.Shape; import java.awt.Shape;
@@ -121,7 +122,7 @@ public class FlatUIUtils
} }
public static Font nonUIResource( Font font ) { public static Font nonUIResource( Font font ) {
return (font instanceof UIResource) ? new Font( font.getName(), font.getStyle(), font.getSize() ) : font; return (font instanceof UIResource) ? font.deriveFont( font.getStyle() ) : font;
} }
public static int minimumWidth( JComponent c, int minimumWidth ) { public static int minimumWidth( JComponent c, int minimumWidth ) {
@@ -136,6 +137,10 @@ public class FlatUIUtils
return c instanceof JComponent && Boolean.TRUE.equals( ((JComponent)c).getClientProperty( "JComboBox.isTableCellEditor" ) ); return c instanceof JComponent && Boolean.TRUE.equals( ((JComponent)c).getClientProperty( "JComboBox.isTableCellEditor" ) );
} }
public static boolean isPermanentFocusOwner( Component c ) {
return (KeyboardFocusManager.getCurrentKeyboardFocusManager().getPermanentFocusOwner() == c);
}
/** /**
* Sets rendering hints used for painting. * Sets rendering hints used for painting.
*/ */
@@ -167,7 +172,7 @@ public class FlatUIUtils
double systemScaleFactor = UIScale.getSystemScaleFactor( g ); double systemScaleFactor = UIScale.getSystemScaleFactor( g );
if( systemScaleFactor != 1 && systemScaleFactor != 2 ) { if( systemScaleFactor != 1 && systemScaleFactor != 2 ) {
// paint at scale 1x to avoid clipping on right and bottom edges at 125%, 150% or 175% // paint at scale 1x to avoid clipping on right and bottom edges at 125%, 150% or 175%
HiDPIUtils.paintAtScale1x( g, x, y, width, height, systemScaleFactor, HiDPIUtils.paintAtScale1x( g, x, y, width, height,
(g2d, x2, y2, width2, height2, scaleFactor) -> { (g2d, x2, y2, width2, height2, scaleFactor) -> {
paintComponentOuterBorderImpl( g2d, x2, y2, width2, height2, paintComponentOuterBorderImpl( g2d, x2, y2, width2, height2,
(float) (focusWidth * scaleFactor), (float) (lineWidth * scaleFactor), (float) (arc * scaleFactor) ); (float) (focusWidth * scaleFactor), (float) (lineWidth * scaleFactor), (float) (arc * scaleFactor) );
@@ -181,13 +186,22 @@ public class FlatUIUtils
private static void paintComponentOuterBorderImpl( Graphics2D g, int x, int y, int width, int height, private static void paintComponentOuterBorderImpl( Graphics2D g, int x, int y, int width, int height,
float focusWidth, float lineWidth, float arc ) float focusWidth, float lineWidth, float arc )
{ {
float outerRadius = (arc > 0) ? arc + focusWidth - UIScale.scale( 2f ) : focusWidth;
float ow = focusWidth + lineWidth; float ow = focusWidth + lineWidth;
float innerRadius = outerRadius - ow; float outerArc = arc + (focusWidth * 2);
float innerArc = arc - (lineWidth * 2);
// reduce outer arc slightly for small arcs to make the curve slightly wider
if( arc > 0 && arc < UIScale.scale( 10 ) )
outerArc -= UIScale.scale( 2f );
if( outerArc < 0 )
outerArc = 0;
if( innerArc < 0 )
innerArc = 0;
Path2D path = new Path2D.Float( Path2D.WIND_EVEN_ODD ); Path2D path = new Path2D.Float( Path2D.WIND_EVEN_ODD );
path.append( createRoundRectanglePath( x, y, width, height, outerRadius, outerRadius, outerRadius, outerRadius ), false ); path.append( new RoundRectangle2D.Float( x, y, width, height, outerArc, outerArc ), false );
path.append( createRoundRectanglePath( x + ow, y + ow, width - (ow * 2), height - (ow * 2), innerRadius, innerRadius, innerRadius, innerRadius ), false ); path.append( new RoundRectangle2D.Float( x + ow, y + ow, width - (ow * 2), height - (ow * 2), innerArc, innerArc ), false );
g.fill( path ); g.fill( path );
} }
@@ -207,7 +221,7 @@ public class FlatUIUtils
double systemScaleFactor = UIScale.getSystemScaleFactor( g ); double systemScaleFactor = UIScale.getSystemScaleFactor( g );
if( systemScaleFactor != 1 && systemScaleFactor != 2 ) { if( systemScaleFactor != 1 && systemScaleFactor != 2 ) {
// paint at scale 1x to avoid clipping on right and bottom edges at 125%, 150% or 175% // paint at scale 1x to avoid clipping on right and bottom edges at 125%, 150% or 175%
HiDPIUtils.paintAtScale1x( g, x, y, width, height, systemScaleFactor, HiDPIUtils.paintAtScale1x( g, x, y, width, height,
(g2d, x2, y2, width2, height2, scaleFactor) -> { (g2d, x2, y2, width2, height2, scaleFactor) -> {
paintComponentBorderImpl( g2d, x2, y2, width2, height2, paintComponentBorderImpl( g2d, x2, y2, width2, height2,
(float) (focusWidth * scaleFactor), (float) (lineWidth * scaleFactor), (float) (arc * scaleFactor) ); (float) (focusWidth * scaleFactor), (float) (lineWidth * scaleFactor), (float) (arc * scaleFactor) );
@@ -221,7 +235,12 @@ public class FlatUIUtils
private static void paintComponentBorderImpl( Graphics2D g, int x, int y, int width, int height, private static void paintComponentBorderImpl( Graphics2D g, int x, int y, int width, int height,
float focusWidth, float lineWidth, float arc ) float focusWidth, float lineWidth, float arc )
{ {
float arc2 = arc > lineWidth ? arc - lineWidth : 0f; float arc2 = arc - (lineWidth * 2);
if( arc < 0 )
arc = 0;
if( arc2 < 0 )
arc2 = 0;
RoundRectangle2D.Float r1 = new RoundRectangle2D.Float( RoundRectangle2D.Float r1 = new RoundRectangle2D.Float(
x + focusWidth, y + focusWidth, x + focusWidth, y + focusWidth,
@@ -252,7 +271,7 @@ public class FlatUIUtils
double systemScaleFactor = UIScale.getSystemScaleFactor( g ); double systemScaleFactor = UIScale.getSystemScaleFactor( g );
if( systemScaleFactor != 1 && systemScaleFactor != 2 ) { if( systemScaleFactor != 1 && systemScaleFactor != 2 ) {
// paint at scale 1x to avoid clipping on right and bottom edges at 125%, 150% or 175% // paint at scale 1x to avoid clipping on right and bottom edges at 125%, 150% or 175%
HiDPIUtils.paintAtScale1x( g, x, y, width, height, systemScaleFactor, HiDPIUtils.paintAtScale1x( g, x, y, width, height,
(g2d, x2, y2, width2, height2, scaleFactor) -> { (g2d, x2, y2, width2, height2, scaleFactor) -> {
paintComponentBackgroundImpl( g2d, x2, y2, width2, height2, paintComponentBackgroundImpl( g2d, x2, y2, width2, height2,
(float) (focusWidth * scaleFactor), (float) (arc * scaleFactor) ); (float) (focusWidth * scaleFactor), (float) (arc * scaleFactor) );
@@ -266,6 +285,9 @@ public class FlatUIUtils
private static void paintComponentBackgroundImpl( Graphics2D g, int x, int y, int width, int height, private static void paintComponentBackgroundImpl( Graphics2D g, int x, int y, int width, int height,
float focusWidth, float arc ) float focusWidth, float arc )
{ {
if( arc < 0 )
arc = 0;
g.fill( new RoundRectangle2D.Float( g.fill( new RoundRectangle2D.Float(
x + focusWidth, y + focusWidth, x + focusWidth, y + focusWidth,
width - focusWidth * 2, height - focusWidth * 2, arc, arc ) ); width - focusWidth * 2, height - focusWidth * 2, arc, arc ) );

View File

@@ -34,10 +34,6 @@ public class HiDPIUtils
paintAtScale1x( g, 0, 0, c.getWidth(), c.getHeight(), painter ); paintAtScale1x( g, 0, 0, c.getWidth(), c.getHeight(), painter );
} }
public static void paintAtScale1x( Graphics2D g, int x, int y, int width, int height, Painter painter ) {
paintAtScale1x( g, x, y, width, height, UIScale.getSystemScaleFactor( g ), painter );
}
/** /**
* Paint at system scale factor 1x to avoid rounding issues at 125%, 150% and 175% scaling. * Paint at system scale factor 1x to avoid rounding issues at 125%, 150% and 175% scaling.
* <p> * <p>
@@ -46,38 +42,29 @@ public class HiDPIUtils
* <p> * <p>
* Uses the same scaling calculation as the JRE uses. * Uses the same scaling calculation as the JRE uses.
*/ */
public static void paintAtScale1x( Graphics2D g, int x, int y, int width, int height, public static void paintAtScale1x( Graphics2D g, int x, int y, int width, int height, Painter painter ) {
double scaleFactor, Painter painter ) // save original transform
{ AffineTransform transform = g.getTransform();
if( scaleFactor == 1 ) {
// check whether scaled
if( transform.getScaleX() == 1 && transform.getScaleY() == 1 ) {
painter.paint( g, x, y, width, height, 1 ); painter.paint( g, x, y, width, height, 1 );
return; return;
} }
// save original transform
AffineTransform transform = g.getTransform();
// scale rectangle // scale rectangle
Rectangle2D.Double scaledRect = scale( transform, x, y, width, height ); Rectangle2D.Double scaledRect = scale( transform, x, y, width, height );
try { try {
// unscale to factor 1.0 // unscale to factor 1.0 and move origin (to whole numbers)
double scale = 1.0 / scaleFactor; g.setTransform( new AffineTransform( 1, 0, 0, 1,
g.scale( scale, scale ); Math.floor( scaledRect.x ), Math.floor( scaledRect.y ) ) );
// compute origin delta x/y
double dx = Math.floor( scaledRect.x ) - transform.getTranslateX();
double dy = Math.floor( scaledRect.y ) - transform.getTranslateY();
// move origin to make sure that origin x/y are at whole numbers
if( dx != 0 || dy != 0 )
g.translate( dx, dy );
int swidth = (int) scaledRect.width; int swidth = (int) scaledRect.width;
int sheight = (int) scaledRect.height; int sheight = (int) scaledRect.height;
// paint // paint
painter.paint( g, 0, 0, swidth, sheight, scaleFactor ); painter.paint( g, 0, 0, swidth, sheight, transform.getScaleX() );
} finally { } finally {
// restore original transform // restore original transform
g.setTransform( transform ); g.setTransform( transform );

View File

@@ -24,6 +24,7 @@ import java.awt.GraphicsEnvironment;
import java.awt.Insets; import java.awt.Insets;
import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener; import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeSupport;
import java.lang.reflect.Method; import java.lang.reflect.Method;
import javax.swing.LookAndFeel; import javax.swing.LookAndFeel;
import javax.swing.UIManager; import javax.swing.UIManager;
@@ -48,12 +49,15 @@ import javax.swing.plaf.UIResource;
* *
* 2) user scaling mode * 2) user scaling mode
* *
* This mode is mainly for Java 8 compatibility, but is also used on Linux. * This mode is mainly for Java 8 compatibility, but is also used on Linux
* or if the default font is changed.
* The user scale factor is computed based on the used font. * The user scale factor is computed based on the used font.
* The JRE does not scale anything. * The JRE does not scale anything.
* So we have to invoke {@link #scale(float)} where necessary. * So we have to invoke {@link #scale(float)} where necessary.
* There is only one user scale factor for all displays. * There is only one user scale factor for all displays.
* The user scale factor may change if the active LaF or "Label.font" has changed. * The user scale factor may change if the active LaF, "defaultFont" or "Label.font" has changed.
* If system scaling mode is available the user scale factor is usually 1,
* but may be larger on Linux or if the default font is changed.
* *
* @author Karl Tauber * @author Karl Tauber
*/ */
@@ -61,6 +65,20 @@ public class UIScale
{ {
private static final boolean DEBUG = false; private static final boolean DEBUG = false;
private static PropertyChangeSupport changeSupport;
public static void addPropertyChangeListener( PropertyChangeListener listener ) {
if( changeSupport == null )
changeSupport = new PropertyChangeSupport( UIScale.class );
changeSupport.addPropertyChangeListener( listener );
}
public static void removePropertyChangeListener( PropertyChangeListener listener ) {
if( changeSupport == null )
return;
changeSupport.removePropertyChangeListener( listener );
}
//---- system scaling (Java 9) -------------------------------------------- //---- system scaling (Java 9) --------------------------------------------
private static Boolean jreHiDPI; private static Boolean jreHiDPI;
@@ -97,7 +115,7 @@ public class UIScale
} }
public static double getSystemScaleFactor( GraphicsConfiguration gc ) { public static double getSystemScaleFactor( GraphicsConfiguration gc ) {
return isSystemScalingEnabled() ? gc.getDefaultTransform().getScaleX() : 1; return (isSystemScalingEnabled() && gc != null) ? gc.getDefaultTransform().getScaleX() : 1;
} }
//---- user scaling (Java 8) ---------------------------------------------- //---- user scaling (Java 8) ----------------------------------------------
@@ -110,27 +128,33 @@ public class UIScale
return; return;
initialized = true; initialized = true;
if( isUserScalingEnabled() ) { if( !isUserScalingEnabled() )
// listener to update scale factor if LaF changed or if Label.font changed return;
// (e.g. option "Override default fonts" in IntelliJ IDEA)
PropertyChangeListener listener = new PropertyChangeListener() { // listener to update scale factor if LaF changed, "defaultFont" or "Label.font" changed
@Override PropertyChangeListener listener = new PropertyChangeListener() {
public void propertyChange( PropertyChangeEvent e ) { @Override
String propName = e.getPropertyName(); public void propertyChange( PropertyChangeEvent e ) {
if( "lookAndFeel".equals( propName ) ) { switch( e.getPropertyName() ) {
case "lookAndFeel":
// it is not necessary (and possible) to remove listener of old LaF defaults // it is not necessary (and possible) to remove listener of old LaF defaults
if( e.getNewValue() instanceof LookAndFeel ) if( e.getNewValue() instanceof LookAndFeel )
UIManager.getLookAndFeelDefaults().addPropertyChangeListener( this ); UIManager.getLookAndFeelDefaults().addPropertyChangeListener( this );
updateScaleFactor(); updateScaleFactor();
} else if( "Label.font".equals( propName ) ) break;
updateScaleFactor();
}
};
UIManager.addPropertyChangeListener( listener );
UIManager.getLookAndFeelDefaults().addPropertyChangeListener( listener );
updateScaleFactor(); case "defaultFont":
} case "Label.font":
updateScaleFactor();
break;
}
}
};
UIManager.addPropertyChangeListener( listener );
UIManager.getDefaults().addPropertyChangeListener( listener );
UIManager.getLookAndFeelDefaults().addPropertyChangeListener( listener );
updateScaleFactor();
} }
private static void updateScaleFactor() { private static void updateScaleFactor() {
@@ -141,7 +165,9 @@ public class UIScale
// because even if we are on a HiDPI display it is not sure // because even if we are on a HiDPI display it is not sure
// that a larger font size is set by the current LaF // that a larger font size is set by the current LaF
// (e.g. can avoid large icons with small text) // (e.g. can avoid large icons with small text)
Font font = UIManager.getFont( "Label.font" ); Font font = UIManager.getFont( "defaultFont" );
if( font == null )
font = UIManager.getFont( "Label.font" );
setUserScaleFactor( computeScaleFactor( font ) ); setUserScaleFactor( computeScaleFactor( font ) );
} }
@@ -156,6 +182,9 @@ public class UIScale
// Tahoma 11 is used at 100% // Tahoma 11 is used at 100%
if( "Tahoma".equals( font.getFamily() ) ) if( "Tahoma".equals( font.getFamily() ) )
fontSizeDivider = 11f; fontSizeDivider = 11f;
} else if( SystemInfo.IS_MAC ) {
// default font size on macOS is 13
fontSizeDivider = 13f;
} else if( SystemInfo.IS_LINUX ) { } else if( SystemInfo.IS_LINUX ) {
// default font size for Unity and Gnome is 15 and for KDE it is 13 // default font size for Unity and Gnome is 15 and for KDE it is 13
fontSizeDivider = SystemInfo.IS_KDE ? 13f : 15f; fontSizeDivider = SystemInfo.IS_KDE ? 13f : 15f;
@@ -165,26 +194,17 @@ public class UIScale
} }
private static boolean isUserScalingEnabled() { private static boolean isUserScalingEnabled() {
if( isSystemScalingEnabled() && !SystemInfo.IS_LINUX )
return false; // disable user scaling if JRE scales
// same as in IntelliJ IDEA // same as in IntelliJ IDEA
String hidpi = System.getProperty( "hidpi" ); String hidpi = System.getProperty( "hidpi" );
return (hidpi != null) ? Boolean.parseBoolean( hidpi ) : true; return (hidpi != null) ? Boolean.parseBoolean( hidpi ) : true;
} }
/** /**
* Applies a custom scale factor given in system properties "flatlaf.uiScale" * Applies a custom scale factor given in system property "flatlaf.uiScale"
* or "sun.java2d.uiScale" to the given font. * to the given font.
*/ */
public static FontUIResource applyCustomScaleFactor( FontUIResource font ) { public static FontUIResource applyCustomScaleFactor( FontUIResource font ) {
if( UIScale.isSystemScalingEnabled() )
return font;
String uiScale = System.getProperty( "flatlaf.uiScale" ); String uiScale = System.getProperty( "flatlaf.uiScale" );
if( uiScale == null )
uiScale = System.getProperty( "sun.java2d.uiScale" );
float scaleFactor = parseScaleFactor( uiScale ); float scaleFactor = parseScaleFactor( uiScale );
if( scaleFactor <= 0 ) if( scaleFactor <= 0 )
return font; return font;
@@ -194,15 +214,7 @@ public class UIScale
return font; return font;
int newFontSize = Math.round( (font.getSize() / fontScaleFactor) * scaleFactor ); int newFontSize = Math.round( (font.getSize() / fontScaleFactor) * scaleFactor );
return new FontUIResource( font.getFamily(), font.getStyle(), newFontSize ); return new FontUIResource( font.deriveFont( (float) newFontSize ) );
}
/**
* Scales the given font.
*/
public static FontUIResource scaleFont( FontUIResource font, float scaleFactor ) {
int newFontSize = Math.round( font.getSize() * scaleFactor );
return new FontUIResource( font.getFamily(), font.getStyle(), newFontSize );
} }
/** /**
@@ -242,10 +254,14 @@ public class UIScale
else // round scale factor to 1/4 else // round scale factor to 1/4
scaleFactor = Math.round( scaleFactor * 4f ) / 4f; scaleFactor = Math.round( scaleFactor * 4f ) / 4f;
float oldScaleFactor = UIScale.scaleFactor;
UIScale.scaleFactor = scaleFactor; UIScale.scaleFactor = scaleFactor;
if( DEBUG ) if( DEBUG )
System.out.println( "HiDPI scale factor " + scaleFactor ); System.out.println( "HiDPI scale factor " + scaleFactor );
if( changeSupport != null )
changeSupport.firePropertyChange( "userScaleFactor", oldScaleFactor, scaleFactor );
} }
public static float scale( float value ) { public static float scale( float value ) {

View File

@@ -182,6 +182,11 @@ MenuItemCheckBox.icon.checkmarkColor=#A7A7A7
MenuItemCheckBox.icon.disabledCheckmarkColor=#606060 MenuItemCheckBox.icon.disabledCheckmarkColor=#606060
#---- PasswordField ----
PasswordField.capsLockIconColor=#ffffff64
#---- PopupMenu ---- #---- PopupMenu ----
PopupMenu.borderColor=#5e5e5e PopupMenu.borderColor=#5e5e5e
@@ -198,9 +203,9 @@ ProgressBar.selectionBackground=@foreground
#---- ScrollBar ---- #---- ScrollBar ----
ScrollBar.track=#3F4244 ScrollBar.track=#3F4244
ScrollBar.thumb=#5B5E5F ScrollBar.thumb=lighten($ScrollBar.track,10%)
ScrollBar.hoverTrackColor=#434647 ScrollBar.hoverTrackColor=lighten($ScrollBar.track,4%)
ScrollBar.hoverThumbColor=#666868 ScrollBar.hoverThumbColor=lighten($ScrollBar.thumb,10%)
#---- Separator ---- #---- Separator ----
@@ -236,14 +241,14 @@ TabbedPane.contentAreaColor=#323232
#---- Table ---- #---- Table ----
Table.background=@textComponentBackground Table.background=@textComponentBackground
Table.gridColor=#4F5152 Table.gridColor=lighten($Table.background,3%)
#---- TableHeader ---- #---- TableHeader ----
TableHeader.background=#45494A TableHeader.background=@textComponentBackground
TableHeader.separatorColor=#585858 TableHeader.separatorColor=lighten($TableHeader.background,10%)
TableHeader.bottomSeparatorColor=#585858 TableHeader.bottomSeparatorColor=$TableHeader.separatorColor
#---- ToggleButton ---- #---- ToggleButton ----

View File

@@ -33,12 +33,14 @@ MenuUI=com.formdev.flatlaf.ui.FlatMenuUI
MenuBarUI=com.formdev.flatlaf.ui.FlatMenuBarUI MenuBarUI=com.formdev.flatlaf.ui.FlatMenuBarUI
MenuItemUI=com.formdev.flatlaf.ui.FlatMenuItemUI MenuItemUI=com.formdev.flatlaf.ui.FlatMenuItemUI
OptionPaneUI=com.formdev.flatlaf.ui.FlatOptionPaneUI OptionPaneUI=com.formdev.flatlaf.ui.FlatOptionPaneUI
PanelUI=com.formdev.flatlaf.ui.FlatPanelUI
PasswordFieldUI=com.formdev.flatlaf.ui.FlatPasswordFieldUI PasswordFieldUI=com.formdev.flatlaf.ui.FlatPasswordFieldUI
PopupMenuUI=com.formdev.flatlaf.ui.FlatPopupMenuUI PopupMenuUI=com.formdev.flatlaf.ui.FlatPopupMenuUI
PopupMenuSeparatorUI=com.formdev.flatlaf.ui.FlatPopupMenuSeparatorUI PopupMenuSeparatorUI=com.formdev.flatlaf.ui.FlatPopupMenuSeparatorUI
ProgressBarUI=com.formdev.flatlaf.ui.FlatProgressBarUI ProgressBarUI=com.formdev.flatlaf.ui.FlatProgressBarUI
RadioButtonUI=com.formdev.flatlaf.ui.FlatRadioButtonUI RadioButtonUI=com.formdev.flatlaf.ui.FlatRadioButtonUI
RadioButtonMenuItemUI=com.formdev.flatlaf.ui.FlatRadioButtonMenuItemUI RadioButtonMenuItemUI=com.formdev.flatlaf.ui.FlatRadioButtonMenuItemUI
RootPaneUI=com.formdev.flatlaf.ui.FlatRootPaneUI
ScrollBarUI=com.formdev.flatlaf.ui.FlatScrollBarUI ScrollBarUI=com.formdev.flatlaf.ui.FlatScrollBarUI
ScrollPaneUI=com.formdev.flatlaf.ui.FlatScrollPaneUI ScrollPaneUI=com.formdev.flatlaf.ui.FlatScrollPaneUI
SeparatorUI=com.formdev.flatlaf.ui.FlatSeparatorUI SeparatorUI=com.formdev.flatlaf.ui.FlatSeparatorUI
@@ -90,6 +92,38 @@ info=$ToolTip.background
infoText=@foreground infoText=@foreground
#---- unused colors ----
# Colors that are defined in BasicLookAndFeel but are not used in FlatLaf.
# Keep them for compatibility (if used in 3rd party app) and give them useful values.
*.shadow=$controlShadow
*.darkShadow=$controlDkShadow
*.light=$controlHighlight
*.highlight=$controlLtHighlight
ComboBox.buttonShadow=$controlShadow
ComboBox.buttonDarkShadow=$controlDkShadow
ComboBox.buttonHighlight=$controlLtHighlight
InternalFrame.borderColor=$control
InternalFrame.borderShadow=$controlShadow
InternalFrame.borderDarkShadow=$controlDkShadow
InternalFrame.borderHighlight=$controlLtHighlight
InternalFrame.borderLight=$controlHighlight
Label.disabledShadow=$controlShadow
ScrollBar.trackHighlight=$controlDkShadow
ScrollBar.thumbHighlight=$controlLtHighlight
ScrollBar.thumbDarkShadow=$controlDkShadow
ScrollBar.thumbShadow=$controlShadow
Slider.focus=$controlDkShadow
TabbedPane.focus=$controlText
#---- Button ---- #---- Button ----
Button.border=com.formdev.flatlaf.ui.FlatButtonBorder Button.border=com.formdev.flatlaf.ui.FlatButtonBorder
@@ -129,19 +163,22 @@ CheckBoxMenuItem.checkIcon=com.formdev.flatlaf.icons.FlatCheckBoxMenuItemIcon
CheckBoxMenuItem.arrowIcon=com.formdev.flatlaf.icons.FlatMenuItemArrowIcon CheckBoxMenuItem.arrowIcon=com.formdev.flatlaf.icons.FlatMenuItemArrowIcon
CheckBoxMenuItem.margin=@menuItemMargin CheckBoxMenuItem.margin=@menuItemMargin
CheckBoxMenuItem.opaque=false CheckBoxMenuItem.opaque=false
CheckBoxMenuItem.borderPainted=true
CheckBoxMenuItem.background=@menuBackground CheckBoxMenuItem.background=@menuBackground
#---- ColorChooser ---- #---- ColorChooser ----
ColorChooser.swatchesSwatchSize=16,16 ColorChooser.swatchesSwatchSize={scaledDimension}16,16
ColorChooser.swatchesRecentSwatchSize=16,16 ColorChooser.swatchesRecentSwatchSize={scaledDimension}16,16
ColorChooser.swatchesDefaultRecentColor=$control
#---- ComboBox ---- #---- ComboBox ----
ComboBox.border=com.formdev.flatlaf.ui.FlatRoundBorder ComboBox.border=com.formdev.flatlaf.ui.FlatRoundBorder
ComboBox.padding=2,6,2,6 ComboBox.padding=2,6,2,6
[mac]ComboBox.showPopupOnNavigation=true
#---- Component ---- #---- Component ----
@@ -176,6 +213,7 @@ FileChooser.upFolderIcon=com.formdev.flatlaf.icons.FlatFileChooserUpFolderIcon
FileChooser.homeFolderIcon=com.formdev.flatlaf.icons.FlatFileChooserHomeFolderIcon FileChooser.homeFolderIcon=com.formdev.flatlaf.icons.FlatFileChooserHomeFolderIcon
FileChooser.detailsViewIcon=com.formdev.flatlaf.icons.FlatFileChooserDetailsViewIcon FileChooser.detailsViewIcon=com.formdev.flatlaf.icons.FlatFileChooserDetailsViewIcon
FileChooser.listViewIcon=com.formdev.flatlaf.icons.FlatFileChooserListViewIcon FileChooser.listViewIcon=com.formdev.flatlaf.icons.FlatFileChooserListViewIcon
FileChooser.usesSingleFilePane=true
#---- FileView ---- #---- FileView ----
@@ -189,7 +227,7 @@ FileView.floppyDriveIcon=com.formdev.flatlaf.icons.FlatFileViewFloppyDriveIcon
#---- FormattedTextField ---- #---- FormattedTextField ----
FormattedTextField.border=com.formdev.flatlaf.ui.FlatBorder FormattedTextField.border=com.formdev.flatlaf.ui.FlatTextBorder
FormattedTextField.margin=@textComponentMargin FormattedTextField.margin=@textComponentMargin
FormattedTextField.background=@textComponentBackground FormattedTextField.background=@textComponentBackground
FormattedTextField.placeholderForeground=@disabledText FormattedTextField.placeholderForeground=@disabledText
@@ -221,6 +259,7 @@ InternalFrame.closeIcon=com.formdev.flatlaf.icons.FlatInternalFrameCloseIcon
InternalFrame.iconifyIcon=com.formdev.flatlaf.icons.FlatInternalFrameIconifyIcon InternalFrame.iconifyIcon=com.formdev.flatlaf.icons.FlatInternalFrameIconifyIcon
InternalFrame.maximizeIcon=com.formdev.flatlaf.icons.FlatInternalFrameMaximizeIcon InternalFrame.maximizeIcon=com.formdev.flatlaf.icons.FlatInternalFrameMaximizeIcon
InternalFrame.minimizeIcon=com.formdev.flatlaf.icons.FlatInternalFrameMinimizeIcon InternalFrame.minimizeIcon=com.formdev.flatlaf.icons.FlatInternalFrameMinimizeIcon
InternalFrame.windowBindings=null
#---- InternalFrameTitlePane ---- #---- InternalFrameTitlePane ----
@@ -230,7 +269,6 @@ InternalFrameTitlePane.border=0,8,0,0
#---- List ---- #---- List ----
List.border=1,0,1,0
List.border=0,0,0,0 List.border=0,0,0,0
List.cellMargins=1,6,1,6 List.cellMargins=1,6,1,6
List.cellFocusColor=@cellFocusColor List.cellFocusColor=@cellFocusColor
@@ -248,10 +286,12 @@ List.dropLineColor=@dropLineColor
Menu.border=com.formdev.flatlaf.ui.FlatMenuItemBorder Menu.border=com.formdev.flatlaf.ui.FlatMenuItemBorder
Menu.arrowIcon=com.formdev.flatlaf.icons.FlatMenuArrowIcon Menu.arrowIcon=com.formdev.flatlaf.icons.FlatMenuArrowIcon
Menu.checkIcon=null
Menu.margin=@menuItemMargin Menu.margin=@menuItemMargin
Menu.submenuPopupOffsetX={scaledInteger}-4 Menu.submenuPopupOffsetX={scaledInteger}-4
Menu.submenuPopupOffsetY={scaledInteger}-4 Menu.submenuPopupOffsetY={scaledInteger}-4
Menu.opaque=false Menu.opaque=false
Menu.borderPainted=true
Menu.background=@menuBackground Menu.background=@menuBackground
@@ -266,9 +306,13 @@ MenuBar.itemMargins=3,3,3,3
MenuItem.border=com.formdev.flatlaf.ui.FlatMenuItemBorder MenuItem.border=com.formdev.flatlaf.ui.FlatMenuItemBorder
MenuItem.arrowIcon=com.formdev.flatlaf.icons.FlatMenuItemArrowIcon MenuItem.arrowIcon=com.formdev.flatlaf.icons.FlatMenuItemArrowIcon
MenuItem.checkIcon=null
MenuItem.margin=@menuItemMargin MenuItem.margin=@menuItemMargin
MenuItem.opaque=false MenuItem.opaque=false
MenuItem.borderPainted=true
MenuItem.background=@menuBackground MenuItem.background=@menuBackground
MenuItem.acceleratorDelimiter=-
[mac]MenuItem.acceleratorDelimiter=
#---- OptionPane ---- #---- OptionPane ----
@@ -296,11 +340,12 @@ OptionPane.warningIcon=com.formdev.flatlaf.icons.FlatOptionPaneWarningIcon
#---- PasswordField ---- #---- PasswordField ----
PasswordField.border=com.formdev.flatlaf.ui.FlatBorder PasswordField.border=com.formdev.flatlaf.ui.FlatTextBorder
PasswordField.margin=@textComponentMargin PasswordField.margin=@textComponentMargin
PasswordField.background=@textComponentBackground PasswordField.background=@textComponentBackground
PasswordField.placeholderForeground=@disabledText PasswordField.placeholderForeground=@disabledText
PasswordField.echoChar=\u2022 PasswordField.echoChar=\u2022
PasswordField.capsLockIcon=com.formdev.flatlaf.icons.FlatCapsLockIcon
#---- PopupMenu ---- #---- PopupMenu ----
@@ -344,6 +389,7 @@ RadioButtonMenuItem.checkIcon=com.formdev.flatlaf.icons.FlatRadioButtonMenuItemI
RadioButtonMenuItem.arrowIcon=com.formdev.flatlaf.icons.FlatMenuItemArrowIcon RadioButtonMenuItem.arrowIcon=com.formdev.flatlaf.icons.FlatMenuItemArrowIcon
RadioButtonMenuItem.margin=@menuItemMargin RadioButtonMenuItem.margin=@menuItemMargin
RadioButtonMenuItem.opaque=false RadioButtonMenuItem.opaque=false
RadioButtonMenuItem.borderPainted=true
RadioButtonMenuItem.background=@menuBackground RadioButtonMenuItem.background=@menuBackground
@@ -354,6 +400,7 @@ ScrollBar.showButtons=false
ScrollBar.squareButtons=false ScrollBar.squareButtons=false
ScrollBar.buttonArrowColor=$ComboBox.buttonArrowColor ScrollBar.buttonArrowColor=$ComboBox.buttonArrowColor
ScrollBar.buttonDisabledArrowColor=$ComboBox.buttonDisabledArrowColor ScrollBar.buttonDisabledArrowColor=$ComboBox.buttonDisabledArrowColor
ScrollBar.allowsAbsolutePositioning=true
#---- ScrollPane ---- #---- ScrollPane ----
@@ -415,6 +462,7 @@ TabbedPane.selectedTabPadInsets=0,0,0,0
TabbedPane.tabRunOverlay=0 TabbedPane.tabRunOverlay=0
TabbedPane.tabsOverlapBorder=true TabbedPane.tabsOverlapBorder=true
TabbedPane.shadow=@background TabbedPane.shadow=@background
TabbedPane.contentBorderInsets=null
#---- Table ---- #---- Table ----
@@ -432,6 +480,8 @@ Table.cellFocusColor=@cellFocusColor
Table.cellNoFocusBorder=com.formdev.flatlaf.ui.FlatTableCellBorder$Default Table.cellNoFocusBorder=com.formdev.flatlaf.ui.FlatTableCellBorder$Default
Table.focusCellHighlightBorder=com.formdev.flatlaf.ui.FlatTableCellBorder$Focused Table.focusCellHighlightBorder=com.formdev.flatlaf.ui.FlatTableCellBorder$Focused
Table.focusSelectedCellHighlightBorder=com.formdev.flatlaf.ui.FlatTableCellBorder$Selected Table.focusSelectedCellHighlightBorder=com.formdev.flatlaf.ui.FlatTableCellBorder$Selected
Table.focusCellBackground=@textComponentBackground
Table.focusCellForeground=@foreground
Table.selectionInactiveBackground=@selectionInactiveBackground Table.selectionInactiveBackground=@selectionInactiveBackground
Table.selectionInactiveForeground=@selectionInactiveForeground Table.selectionInactiveForeground=@selectionInactiveForeground
Table.dropCellBackground=@dropCellBackground Table.dropCellBackground=@dropCellBackground
@@ -444,6 +494,7 @@ Table.dropLineShortColor=@dropLineShortColor
TableHeader.height=25 TableHeader.height=25
TableHeader.cellBorder=2,3,2,3 TableHeader.cellBorder=2,3,2,3
TableHeader.focusCellBackground=$TableHeader.background
#---- TextArea ---- #---- TextArea ----
@@ -457,11 +508,12 @@ TextArea.background=@textComponentBackground
# allowed values: "never", "once" (default) or "always" # allowed values: "never", "once" (default) or "always"
TextComponent.selectAllOnFocusPolicy=once TextComponent.selectAllOnFocusPolicy=once
TextComponent.arc=0
#---- TextField ---- #---- TextField ----
TextField.border=com.formdev.flatlaf.ui.FlatBorder TextField.border=com.formdev.flatlaf.ui.FlatTextBorder
TextField.margin=@textComponentMargin TextField.margin=@textComponentMargin
TextField.background=@textComponentBackground TextField.background=@textComponentBackground
TextField.placeholderForeground=@disabledText TextField.placeholderForeground=@disabledText
@@ -509,7 +561,9 @@ ToolBar.borderMargins=2,2,2,2
ToolBar.isRollover=true ToolBar.isRollover=true
ToolBar.gripColor=@icon ToolBar.gripColor=@icon
ToolBar.dockingBackground=@background ToolBar.dockingBackground=@background
ToolBar.dockingForeground=@foreground
ToolBar.floatingBackground=@background ToolBar.floatingBackground=@background
ToolBar.floatingForeground=@disabledText
ToolBar.separatorSize=null ToolBar.separatorSize=null
ToolBar.separatorWidth=7 ToolBar.separatorWidth=7
@@ -518,6 +572,11 @@ ToolBar.separatorColor=$Separator.foreground
ToolBar.spacingBorder=$Button.toolbar.spacingInsets ToolBar.spacingBorder=$Button.toolbar.spacingInsets
#---- ToolTipManager ----
ToolTipManager.enableToolTipMode=activeApplication
#---- ToolTip ---- #---- ToolTip ----
ToolTip.border=4,6,4,6,$Component.borderColor ToolTip.border=4,6,4,6,$Component.borderColor
@@ -539,6 +598,7 @@ Tree.dropLineColor=@dropLineColor
Tree.rendererFillBackground=false Tree.rendererFillBackground=false
Tree.rendererMargins=1,2,1,2 Tree.rendererMargins=1,2,1,2
Tree.wideSelection=true Tree.wideSelection=true
Tree.repaintWholeRow=true
Tree.paintLines=false Tree.paintLines=false
Tree.leftChildIndent=7 Tree.leftChildIndent=7
Tree.rightChildIndent=11 Tree.rightChildIndent=11

View File

@@ -189,6 +189,11 @@ MenuItemCheckBox.icon.checkmarkColor=#4F9EE3
MenuItemCheckBox.icon.disabledCheckmarkColor=#ABABAB MenuItemCheckBox.icon.disabledCheckmarkColor=#ABABAB
#---- PasswordField ----
PasswordField.capsLockIconColor=#00000064
#---- PopupMenu ---- #---- PopupMenu ----
PopupMenu.borderColor=#adadad PopupMenu.borderColor=#adadad
@@ -205,9 +210,9 @@ ProgressBar.selectionBackground=@foreground
#---- ScrollBar ---- #---- ScrollBar ----
ScrollBar.track=#F5F5F5 ScrollBar.track=#F5F5F5
ScrollBar.thumb=#DBDBDB ScrollBar.thumb=darken($ScrollBar.track,10%)
ScrollBar.hoverTrackColor=#e6e6e6 ScrollBar.hoverTrackColor=darken($ScrollBar.track,3%)
ScrollBar.hoverThumbColor=#c6c6c6 ScrollBar.hoverThumbColor=darken($ScrollBar.thumb,10%)
#---- Separator ---- #---- Separator ----
@@ -243,14 +248,14 @@ TabbedPane.contentAreaColor=#bfbfbf
#---- Table ---- #---- Table ----
Table.background=@textComponentBackground Table.background=@textComponentBackground
Table.gridColor=#F7F7F7 Table.gridColor=darken($Table.background,3%)
#---- TableHeader ---- #---- TableHeader ----
TableHeader.background=#ffffff TableHeader.background=@textComponentBackground
TableHeader.separatorColor=#e5e5e5 TableHeader.separatorColor=darken($TableHeader.background,10%)
TableHeader.bottomSeparatorColor=#e5e5e5 TableHeader.bottomSeparatorColor=$TableHeader.separatorColor
#---- ToggleButton ---- #---- ToggleButton ----

View File

@@ -0,0 +1,7 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
<g fill="none" fill-rule="evenodd">
<rect width="16" height="16" fill="#6E6E6E" rx="3"/>
<rect width="6" height="2" x="5" y="12" fill="#FFF"/>
<path fill="#FFF" d="M2,8 L8,2 L14,8 L11,8 L11,10 L5,10 L5,8 L2,8 Z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 326 B

View File

@@ -0,0 +1,13 @@
# This file demonstrates using a FlatLaf theme file in the FlatLaf Demo application.
# Must be in the working directory of the Demo application.
# Shown in the "Themes" list under category "Current Directory".
#
# Modifications to this file are automatically loaded by the FlatLaf Demo application
# when the Demo window is activated.
# base theme (light, dark, intellij or darcula)
@baseTheme=light
# add you theme defaults here
@background=#ccc

View File

@@ -310,14 +310,13 @@ class BasicComponentsPanel
add(comboBox4, "cell 4 4,growx"); add(comboBox4, "cell 4 4,growx");
//---- comboBox5 ---- //---- comboBox5 ----
comboBox5.setPrototypeDisplayValue("12345");
comboBox5.setModel(new DefaultComboBoxModel<>(new String[] { comboBox5.setModel(new DefaultComboBoxModel<>(new String[] {
"wide popup if text is longer", "wide popup if text is longer",
"aa", "aa",
"bbb", "bbb",
"cccc" "cccc"
})); }));
add(comboBox5, "cell 5 4,growx"); add(comboBox5, "cell 5 4,growx,wmax 100");
//---- spinnerLabel ---- //---- spinnerLabel ----
spinnerLabel.setText("JSpinner:"); spinnerLabel.setText("JSpinner:");

View File

@@ -242,7 +242,6 @@ new FormModel {
} ) } )
add( new FormComponent( "javax.swing.JComboBox" ) { add( new FormComponent( "javax.swing.JComboBox" ) {
name: "comboBox5" name: "comboBox5"
"prototypeDisplayValue": "12345"
"model": new javax.swing.DefaultComboBoxModel { "model": new javax.swing.DefaultComboBoxModel {
selectedItem: "wide popup if text is longer" selectedItem: "wide popup if text is longer"
addElement( "wide popup if text is longer" ) addElement( "wide popup if text is longer" )
@@ -251,7 +250,7 @@ new FormModel {
addElement( "cccc" ) addElement( "cccc" )
} }
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 5 4,growx" "value": "cell 5 4,growx,wmax 100"
} ) } )
add( new FormComponent( "javax.swing.JLabel" ) { add( new FormComponent( "javax.swing.JLabel" ) {
name: "spinnerLabel" name: "spinnerLabel"

View File

@@ -83,6 +83,11 @@ class ControlBar
} ); } );
} }
} ); } );
UIScale.addPropertyChangeListener( e -> {
// update info label because user scale factor may change
updateInfoLabel();
} );
} }
void initialize( JFrame frame, JTabbedPane tabbedPane ) { void initialize( JFrame frame, JTabbedPane tabbedPane ) {

View File

@@ -81,6 +81,11 @@ class DataComponentsPanel
JScrollPane scrollPane5 = new JScrollPane(); JScrollPane scrollPane5 = new JScrollPane();
table1 = new JTable(); table1 = new JTable();
dndCheckBox = new JCheckBox(); dndCheckBox = new JCheckBox();
JPopupMenu popupMenu2 = new JPopupMenu();
JMenuItem menuItem3 = new JMenuItem();
JMenuItem menuItem4 = new JMenuItem();
JMenuItem menuItem5 = new JMenuItem();
JMenuItem menuItem6 = new JMenuItem();
//======== this ======== //======== this ========
setLayout(new MigLayout( setLayout(new MigLayout(
@@ -126,6 +131,7 @@ class DataComponentsPanel
@Override @Override
public String getElementAt(int i) { return values[i]; } public String getElementAt(int i) { return values[i]; }
}); });
list1.setComponentPopupMenu(popupMenu2);
scrollPane1.setViewportView(list1); scrollPane1.setViewportView(list1);
} }
add(scrollPane1, "cell 1 0,growx"); add(scrollPane1, "cell 1 0,growx");
@@ -198,6 +204,7 @@ class DataComponentsPanel
add(node1); add(node1);
} }
})); }));
tree1.setComponentPopupMenu(popupMenu2);
scrollPane3.setViewportView(tree1); scrollPane3.setViewportView(tree1);
} }
add(scrollPane3, "cell 1 1,growx"); add(scrollPane3, "cell 1 1,growx");
@@ -287,6 +294,7 @@ class DataComponentsPanel
})))); }))));
} }
table1.setAutoCreateRowSorter(true); table1.setAutoCreateRowSorter(true);
table1.setComponentPopupMenu(popupMenu2);
scrollPane5.setViewportView(table1); scrollPane5.setViewportView(table1);
} }
add(scrollPane5, "cell 1 2 2 1,growx,width 300"); add(scrollPane5, "cell 1 2 2 1,growx,width 300");
@@ -296,6 +304,27 @@ class DataComponentsPanel
dndCheckBox.setMnemonic('D'); dndCheckBox.setMnemonic('D');
dndCheckBox.addActionListener(e -> dndChanged()); dndCheckBox.addActionListener(e -> dndChanged());
add(dndCheckBox, "cell 0 3 3 1"); add(dndCheckBox, "cell 0 3 3 1");
//======== popupMenu2 ========
{
//---- menuItem3 ----
menuItem3.setText("Some Action");
popupMenu2.add(menuItem3);
//---- menuItem4 ----
menuItem4.setText("More Action");
popupMenu2.add(menuItem4);
popupMenu2.addSeparator();
//---- menuItem5 ----
menuItem5.setText("No Action");
popupMenu2.add(menuItem5);
//---- menuItem6 ----
menuItem6.setText("Noop Action");
popupMenu2.add(menuItem6);
}
// JFormDesigner - End of component initialization //GEN-END:initComponents // JFormDesigner - End of component initialization //GEN-END:initComponents
((JComboBox)((DefaultCellEditor)table1.getColumnModel().getColumn( 3 ).getCellEditor()).getComponent()).setEditable( true ); ((JComboBox)((DefaultCellEditor)table1.getColumnModel().getColumn( 3 ).getCellEditor()).getComponent()).setEditable( true );

View File

@@ -1,4 +1,4 @@
JFDML JFormDesigner: "7.0.0.0.194" Java: "13.0.1" encoding: "UTF-8" JFDML JFormDesigner: "7.0.1.0.272" Java: "13.0.2" encoding: "UTF-8"
new FormModel { new FormModel {
contentType: "form/swing" contentType: "form/swing"
@@ -39,6 +39,7 @@ new FormModel {
addElement( "item 14" ) addElement( "item 14" )
addElement( "item 15" ) addElement( "item 15" )
} }
"componentPopupMenu": new FormReference( "popupMenu2" )
auxiliary() { auxiliary() {
"JavaCodeGenerator.typeParameters": "String" "JavaCodeGenerator.typeParameters": "String"
"JavaCodeGenerator.variableLocal": false "JavaCodeGenerator.variableLocal": false
@@ -143,6 +144,7 @@ new FormModel {
} ) } )
} ) } )
} ) } )
"componentPopupMenu": new FormReference( "popupMenu2" )
auxiliary() { auxiliary() {
"JavaCodeGenerator.variableLocal": false "JavaCodeGenerator.variableLocal": false
} }
@@ -299,6 +301,7 @@ new FormModel {
add( null ) add( null )
} ) } )
"autoCreateRowSorter": true "autoCreateRowSorter": true
"componentPopupMenu": new FormReference( "popupMenu2" )
auxiliary() { auxiliary() {
"JavaCodeGenerator.variableLocal": false "JavaCodeGenerator.variableLocal": false
} }
@@ -321,5 +324,29 @@ new FormModel {
"location": new java.awt.Point( 0, 0 ) "location": new java.awt.Point( 0, 0 )
"size": new java.awt.Dimension( 790, 715 ) "size": new java.awt.Dimension( 790, 715 )
} ) } )
add( new FormContainer( "javax.swing.JPopupMenu", new FormLayoutManager( class javax.swing.JPopupMenu ) ) {
name: "popupMenu2"
add( new FormComponent( "javax.swing.JMenuItem" ) {
name: "menuItem3"
"text": "Some Action"
} )
add( new FormComponent( "javax.swing.JMenuItem" ) {
name: "menuItem4"
"text": "More Action"
} )
add( new FormComponent( "javax.swing.JPopupMenu$Separator" ) {
name: "separator1"
} )
add( new FormComponent( "javax.swing.JMenuItem" ) {
name: "menuItem5"
"text": "No Action"
} )
add( new FormComponent( "javax.swing.JMenuItem" ) {
name: "menuItem6"
"text": "Noop Action"
} )
}, new FormLayoutConstraints( null ) {
"location": new java.awt.Point( 0, 740 )
} )
} }
} }

View File

@@ -20,6 +20,7 @@ import java.awt.*;
import java.awt.event.*; import java.awt.event.*;
import javax.swing.*; import javax.swing.*;
import javax.swing.text.DefaultEditorKit; import javax.swing.text.DefaultEditorKit;
import com.formdev.flatlaf.FlatLaf;
import com.formdev.flatlaf.demo.intellijthemes.*; import com.formdev.flatlaf.demo.intellijthemes.*;
import com.formdev.flatlaf.extras.FlatSVGIcon; import com.formdev.flatlaf.extras.FlatSVGIcon;
import net.miginfocom.swing.*; import net.miginfocom.swing.*;
@@ -52,12 +53,53 @@ class DemoFrame
DemoPrefs.getState().putInt( FlatLafDemo.KEY_TAB, tabbedPane.getSelectedIndex() ); DemoPrefs.getState().putInt( FlatLafDemo.KEY_TAB, tabbedPane.getSelectedIndex() );
} }
private void menuItemActionPerformed(ActionEvent e) { private void menuItemActionPerformed( ActionEvent e ) {
SwingUtilities.invokeLater( () -> { SwingUtilities.invokeLater( () -> {
JOptionPane.showMessageDialog( this, e.getActionCommand(), "Menu Item", JOptionPane.PLAIN_MESSAGE ); JOptionPane.showMessageDialog( this, e.getActionCommand(), "Menu Item", JOptionPane.PLAIN_MESSAGE );
} ); } );
} }
private void fontFamilyChanged( ActionEvent e ) {
String fontFamily = e.getActionCommand();
Font font = UIManager.getFont( "defaultFont" );
Font newFont = new Font( fontFamily, font.getStyle(), font.getSize() );
UIManager.put( "defaultFont", newFont );
FlatLaf.updateUI();
}
private void fontSizeChanged( ActionEvent e ) {
String fontSizeStr = e.getActionCommand();
Font font = UIManager.getFont( "defaultFont" );
Font newFont = font.deriveFont( (float) Integer.parseInt( fontSizeStr ) );
UIManager.put( "defaultFont", newFont );
FlatLaf.updateUI();
}
private void restoreFont() {
UIManager.put( "defaultFont", null );
FlatLaf.updateUI();
}
private void incrFont() {
Font font = UIManager.getFont( "defaultFont" );
Font newFont = font.deriveFont( (float) (font.getSize() + 1) );
UIManager.put( "defaultFont", newFont );
FlatLaf.updateUI();
}
private void decrFont() {
Font font = UIManager.getFont( "defaultFont" );
Font newFont = font.deriveFont( (float) Math.max( font.getSize() - 1, 8 ) );
UIManager.put( "defaultFont", newFont );
FlatLaf.updateUI();
}
private void initComponents() { private void initComponents() {
// JFormDesigner - Component initialization - DO NOT MODIFY //GEN-BEGIN:initComponents // JFormDesigner - Component initialization - DO NOT MODIFY //GEN-BEGIN:initComponents
JMenuBar menuBar1 = new JMenuBar(); JMenuBar menuBar1 = new JMenuBar();
@@ -86,6 +128,10 @@ class DemoFrame
JRadioButtonMenuItem radioButtonMenuItem1 = new JRadioButtonMenuItem(); JRadioButtonMenuItem radioButtonMenuItem1 = new JRadioButtonMenuItem();
JRadioButtonMenuItem radioButtonMenuItem2 = new JRadioButtonMenuItem(); JRadioButtonMenuItem radioButtonMenuItem2 = new JRadioButtonMenuItem();
JRadioButtonMenuItem radioButtonMenuItem3 = new JRadioButtonMenuItem(); JRadioButtonMenuItem radioButtonMenuItem3 = new JRadioButtonMenuItem();
fontMenu = new JMenu();
JMenuItem restoreFontMenuItem = new JMenuItem();
JMenuItem incrFontMenuItem = new JMenuItem();
JMenuItem decrFontMenuItem = new JMenuItem();
JMenu helpMenu = new JMenu(); JMenu helpMenu = new JMenu();
JMenuItem aboutMenuItem = new JMenuItem(); JMenuItem aboutMenuItem = new JMenuItem();
JToolBar toolBar1 = new JToolBar(); JToolBar toolBar1 = new JToolBar();
@@ -285,6 +331,30 @@ class DemoFrame
} }
menuBar1.add(viewMenu); menuBar1.add(viewMenu);
//======== fontMenu ========
{
fontMenu.setText("Font");
//---- restoreFontMenuItem ----
restoreFontMenuItem.setText("Restore Font");
restoreFontMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_0, KeyEvent.CTRL_MASK));
restoreFontMenuItem.addActionListener(e -> restoreFont());
fontMenu.add(restoreFontMenuItem);
//---- incrFontMenuItem ----
incrFontMenuItem.setText("Increase Font Size");
incrFontMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_PLUS, KeyEvent.CTRL_MASK));
incrFontMenuItem.addActionListener(e -> incrFont());
fontMenu.add(incrFontMenuItem);
//---- decrFontMenuItem ----
decrFontMenuItem.setText("Decrease Font Size");
decrFontMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_MINUS, KeyEvent.CTRL_MASK));
decrFontMenuItem.addActionListener(e -> decrFont());
fontMenu.add(decrFontMenuItem);
}
menuBar1.add(fontMenu);
//======== helpMenu ======== //======== helpMenu ========
{ {
helpMenu.setText("Help"); helpMenu.setText("Help");
@@ -387,9 +457,30 @@ class DemoFrame
cutMenuItem.addActionListener( new DefaultEditorKit.CutAction() ); cutMenuItem.addActionListener( new DefaultEditorKit.CutAction() );
copyMenuItem.addActionListener( new DefaultEditorKit.CopyAction() ); copyMenuItem.addActionListener( new DefaultEditorKit.CopyAction() );
pasteMenuItem.addActionListener( new DefaultEditorKit.PasteAction() ); pasteMenuItem.addActionListener( new DefaultEditorKit.PasteAction() );
// add font families
fontMenu.addSeparator();
String[] fontFamilies = { "Arial", "Comic Sans MS", "Courier New", "Dialog",
"Monospaced", "SansSerif", "Serif", "Tahoma", "Verdana" };
for( String fontFamily : fontFamilies ) {
JMenuItem fontItem = new JMenuItem( fontFamily );
fontItem.addActionListener( this::fontFamilyChanged );
fontMenu.add( fontItem );
}
// add font sizes
fontMenu.addSeparator();
int[] fontSizes = { 8, 10, 12, 14, 16, 18, 20, 24, 28 };
for( int fontSize : fontSizes ) {
String fontSizeStr = Integer.toString( fontSize );
JMenuItem fontItem = new JMenuItem( fontSizeStr );
fontItem.addActionListener( this::fontSizeChanged );
fontMenu.add( fontItem );
}
} }
// JFormDesigner - Variables declaration - DO NOT MODIFY //GEN-BEGIN:variables // JFormDesigner - Variables declaration - DO NOT MODIFY //GEN-BEGIN:variables
private JMenu fontMenu;
private JTabbedPane tabbedPane; private JTabbedPane tabbedPane;
private ControlBar controlBar; private ControlBar controlBar;
// JFormDesigner - End of variables declaration //GEN-END:variables // JFormDesigner - End of variables declaration //GEN-END:variables

View File

@@ -1,4 +1,4 @@
JFDML JFormDesigner: "7.0.0.0.194" Java: "13.0.1" encoding: "UTF-8" JFDML JFormDesigner: "7.0.1.0.272" Java: "13.0.2" encoding: "UTF-8"
new FormModel { new FormModel {
contentType: "form/swing" contentType: "form/swing"
@@ -285,6 +285,31 @@ new FormModel {
addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "menuItemActionPerformed", true ) ) addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "menuItemActionPerformed", true ) )
} ) } )
} ) } )
add( new FormContainer( "javax.swing.JMenu", new FormLayoutManager( class javax.swing.JMenu ) ) {
name: "fontMenu"
"text": "Font"
auxiliary() {
"JavaCodeGenerator.variableLocal": false
}
add( new FormComponent( "javax.swing.JMenuItem" ) {
name: "restoreFontMenuItem"
"text": "Restore Font"
"accelerator": static javax.swing.KeyStroke getKeyStroke( 48, 130, false )
addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "restoreFont", false ) )
} )
add( new FormComponent( "javax.swing.JMenuItem" ) {
name: "incrFontMenuItem"
"text": "Increase Font Size"
"accelerator": static javax.swing.KeyStroke getKeyStroke( 521, 130, false )
addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "incrFont", false ) )
} )
add( new FormComponent( "javax.swing.JMenuItem" ) {
name: "decrFontMenuItem"
"text": "Decrease Font Size"
"accelerator": static javax.swing.KeyStroke getKeyStroke( 45, 130, false )
addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "decrFont", false ) )
} )
} )
add( new FormContainer( "javax.swing.JMenu", new FormLayoutManager( class javax.swing.JMenu ) ) { add( new FormContainer( "javax.swing.JMenu", new FormLayoutManager( class javax.swing.JMenu ) ) {
name: "helpMenu" name: "helpMenu"
"text": "Help" "text": "Help"

View File

@@ -16,6 +16,7 @@
package com.formdev.flatlaf.demo; package com.formdev.flatlaf.demo;
import java.io.File;
import java.io.FileInputStream; import java.io.FileInputStream;
import java.util.prefs.Preferences; import java.util.prefs.Preferences;
import javax.swing.UIManager; import javax.swing.UIManager;
@@ -23,6 +24,8 @@ import com.formdev.flatlaf.FlatLaf;
import com.formdev.flatlaf.FlatLightLaf; import com.formdev.flatlaf.FlatLightLaf;
import com.formdev.flatlaf.IntelliJTheme; import com.formdev.flatlaf.IntelliJTheme;
import com.formdev.flatlaf.demo.intellijthemes.IJThemesPanel; import com.formdev.flatlaf.demo.intellijthemes.IJThemesPanel;
import com.formdev.flatlaf.demo.intellijthemes.IJThemesPanel.PropertiesLaf;
import com.formdev.flatlaf.util.StringUtils;
/** /**
* @author Karl Tauber * @author Karl Tauber
@@ -30,12 +33,12 @@ import com.formdev.flatlaf.demo.intellijthemes.IJThemesPanel;
public class DemoPrefs public class DemoPrefs
{ {
public static final String KEY_LAF = "laf"; public static final String KEY_LAF = "laf";
public static final String KEY_LAF_INTELLIJ_THEME = "lafIntelliJTheme"; public static final String KEY_LAF_THEME = "lafTheme";
public static final String RESOURCE_PREFIX = "res:"; public static final String RESOURCE_PREFIX = "res:";
public static final String FILE_PREFIX = "file:"; public static final String FILE_PREFIX = "file:";
public static final String INTELLIJ_THEME_UI_KEY = "__FlatLaf.demo.intelliJTheme"; public static final String THEME_UI_KEY = "__FlatLaf.demo.theme";
private static Preferences state; private static Preferences state;
@@ -55,16 +58,27 @@ public class DemoPrefs
else { else {
String lafClassName = state.get( KEY_LAF, FlatLightLaf.class.getName() ); String lafClassName = state.get( KEY_LAF, FlatLightLaf.class.getName() );
if( IntelliJTheme.ThemeLaf.class.getName().equals( lafClassName ) ) { if( IntelliJTheme.ThemeLaf.class.getName().equals( lafClassName ) ) {
String intelliJTheme = state.get( KEY_LAF_INTELLIJ_THEME, "" ); String theme = state.get( KEY_LAF_THEME, "" );
if( intelliJTheme.startsWith( RESOURCE_PREFIX ) ) if( theme.startsWith( RESOURCE_PREFIX ) )
IntelliJTheme.install( IJThemesPanel.class.getResourceAsStream( intelliJTheme.substring( RESOURCE_PREFIX.length() ) ) ); IntelliJTheme.install( IJThemesPanel.class.getResourceAsStream( theme.substring( RESOURCE_PREFIX.length() ) ) );
else if( intelliJTheme.startsWith( FILE_PREFIX ) ) else if( theme.startsWith( FILE_PREFIX ) )
FlatLaf.install( IntelliJTheme.createLaf( new FileInputStream( intelliJTheme.substring( FILE_PREFIX.length() ) ) ) ); FlatLaf.install( IntelliJTheme.createLaf( new FileInputStream( theme.substring( FILE_PREFIX.length() ) ) ) );
else else
FlatLightLaf.install(); FlatLightLaf.install();
if( !intelliJTheme.isEmpty() ) if( !theme.isEmpty() )
UIManager.getLookAndFeelDefaults().put( INTELLIJ_THEME_UI_KEY, intelliJTheme ); UIManager.getLookAndFeelDefaults().put( THEME_UI_KEY, theme );
} else if( IJThemesPanel.PropertiesLaf.class.getName().equals( lafClassName ) ) {
String theme = state.get( KEY_LAF_THEME, "" );
if( theme.startsWith( FILE_PREFIX ) ) {
File themeFile = new File( theme.substring( FILE_PREFIX.length() ) );
String themeName = StringUtils.removeTrailing( themeFile.getName(), ".properties" );
FlatLaf.install( new PropertiesLaf( themeName, themeFile ) );
} else
FlatLightLaf.install();
if( !theme.isEmpty() )
UIManager.getLookAndFeelDefaults().put( THEME_UI_KEY, theme );
} else } else
UIManager.setLookAndFeel( lafClassName ); UIManager.setLookAndFeel( lafClassName );
} }

View File

@@ -1,4 +1,4 @@
JFDML JFormDesigner: "7.0.0.0.194" Java: "11.0.2" encoding: "UTF-8" JFDML JFormDesigner: "7.0.1.0.272" Java: "13.0.2" encoding: "UTF-8"
new FormModel { new FormModel {
contentType: "form/swing" contentType: "form/swing"
@@ -243,7 +243,7 @@ new FormModel {
} ) } )
}, new FormLayoutConstraints( null ) { }, new FormLayoutConstraints( null ) {
"location": new java.awt.Point( 0, 0 ) "location": new java.awt.Point( 0, 0 )
"size": new java.awt.Dimension( 790, 840 ) "size": new java.awt.Dimension( 840, 900 )
} ) } )
} }
} }

View File

@@ -68,7 +68,9 @@ class IJThemesManager
// get current working directory // get current working directory
File directory = new File( "" ).getAbsoluteFile(); File directory = new File( "" ).getAbsoluteFile();
File[] themeFiles = directory.listFiles( (dir, name) -> name.endsWith( ".theme.json" ) ); File[] themeFiles = directory.listFiles( (dir, name) -> {
return name.endsWith( ".theme.json" ) || name.endsWith( ".properties" );
} );
if( themeFiles == null ) if( themeFiles == null )
return; return;
@@ -77,7 +79,10 @@ class IJThemesManager
moreThemes.clear(); moreThemes.clear();
for( File f : themeFiles ) { for( File f : themeFiles ) {
String name = StringUtils.removeTrailing( f.getName(), ".theme.json" ); String fname = f.getName();
String name = fname.endsWith( ".properties" )
? StringUtils.removeTrailing( fname, ".properties" )
: StringUtils.removeTrailing( fname, ".theme.json" );
moreThemes.add( new IJThemeInfo( name, null, null, null, null, null, f, null ) ); moreThemes.add( new IJThemeInfo( name, null, null, null, null, null, f, null ) );
lastModifiedMap.put( f, f.lastModified() ); lastModifiedMap.put( f, f.lastModified() );
} }

View File

@@ -28,6 +28,7 @@ import java.beans.PropertyChangeListener;
import java.io.File; import java.io.File;
import java.io.FileInputStream; import java.io.FileInputStream;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream;
import java.net.URI; import java.net.URI;
import java.net.URISyntaxException; import java.net.URISyntaxException;
import java.nio.file.Files; import java.nio.file.Files;
@@ -37,6 +38,7 @@ import java.util.Comparator;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
import java.util.Properties;
import java.util.function.Predicate; import java.util.function.Predicate;
import javax.swing.*; import javax.swing.*;
import javax.swing.border.CompoundBorder; import javax.swing.border.CompoundBorder;
@@ -71,6 +73,7 @@ public class IJThemesPanel
private Window window; private Window window;
private File lastDirectory; private File lastDirectory;
private boolean isAdjustingThemesList;
public IJThemesPanel() { public IJThemesPanel() {
initComponents(); initComponents();
@@ -134,6 +137,10 @@ public class IJThemesPanel
themes.add( new IJThemeInfo( "Flat IntelliJ", null, null, null, null, null, null, FlatIntelliJLaf.class.getName() ) ); themes.add( new IJThemeInfo( "Flat IntelliJ", null, null, null, null, null, null, FlatIntelliJLaf.class.getName() ) );
themes.add( new IJThemeInfo( "Flat Darcula", null, null, null, null, null, null, FlatDarculaLaf.class.getName() ) ); themes.add( new IJThemeInfo( "Flat Darcula", null, null, null, null, null, null, FlatDarculaLaf.class.getName() ) );
// add themes from directory
categories.put( themes.size(), "Current Directory" );
themes.addAll( themesManager.moreThemes );
// add uncategorized bundled themes // add uncategorized bundled themes
categories.put( themes.size(), "IntelliJ Themes" ); categories.put( themes.size(), "IntelliJ Themes" );
for( IJThemeInfo ti : themesManager.bundledThemes ) { for( IJThemeInfo ti : themesManager.bundledThemes ) {
@@ -157,10 +164,6 @@ public class IJThemesPanel
themes.add( ti ); themes.add( ti );
} }
// add themes from directory
categories.put( themes.size(), "Current Directory" );
themes.addAll( themesManager.moreThemes );
// remember selection // remember selection
IJThemeInfo oldSel = themesList.getSelectedValue(); IJThemeInfo oldSel = themesList.getSelectedValue();
@@ -193,7 +196,7 @@ public class IJThemesPanel
} }
private void themesListValueChanged( ListSelectionEvent e ) { private void themesListValueChanged( ListSelectionEvent e ) {
if( e.getValueIsAdjusting() ) if( e.getValueIsAdjusting() || isAdjustingThemesList )
return; return;
IJThemeInfo themeInfo = themesList.getSelectedValue(); IJThemeInfo themeInfo = themesList.getSelectedValue();
@@ -223,15 +226,19 @@ public class IJThemesPanel
} }
} else if( themeInfo.themeFile != null ) { } else if( themeInfo.themeFile != null ) {
try { try {
FlatLaf.install( IntelliJTheme.createLaf( new FileInputStream( themeInfo.themeFile ) ) ); if( themeInfo.themeFile.getName().endsWith( ".properties" ) ) {
DemoPrefs.getState().put( DemoPrefs.KEY_LAF_INTELLIJ_THEME, DemoPrefs.FILE_PREFIX + themeInfo.themeFile ); FlatLaf.install( new PropertiesLaf( themeInfo.name, themeInfo.themeFile ) );
} else
FlatLaf.install( IntelliJTheme.createLaf( new FileInputStream( themeInfo.themeFile ) ) );
DemoPrefs.getState().put( DemoPrefs.KEY_LAF_THEME, DemoPrefs.FILE_PREFIX + themeInfo.themeFile );
} catch( Exception ex ) { } catch( Exception ex ) {
ex.printStackTrace(); ex.printStackTrace();
showInformationDialog( "Failed to load '" + themeInfo.themeFile + "'.", ex ); showInformationDialog( "Failed to load '" + themeInfo.themeFile + "'.", ex );
} }
} else { } else {
IntelliJTheme.install( getClass().getResourceAsStream( themeInfo.resourceName ) ); IntelliJTheme.install( getClass().getResourceAsStream( themeInfo.resourceName ) );
DemoPrefs.getState().put( DemoPrefs.KEY_LAF_INTELLIJ_THEME, DemoPrefs.RESOURCE_PREFIX + themeInfo.resourceName ); DemoPrefs.getState().put( DemoPrefs.KEY_LAF_THEME, DemoPrefs.RESOURCE_PREFIX + themeInfo.resourceName );
} }
// update all components // update all components
@@ -331,17 +338,17 @@ public class IJThemesPanel
private void selectedCurrentLookAndFeel() { private void selectedCurrentLookAndFeel() {
LookAndFeel lookAndFeel = UIManager.getLookAndFeel(); LookAndFeel lookAndFeel = UIManager.getLookAndFeel();
String intelliJTheme = UIManager.getLookAndFeelDefaults().getString( DemoPrefs.INTELLIJ_THEME_UI_KEY ); String theme = UIManager.getLookAndFeelDefaults().getString( DemoPrefs.THEME_UI_KEY );
if( intelliJTheme == null && lookAndFeel instanceof IntelliJTheme.ThemeLaf ) if( theme == null && (lookAndFeel instanceof IntelliJTheme.ThemeLaf || lookAndFeel instanceof PropertiesLaf) )
return; return;
Predicate<IJThemeInfo> test; Predicate<IJThemeInfo> test;
if( intelliJTheme != null && intelliJTheme.startsWith( DemoPrefs.RESOURCE_PREFIX ) ) { if( theme != null && theme.startsWith( DemoPrefs.RESOURCE_PREFIX ) ) {
String resourceName = intelliJTheme.substring( DemoPrefs.RESOURCE_PREFIX.length() ); String resourceName = theme.substring( DemoPrefs.RESOURCE_PREFIX.length() );
test = ti -> Objects.equals( ti.resourceName, resourceName ); test = ti -> Objects.equals( ti.resourceName, resourceName );
} else if( intelliJTheme != null && intelliJTheme.startsWith( DemoPrefs.FILE_PREFIX ) ) { } else if( theme != null && theme.startsWith( DemoPrefs.FILE_PREFIX ) ) {
File themeFile = new File( intelliJTheme.substring( DemoPrefs.FILE_PREFIX.length() ) ); File themeFile = new File( theme.substring( DemoPrefs.FILE_PREFIX.length() ) );
test = ti -> Objects.equals( ti.themeFile, themeFile ); test = ti -> Objects.equals( ti.themeFile, themeFile );
} else { } else {
String lafClassName = lookAndFeel.getClass().getName(); String lafClassName = lookAndFeel.getClass().getName();
@@ -356,11 +363,13 @@ public class IJThemesPanel
} }
} }
isAdjustingThemesList = true;
if( newSel >= 0 ) { if( newSel >= 0 ) {
if( newSel != themesList.getSelectedIndex() ) if( newSel != themesList.getSelectedIndex() )
themesList.setSelectedIndex( newSel ); themesList.setSelectedIndex( newSel );
} else } else
themesList.clearSelection(); themesList.clearSelection();
isAdjustingThemesList = false;
} }
private void initComponents() { private void initComponents() {
@@ -420,4 +429,78 @@ public class IJThemesPanel
private JScrollPane themesScrollPane; private JScrollPane themesScrollPane;
private JList<IJThemeInfo> themesList; private JList<IJThemeInfo> themesList;
// JFormDesigner - End of variables declaration //GEN-END:variables // JFormDesigner - End of variables declaration //GEN-END:variables
//---- class PropertiesLaf ------------------------------------------------
public static class PropertiesLaf
extends FlatLaf
{
private final String name;
private final String baseTheme;
private final boolean dark;
private final Properties properties;
public PropertiesLaf( String name, File propertiesFile )
throws IOException
{
this.name = name;
properties = new Properties();
try( InputStream in = new FileInputStream( propertiesFile ) ) {
if( in != null )
properties.load( in );
}
baseTheme = properties.getProperty( "@baseTheme", "light" );
dark = "dark".equalsIgnoreCase( baseTheme ) || "darcula".equalsIgnoreCase( baseTheme );
}
@Override
public String getName() {
return name;
}
@Override
public String getDescription() {
return name;
}
@Override
public boolean isDark() {
return dark;
}
@Override
protected ArrayList<Class<?>> getLafClassesForDefaultsLoading() {
ArrayList<Class<?>> lafClasses = new ArrayList<>();
lafClasses.add( FlatLaf.class );
switch( baseTheme.toLowerCase() ) {
default:
case "light":
lafClasses.add( FlatLightLaf.class );
break;
case "dark":
lafClasses.add( FlatDarkLaf.class );
break;
case "intellij":
lafClasses.add( FlatLightLaf.class );
lafClasses.add( FlatIntelliJLaf.class );
break;
case "darcula":
lafClasses.add( FlatDarkLaf.class );
lafClasses.add( FlatDarculaLaf.class );
break;
}
lafClasses.add( PropertiesLaf.class );
return lafClasses;
}
@Override
protected Properties getAdditionalDefaults() {
return properties;
}
}
} }

View File

@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2019 thvardhan
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@@ -0,0 +1,267 @@
{
"name": "Gradianto Dark Fuchsia",
"dark": true,
"author": "",
"editorScheme": "/Gradianto_dark_fuchsia.xml",
"ui": {
"*": {
"background": "#20022d",
"foreground": "#9ca9af",
"infoForeground": "#6aaf41",
"selectionBackground": "#4d086d",
"selectionForeground": "#c9c9c9",
"selectionInactiveBackground": "#37064e",
"disabledForeground": "#646464",
"disabledBackground": "#250434",
"inactiveBackground": "#250434",
"errorForeground": "#cd860b",
"disabledText": "#646464",
"Borders.ContrastBorderColor" : "#2b033b",
"borderColor": "#38044e",
"disabledBorderColor": "#22022f",
"focusColor" : "#550979",
"focusedBorderColor": "#550979",
"separatorColor": "#2d033f"
},
"ActionButton": {
"hoverBackground": "#320647",
"pressedBackground": "#42075c",
"hoverBorderColor": "#58077c",
"pressedBorderColor": "#3c0555"
},
"Borders": {
"color": "#38044e",
"ContrastBorderColor": "#38044e"
},
"Button": {
"startBackground": "#41295a",
"endBackground": "#2F0743",
"startBorderColor": "#400080",
"endBorderColor": "#6300c5",
"shadowColor" : "#400080",
"focusedBorderColor" : "#550979",
"default.focusColor": "#550979",
"disabledBorderColor" : "#2e005d",
"default": {
"startBackground": "#41295a",
"endBackground": "#2f0743",
"startBorderColor": "#400080",
"endBorderColor": "#6300c5",
"focusedBorderColor": "#550979",
"focusColor": "#550979"
}
},
"RadioButton": {
"background" : "#41295a",
"foreground": "#2f0743"
},
"CompletionPopup": {
"matchForeground": "#652683",
"matchSelectionForeground": "#9057f2"
},
"MenuBar.borderColor": "#550979",
"Menu.borderColor": "#2f0743",
"NavBar.borderColor": "#2f0743",
"Notification": {
"errorForeground": "#abb2bf",
"errorBackground": "#280e29",
"errorBorderColor": "#692746",
"ToolWindow": {
"informativeForeground": "#abb2bf",
"informativeBackground": "#4b1d62",
"informativeBorderColor": "#3f2d55",
"warningForeground": "#abb2bf",
"warningBackground": "#735822",
"warningBorderColor": "#5f4422",
"errorForeground": "#abb2bf",
"errorBackground": "#802d43",
"errorBorderColor": "#552029"
}
},
"ComboBox": {
"background" : "#300444",
"nonEditableBackground": "#170b16",
"ArrowButton": {
"iconColor": "#aeb0b2",
"disabledIconColor": "#2a043c",
"nonEditableBackground": "#2c152a"
}
},
"Editor": {
"shortcutForeground": "#477924"
},
"EditorTabs": {
"selectedForeground": "#c9c9c9",
"selectedBackground": "#4e086f",
"underlinedTabBackground": "58097e",
"underlineColor": "#58097e",
"inactiveMaskColor": "#280a2fff"
},
"Link": {
"activeForeground": "#ede891",
"hoverForeground": "#ede891",
"pressedForeground": "#ede891",
"visitedForeground": "#ede891"
},
"FileColor": {
"Yellow": "#d19a6614",
"Green": "#98c37915",
"Blue": "#61afef15",
"Violet": "#542a4f",
"Orange": "#d13c0015",
"Rose": "#ae002f20"
},
"Tree.background": "#2d0340",
"SearchEverywhere": {
"Tab": {
"selectedForeground": "#c9c9c9",
"selectedBackground": "#4d086d"
}
},
"SearchMatch": {
"startBackground": "#d379f2",
"endBackground": "#d379f2"
},
"WelcomeScreen": {
"Projects.selectionInactiveBackground": "#37064e",
"separatorColor": "#2d033f"
},
"ValidationTooltip": {
"errorBackground": "#802d43",
"errorBorderColor": "#802d43",
"warningBackground": "#735822",
"warningBorderColor": "#5f4422"
},
"Table": {
"stripeColor": "#2d033f",
"selectionForeground": "#c9c9c9",
"dropLineColor": "#2d033f",
"focusCellForeground": "#abb2bf",
"gridColor": "#35064c"
},
"ProgressBar": {
"trackColor": "#280a2f",
"progressColor": "#e78af2",
"indeterminateStartColor": "#e78af2",
"indeterminateEndColor": "#523569",
"failedColor": "#ad3864",
"failedEndColor": "#47221d",
"passedColor": "#60649e",
"passedEndColor": "#251642"
},
"PopupMenu.translucentBackground": "#4d086d",
"Popup": {
"paintBorder": true,
"Header.activeBackground": "#4e086f",
"Header.inactiveBackground": "#4d086d",
"separatorColor" : "#5e0a85",
"separatorForeground": "#5e0a85",
"Advertiser": {
"background": "#490768",
"borderColor": "#490768",
"borderInsets": "3,8,5,0"
}
},
"ToggleButton": {
"onForeground": "#4d086d",
"onBackground": "#9ca9af",
"offForeground": "#646464",
"offBackground": "#280a2f",
"buttonColor": "#4e086f",
"borderColor": "#4e086f"
},
"ToolTip": {
"background": "#450073",
"Actions.background": "#331432"
},
"ToolWindow": {
"Header": {
"background": "#3b0063",
"inactiveBackground": "#370c41"
},
"HeaderTab": {
"selectedBackground": "#9C23D9FF",
"selectedInactiveBackground": "#4D0080FF",
"hoverBackground": "#9C23D9FF",
"hoverInactiveBackground": "#4D0080FF"
},
"Button": {
"hoverBackground": "#320647",
"selectedBackground": "#42075c",
"selectedForeground": "#9ca9af"
}
},
"DragAndDrop": {
"areaForeground": "#FFFFFF",
"areaBackground": "#42075c",
"areaBorderColor": "#4d0080"
},
"Plugins": {
"SectionHeader.background": "#4d0080",
"tagBackground": "#42075c",
"lightSelectionBackground": "#41075b"
},
"EditorPane.inactiveBackground": "#1a0225"
},
"icons": {
"ColorPalette": {
"Checkbox.Background.Default.Dark": "#3c0555",
"Checkbox.Border.Default.Dark": "#460561",
"Checkbox.Foreground.Selected.Dark": "#6aae41",
"Objects.Grey": "#9b8ebe",
"Objects.Blue": "#05b4a1",
"Objects.RedStatus": "#a8191aff",
"Objects.Red": "#aa3c3aff",
"Objects.Pink": "#d16979ff",
"Objects.Yellow": "#be9418ff",
"Objects.Green": "#009c0eff",
"Objects.Purple": "#6b48a6ff",
"Objects.BlackText": "#131313ff",
"Objects.YellowDark": "#8a6c1aff",
"Objects.GreenAndroid": "#008b14ff"
}
}
}

View File

@@ -0,0 +1,240 @@
{
"name": "Gradianto Deep Ocean",
"dark": true,
"author": "",
"editorScheme": "/Gradianto_deep_ocean.xml",
"ui": {
"*": {
"background": "#1c2739",
"foreground": "#c1c1c1",
"infoForeground": "#d7ff18c1",
"selectionBackground": "#39487e",
"selectionForeground": "#e2e2e2",
"selectionInactiveBackground": "#2c3d59",
"disabledForeground": "#a3a3a3",
"disabledBackground": "#222f44",
"inactiveBackground": "#325180",
"errorForeground": "#b5b5b5",
"disabledText": "#adadad",
"Borders.ContrastBorderColor" : "#0e1624",
"borderColor": "#151d2c",
"disabledBorderColor": "#0d1022",
"focusColor" : "#25334b",
"focusedBorderColor": "#2b416a",
"separatorColor": "#1d304b"
},
"Tree.background": "#24334a",
"ActionButton": {
"hoverBackground": "#324565",
"pressedBackground": "#284267",
"hoverBorderColor": "#141834",
"pressedBorderColor": "#171c3c"
},
"Borders": {
"color": "#2b3858cc",
"ContrastBorderColor": "#0e1624"
},
"Button": {
"startBackground": "#4a75a2",
"endBackground": "#4a75a2",
"startBorderColor": "#252e4b",
"endBorderColor": "#252e4b",
"focusedBorderColor" : "#4a75a2",
"default.focusColor": "#4a75a2",
"disabledBorderColor" : "#193c81",
"default": {
"startBackground": "#4a75a2",
"endBackground": "#4a75a2",
"focusColor": "#2969a2"
}
},
"CompletionPopup": {
"matchForeground": "#568AF2"
},
"Notification": {
"errorForeground": "#f5f5f5",
"errorBackground": "#c4131e",
"errorBorderColor": "#c55e4a",
"ToolWindow": {
"informativeForeground": "#f5f5f5",
"informativeBackground": "#414f66",
"informativeBorderColor": "#d4745c",
"warningForeground": "#abb2bf",
"warningBackground": "#896a28",
"warningBorderColor": "#5f4422",
"errorForeground": "#abb2bf",
"errorBackground": "#923849",
"errorBorderColor": "#552029"
}
},
"ComboBox": {
"background" : "#3c557c",
"nonEditableBackground": "#466391",
"ArrowButton": {
"iconColor": "#e3e2f1",
"disabledIconColor": "#83828b",
"nonEditableBackground": "#607691"
}
},
"Editor": {
"shortcutForeground": "#3f5079"
},
"EditorTabs": {
"selectedForeground": "#ececec",
"selectedBackground": "#324d65",
"underlinedTabBackground": "#324d65",
"background": "#243647",
"underlineColor": "#46628f",
"hoverMaskColor": "#46628f",
"inactiveMaskColor": "#24334aff"
},
"Link": {
"activeForeground": "#ede891",
"hoverForeground": "#ede891",
"pressedForeground": "#ede891",
"visitedForeground": "#ede891"
},
"FileColor": {
"Yellow": "#d1b14225",
"Green": "#98c37925",
"Blue": "#61afef25",
"Violet": "#542a4f25",
"Orange": "#d13c0025",
"Rose": "#ae002f25"
},
"SearchEverywhere": {
"Tab": {
"selectedForeground": "#ffffff",
"selectedBackground": "#314f8f"
}
},
"SearchMatch": {
"startBackground": "#67849d",
"endBackground": "#2d3f71"
},
"WelcomeScreen": {
"Projects.selectionInactiveBackground": "#325180",
"separatorColor": "#223757"
},
"ValidationTooltip": {
"errorBackground": "#802d43",
"errorBorderColor": "#802d43",
"warningBackground": "#735822",
"warningBorderColor": "#5f4422"
},
"Table": {
"stripeColor": "#475a6f",
"selectionForeground": "#e4e4e4",
"dropLineColor": "#586b8d",
"focusCellForeground": "#e3e3e3",
"gridColor": "#45526f"
},
"ProgressBar": {
"trackColor": "#131b2f",
"progressColor": "#608fcf",
"indeterminateStartColor": "#68a2f2",
"indeterminateEndColor": "#304869",
"failedColor": "#ad3864",
"failedEndColor": "#47221d",
"passedColor": "#83d68d",
"passedEndColor": "#2f422f"
},
"windowBorder" : "#282c57",
"window": "#282c57",
"PopupMenu.translucentBackground": "#26366d",
"Popup": {
"inactiveBorderColor" : "#252649",
"paintBorder": true,
"Header.activeBackground": "#39487e",
"Header.inactiveBackground": "#325180",
"separatorColor" : "#223757",
"separatorForeground": "#426aa8",
"Advertiser": {
"background": "#2f3347",
"borderColor": "#141834",
"borderInsets": "3,8,5,0"
}
},
"ToggleButton": {
"onForeground": "#274368",
"onBackground": "#9ca9af",
"offForeground": "#646464",
"offBackground": "#1c2732",
"buttonColor": "#3c5285"
},
"ToolTip": {
"background": "#445a83",
"Actions.background": "#252c3a"
},
"ToolWindow": {
"Header": {
"background": "#3766ae",
"inactiveBackground": "#325180"
},
"HeaderTab": {
"selectedBackground": "#39487eff",
"selectedInactiveBackground": "#2c3d59ff",
"hoverBackground": "#384d71ff",
"hoverInactiveBackground": "#25334aff"
},
"Button": {
"hoverBackground": "#384d71ff",
"selectedBackground": "#39487eff",
"selectedForeground": "#b1bfc6"
}
},
"DragAndDrop": {
"areaForeground": "#e5e5e5",
"areaBackground": "#242b39",
"areaBorderColor": "#141834"
},
"Plugins": {
"SectionHeader.background": "#2a3563",
"tagBackground": "#3d445a",
"lightSelectionBackground": "#3c4b7e"
},
"EditorPane.inactiveBackground": "#040c25"
},
"icons": {
"ColorPalette": {
"Checkbox.Background.Default.Dark": "#3c4861",
"Checkbox.Foreground.Selected.Dark": "#00d66e",
"Checkbox.Background.Disabled": "#212735",
"Checkbox.Background.Disabled.Dark": "#212735",
"Objects.Grey": "#e3e3e3c0",
"Objects.Blue": "#4fc3f7c0",
"Objects.RedStatus": "#ff5722c0",
"Objects.Red": "#ff7274c0",
"Objects.Pink": "#ff97b1c0",
"Objects.Yellow": "#ffca57c0",
"Objects.Green": "#76da84c0",
"Objects.Purple": "#d199ffc0",
"Objects.BlackText": "#2e2e2ec0",
"Objects.YellowDark": "#ffca1ec0",
"Objects.GreenAndroid": "#18e66bc0"
}
}
}

View File

@@ -0,0 +1,241 @@
{
"name": "Gradianto Midnight Blue",
"dark": true,
"author": "",
"editorScheme": "/Gradianto_midnight_blue.xml",
"ui": {
"*": {
"background": "#282839",
"foreground": "#d4d4d4",
"infoForeground": "#00d66e",
"selectionBackground": "#544092",
"selectionForeground": "#e2e2e2",
"selectionInactiveBackground": "#48387e",
"disabledForeground": "#a3a3a3",
"disabledBackground": "#3f3571",
"inactiveBackground": "#52408f",
"errorForeground": "#ebf1f2",
"disabledText": "#adadad",
"Borders.ContrastBorderColor" : "#221b3c",
"borderColor": "#221b3c",
"disabledBorderColor": "#221b3c",
"focusColor" : "#161227",
"focusedBorderColor": "#161227",
"separatorColor": "#383850"
},
"Tree.background": "#2c2c3e",
"ActionButton": {
"hoverBackground": "#6d55bd",
"pressedBackground": "#4b3a81",
"hoverBorderColor": "#6d55bd",
"pressedBorderColor": "#4b3a81"
},
"Borders": {
"color": "#1b092f",
"ContrastBorderColor": "#1a1328"
},
"Button": {
"startBackground": "#544c91",
"endBackground": "#544c91",
"startBorderColor": "#544c91",
"endBorderColor": "#544c91",
"focusedBorderColor" : "#5631a2",
"default.focusColor": "#5631a2",
"disabledBorderColor" : "#442781",
"default": {
"startBackground": "#544c91",
"endBackground": "#544c91",
"startBorderColor": "#544c91",
"endBorderColor": "#442781",
"focusedBorderColor": "#5631a2",
"focusColor": "#5631a2"
}
},
"CompletionPopup": {
"matchForeground": "#cecb46",
"matchSelectionForeground": "#ffcd7e"
},
"MenuBar.borderColor": "#221b3c",
"Menu.borderColor": "#140928",
"NavBar.borderColor": "#140928",
"Notification": {
"errorForeground": "#f5f5f5",
"errorBackground": "#c4131e",
"errorBorderColor": "#c55e4a",
"ToolWindow": {
"informativeForeground": "#f5f5f5",
"informativeBackground": "#4a4a66",
"informativeBorderColor": "#d4745c",
"warningForeground": "#abb2bf",
"warningBackground": "#896a28",
"warningBorderColor": "#5f4422",
"errorForeground": "#abb2bf",
"errorBackground": "#923849",
"errorBorderColor": "#552029"
}
},
"ComboBox": {
"background" : "#5d5d84",
"nonEditableBackground": "#4a4a68",
"ArrowButton": {
"iconColor": "#e3e2f1",
"disabledIconColor": "#667286",
"nonEditableBackground": "#464662"
}
},
"Editor": {
"shortcutForeground": "#745279"
},
"EditorTabs": {
"underlinedTabBackground": "#3d3d56",
"selectedBackground": "#3d3d56",
"underlineColor": "#44346e"
},
"Link": {
"activeForeground": "#ede891",
"hoverForeground": "#ede891",
"pressedForeground": "#ede891",
"visitedForeground": "#ede891"
},
"FileColor": {
"Yellow": "#d19a6625",
"Green": "#98c37925",
"Blue": "#61afef25",
"Violet": "#542a4f25",
"Orange": "#d13c0025",
"Rose": "#ae002f25"
},
"SearchEverywhere": {
"Tab": {
"selectedForeground": "#ffffff",
"selectedBackground": "#52408f"
}
},
"SearchMatch": {
"startBackground": "#8787c1",
"endBackground": "#8787c1"
},
"WelcomeScreen": {
"Projects.selectionInactiveBackground": "#323247",
"separatorColor": "#323247"
},
"ValidationTooltip": {
"errorBackground": "#802d43",
"errorBorderColor": "#802d43",
"warningBackground": "#735822",
"warningBorderColor": "#5f4422"
},
"Table": {
"stripeColor": "#4e4e6f",
"selectionForeground": "#ffffff",
"dropLineColor": "#63638d",
"focusCellForeground": "#ffffff",
"gridColor": "#4e4e6f"
},
"ProgressBar": {
"trackColor": "#280a2f",
"progressColor": "#8769cf",
"indeterminateStartColor": "#a088f2",
"indeterminateEndColor": "#3d3f69",
"failedColor": "#ad3864",
"failedEndColor": "#47221d",
"passedColor": "#83d68d",
"passedEndColor": "#2f422f"
},
"PopupMenu.translucentBackground": "#37256d",
"Popup": {
"paintBorder": true,
"Header.activeBackground": "#5841a7",
"Header.inactiveBackground": "#48388b",
"separatorColor" : "#5640a2",
"separatorForeground": "#654bbe",
"Advertiser": {
"background": "#323247",
"borderColor": "#140928",
"borderInsets": "3,8,5,0"
}
},
"ToggleButton": {
"onForeground": "#9ca9af",
"onBackground": "#3f2c6d",
"offForeground": "#646464",
"offBackground": "#232332",
"buttonColor": "#411e85",
"borderColor": "#140928"
},
"ToolTip": {
"background": "#5c5c83",
"Actions.background": "#29293a"
},
"ToolWindow": {
"Header": {
"background": "#504896",
"inactiveBackground": "#443577"
},
"HeaderTab": {
"selectedBackground": "#41415eff",
"selectedInactiveBackground": "#363647ff",
"hoverBackground": "#4e4e70ff",
"hoverInactiveBackground": "#414157ff"
},
"Button": {
"hoverBackground": "#4e4e70",
"selectedBackground": "#41415e",
"selectedForeground": "#9ca9af"
}
},
"DragAndDrop": {
"areaForeground": "#f5f5f5",
"areaBackground": "#282839",
"areaBorderColor": "#140928"
},
"Plugins": {
"SectionHeader.background": "#392c63",
"tagBackground": "#40405a",
"lightSelectionBackground": "#48387e"
},
"EditorPane.inactiveBackground": "#1a0225"
},
"icons": {
"ColorPalette": {
"Checkbox.Background.Default.Dark": "#444461",
"Checkbox.Foreground.Selected.Dark": "#00d66e",
"Objects.Grey": "#d6d6d6c0",
"Objects.Blue": "#4fc3f7c0",
"Objects.RedStatus": "#ff5722c0",
"Objects.Red": "#ff7274c0",
"Objects.Pink": "#ff97b1c0",
"Objects.Yellow": "#ffca57c0",
"Objects.Green": "#76da84c0",
"Objects.Purple": "#d199ffc0",
"Objects.BlackText": "#2e2e2ec0",
"Objects.YellowDark": "#ffca1ec0",
"Objects.GreenAndroid": "#18e66bc0"
}
}
}

View File

@@ -1,114 +1,124 @@
{ {
"name": "Hiberbee",
"author": "Vlad Volkov", "author": "Vlad Volkov",
"dark": true,
"editorScheme": "/colors/Hiberbee.xml",
"colors": { "colors": {
"accent": "#FFC83C", "accent": "#FFC83C",
"desaturatedBlue": "#1e282d",
"desaturatedOrange": "#8049117f",
"green": "#5B8021",
"greyDot15": "#d8d8d8", "greyDot15": "#d8d8d8",
"greyDot20": "#cccccc",
"greyDot25": "#bfbfbf", "greyDot25": "#bfbfbf",
"greyDot33": "#aaaaaa", "greyDot33": "#aaaaaa",
"greyDot50": "#7d7d7d", "greyDot50": "#7d7d7d",
"greyDot60": "#666666",
"greyDot65": "#5a5a5a", "greyDot65": "#5a5a5a",
"greyDot70": "#4d4d4d", "greyDot70": "#4d4d4d",
"greyDot75": "#434343", "greyDot75": "#434343",
"greyDot80": "#323232", "greyDot80": "#323232",
"greyDot85": "#252525", "greyDot85": "#252525",
"greyDot90": "#191919", "greyDot90": "#1f2021",
"lightBlue": "#57D1EB",
"navyDot85": "#191d21", "navyDot85": "#191d21",
"navyDot90": "#1f2021", "navyDot90": "#1f2021",
"lightBlue": "#90dae6",
"green": "#5B8021",
"red": "#800040", "red": "#800040",
"desaturatedBlue": "#1e282d",
"desaturatedOrange": "#8049117f",
"transparentGreen": "#5B80217f", "transparentGreen": "#5B80217f",
"transparentRed": "#8000407f", "transparentRed": "#8000407f",
"transparentYellow": "#8066357f",
"transparentViolet": "#9478F67f", "transparentViolet": "#9478F67f",
"transparentYellow": "#8066357f",
"yellow": "#806635" "yellow": "#806635"
}, },
"dark": true,
"editorScheme": "/Hiberbee.xml",
"icons": { "icons": {
"ColorPalette": { "ColorPalette": {
"Actions.Blue": "#57D1EB",
"Actions.Green": "#92D923",
"Actions.Grey": "#afafaf", "Actions.Grey": "#afafaf",
"Actions.Red": "#ff0072", "Actions.GreyInline": "#7f7f7f",
"Actions.Yellow": "#f7cd46", "Actions.GreyInline.Dark": "#646464",
"Actions.Green": "#A6E22E", "Actions.Red": "#ff6188",
"Actions.Blue": "#307bf6", "Actions.Yellow": "#FFC83C",
"Actions.GreyInline": "#afafaf", "Objects.BlackText": "greyDot33",
"Actions.GreyInline.Dark": "#7d7d7d", "Objects.Blue": "#57D1EB",
"Objects.Grey": "#c8c8c8", "Objects.Green": "#92D923",
"Objects.RedStatus": "#EC5F5D", "Objects.GreenAndroid": "#92D923",
"Objects.Red": "#ff0072", "Objects.Grey": "#7f7f7f",
"Objects.Pink": "#ffa9ca", "Objects.Pink": "#ffa9ca",
"Objects.Yellow": "#f7cd46", "Objects.Purple": "#9380FF",
"Objects.Green": "#78b756", "Objects.Red": "#ed005c",
"Objects.Purple": "#9478f6", "Objects.RedStatus": "#EC5F5D",
"Objects.BlackText": "#4d4d4d", "Objects.Yellow": "#FFC83C",
"Objects.Blue": "#49b0f1", "Objects.YellowDark": "#FD971F"
"Objects.YellowDark": "#fd971f",
"Objects.GreenAndroid": "#78c856"
} }
}, },
"name": "Hiberbee",
"ui": { "ui": {
"ActionButton.hoverBackground": "greyDot65", "*": {
"ActionButton.hoverBorderColor": "greyDot50", "arc": "3",
"ActionButton.pressedBackground": "greyDot65", "shadow": "greyDot75",
"Borders.ContrastBorderColor": "greyDot65", "background": "greyDot80",
"ActionButton.pressedBorderColor": "lightBlue", "borderColor": "greyDot70",
"Borders.color": "greyDot65", "caretForeground": "accent",
"Button.arc": "5", "color": "greyDot50",
"Button.background": "greyDot80", "foreground": "greyDot20",
"hoverBackground": "greyDot70",
"selectedBackground": "greyDot85",
"selectedForeground": "greyDot15",
"selectedInactiveBackground": "greyDot70",
"selectionBackground": "navyDot85",
"selectionForeground": "accent",
"separatorColor": "greyDot75",
"underlineHeight": 1
},
"ActionButton": {
"hoverBorderColor": "greyDot50",
"pressedBackground": "greyDot65",
"pressedBorderColor": "greyDot50"
},
"Borders": {
"ContrastBorderColor": "greyDot65",
"color": "greyDot70"
},
"Button.default.endBackground": "greyDot80", "Button.default.endBackground": "greyDot80",
"Button.default.endBorderColor": "greyDot65", "Button.default.endBorderColor": "greyDot65",
"Button.default.startBorderColor": "greyDot65", "Button.default.focusColor": "greyDot80",
"Button.default.focusColor": "greyDot50", "Button.default.focusedBorderColor": "greyDot15",
"Button.default.focusedBorderColor": "lightBlue", "Button.default.foreground": "greyDot15",
"Button.default.foreground": "greyDot25",
"Button.default.shadowColor": "navyDot90",
"Button.default.startBackground": "greyDot80", "Button.default.startBackground": "greyDot80",
"Button.default.startBorderColor": "greyDot65",
"Button.endBackground": "greyDot80", "Button.endBackground": "greyDot80",
"Button.startBorderColor": "greyDot65",
"Button.endBorderColor": "greyDot65", "Button.endBorderColor": "greyDot65",
"Button.focusedBorderColor": "accent", "Button.focusedBorderColor": "accent",
"Button.foreground": "greyDot25",
"Button.shadowColor": "navyDot90",
"Button.shadowWidth": "0",
"Button.startBackground": "greyDot80", "Button.startBackground": "greyDot80",
"CheckBox.background": "greyDot80", "Button.startBorderColor": "greyDot65",
"CheckBoxMenuItem.background": "greyDot80", "CheckBox.disabledText": "greyDot33",
"CheckBoxMenuItem.disabledBackground": "greyDot85", "CheckBox.select": "greyDot50",
"CheckBoxMenuItem.selectionForeground": "accent", "CheckBoxMenuItem.disabledBackground": "greyDot80",
"ComboBox.ArrowButton.disabledIconColor": "greyDot50", "ComboBox.ArrowButton.disabledIconColor": "greyDot50",
"ComboBox.ArrowButton.iconColor": "accent", "ComboBox.ArrowButton.iconColor": "accent",
"ComboBox.ArrowButton.nonEditableBackground": "greyDot70", "ComboBox.ArrowButton.nonEditableBackground": "greyDot70",
"ComboBox.background": "greyDot80",
"ComboBox.modifiedItemForeground": "accent", "ComboBox.modifiedItemForeground": "accent",
"ComboBox.disabledForeground": "greyDot70",
"ComboBox.nonEditableBackground": "greyDot75", "ComboBox.nonEditableBackground": "greyDot75",
"ComboPopup.border": "1,1,1,1,5a5a5a", "ComboPopup.border": "1,1,1,1,4d4d4d",
"CompletionPopup.foreground": "greyDot25", "CompletionPopup": {
"CompletionPopup.matchForeground": "accent", "foreground": "greyDot20",
"CompletionPopup.selectionBackground": "navyDot85", "matchForeground": "accent"
"CompletionPopup.selectionInactiveBackground": "greyDot80", },
"Component.arc": "5", "Component.arc": "3",
"Component.borderColor": "greyDot65", "Label.foreground": "greyDot15",
"Component.errorFocusColor": "red", "Component.disabledBorderColor": "greyDot70",
"Component.focusColor": "accent", "Component.infoForeground": "greyDot50",
"Component.errorFocusColor": "#F65F87",
"Component.focusColor": "greyDot50",
"Component.focusWidth": "0", "Component.focusWidth": "0",
"Component.focusedBorderColor": "greyDot50", "Component.focusedBorderColor": "greyDot50",
"Component.hoverIconColor": "accent", "Component.hoverIconColor": "accent",
"Component.iconColor": "lightBlue",
"Component.inactiveErrorFocusColor": "transparentRed", "Component.inactiveErrorFocusColor": "transparentRed",
"Component.inactiveWarningFocusColor": "transparentYellow", "Component.inactiveWarningFocusColor": "transparentYellow",
"Component.warningFocusColor": "yellow", "Component.warningFocusColor": "yellow",
"Counter.background": "greyDot80",
"Counter.foreground": "greyDot25",
"Debugger.Variables.changedValueForeground": "accent", "Debugger.Variables.changedValueForeground": "accent",
"Debugger.Variables.evaluatingExpressionForeground": "lightBlue", "Debugger.Variables.evaluatingExpressionForeground": "lightBlue",
"DebuggerPopup.borderColor": "greyDot65",
"DefaultTabs.background": "greyDot80",
"DefaultTabs.borderColor": "greyDot65",
"DefaultTabs.hoverBackground": "navyDot85",
"DefaultTabs.underlineColor": "accent", "DefaultTabs.underlineColor": "accent",
"DefaultTabs.underlineHeight": 1, "DefaultTabs.underlineHeight": 1,
"DefaultTabs.underlinedTabBackground": "greyDot75", "DefaultTabs.underlinedTabBackground": "greyDot75",
@@ -116,14 +126,8 @@
"DragAndDrop.areaBackground": "greyDot75", "DragAndDrop.areaBackground": "greyDot75",
"DragAndDrop.areaForeground": "greyDot25", "DragAndDrop.areaForeground": "greyDot25",
"Editor.background": "greyDot90", "Editor.background": "greyDot90",
"Editor.foreground": "greyDot25",
"EditorPane.background": "greyDot80",
"EditorPane.caretForeground": "accent",
"EditorPane.foreground": "greyDot25",
"EditorPane.inactiveBackground": "greyDot85", "EditorPane.inactiveBackground": "greyDot85",
"EditorPane.inactiveForeground": "greyDot50", "EditorPane.inactiveForeground": "greyDot50",
"EditorPane.selectionBackground": "navyDot85",
"EditorPane.selectionForeground": "accent",
"EditorTabs.underlineHeight": 1, "EditorTabs.underlineHeight": 1,
"FileColor.Blue": "#23282d", "FileColor.Blue": "#23282d",
"FileColor.Green": "#232d28", "FileColor.Green": "#232d28",
@@ -131,55 +135,45 @@
"FileColor.Rose": "#2d2323", "FileColor.Rose": "#2d2323",
"FileColor.Violet": "#2D232D", "FileColor.Violet": "#2D232D",
"FileColor.Yellow": "#2d2d23", "FileColor.Yellow": "#2d2d23",
"FormattedTextField.inactiveBackground": "greyDot80",
"FormattedTextField.background": "greyDot75",
"GutterTooltip.infoForeground": "greyDot50", "GutterTooltip.infoForeground": "greyDot50",
"InplaceRefactoringPopup.borderColor": "lightBlue", "Label": {
"Label.background": "greyDot80", "foreground": "greyDot25",
"infoForeground": "greyDot50"
},
"Link.activeForeground": "lightBlue", "Link.activeForeground": "lightBlue",
"Link.hoverForeground": "accent", "Link.hoverForeground": "accent",
"Link.pressedForeground": "lightBlue", "Link.pressedForeground": "lightBlue",
"Link.visitedForeground": "greyDot25", "Link.visitedForeground": "greyDot25",
"List.background": "greyDot80",
"List.selectionBackground": "navyDot85",
"List.selectionForeground": "accent",
"MemoryIndicator.allocatedBackground": "green", "MemoryIndicator.allocatedBackground": "green",
"MemoryIndicator.usedBackground": "red", "MemoryIndicator.usedBackground": "red",
"Menu.acceleratorForeground": "greyDot25", "Menu.acceleratorForeground": "greyDot25",
"Menu.acceleratorSelectionForeground": "accent",
"Menu.background": "greyDot80",
"Menu.borderColor": "greyDot65",
"Menu.foreground": "greyDot25",
"Menu.selectionForeground": "accent",
"Menu.separatorColor": "greyDot65",
"MenuBar.borderColor": "greyDot65",
"MenuBar.selectionBackground": "navyDot85",
"MenuBar.shadow": "navyDot90",
"MenuItem.selectionForeground": "accent",
"Notification.MoreButton.background": "greyDot85",
"Notification.MoreButton.innerBorderColor": "greyDot65", "Notification.MoreButton.innerBorderColor": "greyDot65",
"Notification.ToolWindow.errorBackground": "red", "Notification.ToolWindow.errorBackground": "greyDot85",
"Notification.ToolWindow.errorBorderColor": "greyDot50", "Notification.ToolWindow.errorBorderColor": "#ed005c",
"Notification.ToolWindow.errorForeground": "greyDot15", "Notification.ToolWindow.errorForeground": "#F65F87",
"Notification.ToolWindow.informativeBackground": "#304000", "Notification.ToolWindow.informativeBackground": "greyDot85",
"Notification.ToolWindow.informativeBorderColor": "greyDot65", "Notification.ToolWindow.informativeBorderColor": "#92D923",
"Notification.ToolWindow.informativeForeground": "greyDot15", "Notification.ToolWindow.informativeForeground": "#92D923",
"Notification.ToolWindow.warningBackground": "yellow", "Notification.ToolWindow.warningBackground": "greyDot85",
"Notification.ToolWindow.warningBorderColor": "greyDot65", "Notification.ToolWindow.warningBorderColor": "accent",
"Notification.ToolWindow.warningForeground": "greyDot15", "Notification.ToolWindow.warningForeground": "accent",
"Notification.background": "greyDot85", "Notification.background": "greyDot85",
"Notification.errorBackground": "red", "Notification.errorBackground": "greyDot85",
"Notification.errorBorderColor": "greyDot65", "Notification.errorBorderColor": "#ed005c",
"Notification.errorForeground": "greyDot15", "Notification.errorForeground": "#F65F87",
"Notification.foreground": "greyDot25",
"OptionPane.background": "greyDot80", "OptionPane.background": "greyDot80",
"OptionPane.foreground": "greyDot25", "OptionPane.foreground": "greyDot33",
"Panel.background": "greyDot80", "Panel.background": "greyDot80",
"Panel.foreground": "greyDot25", "Panel.foreground": "greyDot20",
"ParameterInfo.background": "greyDot85", "ParameterInfo.background": "greyDot85",
"ParameterInfo.currentOverloadBackground": "lightBlue",
"ParameterInfo.currentParameterForeground": "accent",
"ParameterInfo.foreground": "greyDot25", "ParameterInfo.foreground": "greyDot25",
"ParameterInfo.currentOverloadBackground": "greyDot65",
"ParameterInfo.currentParameterForeground": "accent",
"ParameterInfo.infoForeground": "greyDot33", "ParameterInfo.infoForeground": "greyDot33",
"ParameterInfo.lineSeparatorColor": "greyDot70", "ParameterInfo.lineSeparatorColor": "greyDot75",
"PasswordField.background": "greyDot75",
"Plugins.Button.installBackground": "greyDot80", "Plugins.Button.installBackground": "greyDot80",
"Plugins.Button.installBorderColor": "greyDot65", "Plugins.Button.installBorderColor": "greyDot65",
"Plugins.Button.installFillBackground": "greyDot80", "Plugins.Button.installFillBackground": "greyDot80",
@@ -187,136 +181,99 @@
"Plugins.Button.installForeground": "accent", "Plugins.Button.installForeground": "accent",
"Plugins.SearchField.background": "greyDot75", "Plugins.SearchField.background": "greyDot75",
"Plugins.SectionHeader.background": "greyDot75", "Plugins.SectionHeader.background": "greyDot75",
"Plugins.SectionHeader.foreground": "greyDot25", "Plugins.Tab.hoverBackground": "greyDot65",
"Plugins.Tab.hoverBackground": "navyDot85",
"Plugins.Tab.selectedBackground": "greyDot85",
"Plugins.background": "greyDot80", "Plugins.background": "greyDot80",
"Plugins.disabledForeground": "greyDot50", "Plugins.disabledForeground": "greyDot50",
"Plugins.lightSelectionBackground": "greyDot70", "Plugins.lightSelectionBackground": "navyDot85",
"Plugins.tagBackground": "greyDot85", "Plugins.tagBackground": "greyDot85",
"Plugins.tagForeground": "greyDot25",
"Popup.Advertiser.background": "greyDot85", "Popup.Advertiser.background": "greyDot85",
"Popup.Advertiser.foreground": "greyDot50", "Popup.Advertiser.foreground": "greyDot50",
"Popup.Header.activeBackground": "greyDot75", "Popup.Header.activeBackground": "greyDot75",
"Popup.Header.inactiveBackground": "greyDot85", "Popup.Header.inactiveBackground": "greyDot85",
"Popup.paintBorder": true, "Popup.paintBorder": true,
"PopupMenu.background": "greyDot80", "PopupMenu.background": "greyDot80",
"PopupMenu.foreground": "greyDot25",
"PopupMenu.selectionBackground": "navyDot85",
"PopupMenu.selectionForeground": "lightBlue",
"PopupMenuSeparator.stripeWidth": 1, "PopupMenuSeparator.stripeWidth": 1,
"ProgressBar.failedColor": "red", "ProgressBar.failedColor": "#ed005c",
"ProgressBar.failedEndColor": "greyDot65", "ProgressBar.failedEndColor": "greyDot75",
"ProgressBar.indeterminateEndColor": "greyDot25",
"ProgressBar.indeterminateStartColor": "accent", "ProgressBar.indeterminateStartColor": "accent",
"ProgressBar.passedColor": "green", "ProgressBar.indeterminateEndColor": "#FD971F",
"ProgressBar.passedEndColor": "greyDot65", "ProgressBar.passedColor": "#92D923",
"ProgressBar.passedEndColor": "greyDot75",
"ProgressBar.progressColor": "accent", "ProgressBar.progressColor": "accent",
"ProgressBar.trackColor": "greyDot75", "ProgressBar.trackColor": "greyDot75",
"RadioButton.background": "greyDot75", "RadioButton.background": "greyDot80",
"ScrollBar.Mac.hoverTrackColor": "greyDot75", "RadioButtonMenuItem.disabledBackground": "greyDot80",
"ScrollBar.Mac.trackColor": "greyDot75", "ScrollPane.background": "greyDot80",
"ScrollPane.background": "greyDot85", "SearchEverywhere.Advertiser.foreground": "greyDot50",
"ScrollPane.foreground": "greyDot25", "SearchEverywhere.List.separatorForeground": "greyDot50",
"SearchEverywhere.Advertiser.background": "greyDot85", "SearchEverywhere.SearchField.infoForeground": "greyDot33",
"SearchEverywhere.Advertiser.foreground": "greyDot33",
"SearchEverywhere.Header.background": "greyDot85",
"SearchEverywhere.List.separatorColor": "greyDot70",
"SearchEverywhere.List.separatorForeground": "greyDot70",
"SearchEverywhere.SearchField.background": "greyDot75", "SearchEverywhere.SearchField.background": "greyDot75",
"SearchEverywhere.SearchField.borderColor": "greyDot70", "SearchEverywhere.Header.background": "greyDot80",
"SearchEverywhere.SearchField.infoForeground": "greyDot50", "SearchEverywhere.Tab.selectedBackground": "greyDot80",
"SearchEverywhere.Tab.selectedBackground": "greyDot70",
"SearchEverywhere.Tab.selectedForeground": "accent",
"SearchMatch.endBackground": "accent", "SearchMatch.endBackground": "accent",
"SearchMatch.startBackground": "accent", "SearchMatch.startBackground": "accent",
"Separator.separatorColor": "greyDot70",
"SidePanel.background": "greyDot85", "SidePanel.background": "greyDot85",
"Slider.background": "greyDot80", "SpeedSearch.errorForeground": "#F65F87",
"Slider.focus": "greyDot65",
"SpeedSearch.background": "greyDot80",
"SpeedSearch.borderColor": "greyDot70",
"SpeedSearch.errorForeground": "red",
"SpeedSearch.foreground": "accent", "SpeedSearch.foreground": "accent",
"SplitPane.background": "greyDot80",
"SplitPane.darkShadow": "navyDot90",
"SplitPane.highlight": "accent", "SplitPane.highlight": "accent",
"SplitPane.shadow": "navyDot90", "PopupMenu.translucentBackground": "greyDot50",
"TabbedPane.background": "greyDot80", "TabbedPane.disabledUnderlineColor": "greyDot65",
"TabbedPane.contentAreaColor": "greyDot80",
"TabbedPane.disabledUnderlineColor": "greyDot75",
"TabbedPane.focusColor": "greyDot65", "TabbedPane.focusColor": "greyDot65",
"TabbedPane.foreground": "greyDot25",
"TabbedPane.hoverColor": "navyDot85",
"TabbedPane.tabSelectionHeight": 1, "TabbedPane.tabSelectionHeight": 1,
"TabbedPane.underlineColor": "accent", "TabbedPane.underlineColor": "accent",
"Table.background": "greyDot80",
"Table.dropLineColor": "greyDot75", "Table.dropLineColor": "greyDot75",
"Table.dropLineShortColor": "greyDot70", "Table.dropLineShortColor": "greyDot70",
"Table.focusCellBackground": "greyDot85",
"Table.focusCellForeground": "accent", "Table.focusCellForeground": "accent",
"Table.selectionBackground": "navyDot85",
"Table.selectionForeground": "accent",
"Table.sortIconColor": "accent", "Table.sortIconColor": "accent",
"Table.stripeColor": "greyDot75", "Table.stripeColor": "greyDot75",
"TableHeader.background": "greyDot85", "TableHeader.background": "greyDot85",
"TableHeader.bottomSeparatorColor": "greyDot75", "TableHeader.bottomSeparatorColor": "greyDot65",
"TableHeader.separatorColor": "greyDot70", "TextArea.background": "greyDot75",
"TextArea.background": "greyDot85",
"TextArea.caretForeground": "accent", "TextArea.caretForeground": "accent",
"TextArea.foreground": "greyDot25", "TextArea.inactiveBackground": "greyDot80",
"TextArea.selectionBackground": "navyDot85",
"TextField.background": "greyDot75", "TextField.background": "greyDot75",
"TextField.caretForeground": "accent",
"TextField.darkShadow": "navyDot90",
"TextField.foreground": "greyDot25", "TextField.foreground": "greyDot25",
"TextField.caretForeground": "accent",
"TextField.highlight": "greyDot15", "TextField.highlight": "greyDot15",
"TextField.selectionBackground": "navyDot85", "TextField.inactiveForeground": "greyDot33",
"TextPane.background": "greyDot80", "TextPane.inactiveBackground": "greyDot80",
"TitlePane.background": "greyDot85", "TitlePane.background": "greyDot85",
"ToggleButton.borderColor": "greyDot70", "ToggleButton.buttonColor": "greyDot65",
"ToggleButton.buttonColor": "greyDot75",
"ToggleButton.offBackground": "greyDot75", "ToggleButton.offBackground": "greyDot75",
"ToggleButton.offForeground": "greyDot25", "ToggleButton.offForeground": "greyDot25",
"ToggleButton.onBackground": "greyDot50", "ToggleButton.onBackground": "accent",
"ToggleButton.onForeground": "accent", "ToggleButton.onForeground": "greyDot80",
"ToolBar.background": "greyDot80", "ToolBar.borderHandleColor": "greyDot65",
"ToolBar.borderHandleColor": "greyDot70",
"ToolBar.darkShadow": "navyDot90",
"ToolBar.shadow": "navyDot90",
"ToolTip.Actions.background": "greyDot80", "ToolTip.Actions.background": "greyDot80",
"ToolTip.Actions.infoForeground": "greyDot50", "ToolTip.Actions.infoForeground": "greyDot50",
"ToolTip.background": "greyDot75", "ToolTip.background": "greyDot75",
"ToolTip.foreground": "greyDot25",
"ToolTip.infoForeground": "greyDot50", "ToolTip.infoForeground": "greyDot50",
"ToolWindow.Button.hoverBackground": "navyDot85", "ToolWindow.Button.hoverBackground": "greyDot65",
"ToolWindow.Button.selectedBackground": "greyDot70", "ToolWindow.Button.selectedBackground": "greyDot85",
"ToolWindow.Button.selectedForeground": "accent", "ToolWindow.Button.selectedForeground": "lightBlue",
"ToolWindow.Header.background": "greyDot85", "ToolWindow.Header.background": "greyDot85",
"ToolWindow.Header.inactiveBackground": "greyDot80", "ToolWindow.Header.inactiveBackground": "greyDot80",
"ToolWindow.HeaderTab.hoverBackground": "navyDot85", "ToolWindow.HeaderTab.hoverBackground": "greyDot65",
"ToolWindow.HeaderTab.hoverInactiveBackground": "navyDot90", "ToolWindow.HeaderTab.hoverInactiveBackground": "greyDot85",
"ToolWindow.HeaderTab.inactiveUnderlineColor": "greyDot75", "ToolWindow.HeaderTab.inactiveUnderlineColor": "greyDot75",
"ToolWindow.HeaderTab.selectedInactiveBackground": "greyDot80",
"ToolWindow.HeaderTab.underlineColor": "accent", "ToolWindow.HeaderTab.underlineColor": "accent",
"ToolWindow.HeaderTab.underlineHeight": 1, "ToolWindow.HeaderTab.underlineHeight": 1,
"ToolWindow.HeaderTab.underlinedTabBackground": "greyDot90",
"ToolWindow.HeaderTab.underlinedTabInactiveBackground": "greyDot75", "ToolWindow.HeaderTab.underlinedTabInactiveBackground": "greyDot75",
"Tree.background": "greyDot85", "Tree.background": "greyDot85",
"Tree.foreground": "greyDot15",
"Tree.modifiedItemForeground": "accent", "Tree.modifiedItemForeground": "accent",
"Tree.paintLines": 0, "ValidationTooltip.errorBackground": "greyDot85",
"Tree.rowHeight": 20, "ValidationTooltip.errorBorderColor": "#ed005c",
"Tree.selectionBackground": "navyDot85", "ValidationTooltip.warningBackground": "greyDot85",
"Tree.selectionForeground": "accent", "ValidationTooltip.warningBorderColor": "accent",
"Tree.selectionInactiveBackground": "navyDot90",
"ValidationTooltip.errorBackground": "red",
"ValidationTooltip.errorBorderColor": "greyDot65",
"ValidationTooltip.warningBackground": "#805e00",
"ValidationTooltip.warningBorderColor": "greyDot65",
"VersionControl.FileHistory.Commit.selectedBranchBackground": "greyDot70", "VersionControl.FileHistory.Commit.selectedBranchBackground": "greyDot70",
"VersionControl.Log.Commit.currentBranchBackground": "greyDot85", "VersionControl.Log.Commit.currentBranchBackground": "greyDot85",
"VersionControl.Log.Commit.unmatchedForeground": "greyDot25", "VersionControl.Log.Commit.unmatchedForeground": "greyDot25",
"WelcomeScreen.Projects.selectionBackground": "navyDot85", "WelcomeScreen.Projects.selectionBackground": "navyDot85",
"WelcomeScreen.Projects.selectionInactiveBackground": "navyDot90", "WelcomeScreen.Projects.selectionInactiveBackground": "navyDot90",
"WelcomeScreen.separatorColor": "greyDot65", "WelcomeScreen.separatorColor": "greyDot65",
"Window.border": "0,0,0,0,5a5a5a" "Window.border": "1,1,1,1,4d4d4d"
} }
} }

View File

@@ -36,6 +36,8 @@
} }
}, },
"ToolBar.background" : "#F5F5F5",
"Popup.Toolbar.background" : "#F5F5F5",
"Panel.background": "#F5F5F5", "Panel.background": "#F5F5F5",
"Panel.foreground" : "#5c616c", "Panel.foreground" : "#5c616c",
"Window.border" : "1,1,1,1,#5c616c", "Window.border" : "1,1,1,1,#5c616c",
@@ -48,11 +50,11 @@
"Menu.foreground" : "#5c616c", "Menu.foreground" : "#5c616c",
"MenuItem.foreground" : "#5c616c", "MenuItem.foreground" : "#5c616c",
"MenuItem.background" : "#ffffff", "MenuItem.background" : "#ffffff",
"PopupMenuSeparator.height" : "1", "PopupMenuSeparator.height" : "2",
"Separator.separatorColor" : "#9ba2ab", "Separator.separatorColor" : "#9ba2ab",
"Group.separatorColor" : "#9ba2ab",
"Tree.background" : "#ffffff", "Tree.background" : "#ffffff",
"Tree.rowHeight": "23",
"ProgressBar.background" : "#f57900", "ProgressBar.background" : "#f57900",
"ProgressBar.foreground" : "#f57900", "ProgressBar.foreground" : "#f57900",
@@ -84,6 +86,8 @@
"Table.lightSelectionForeground" : "#ffffff", "Table.lightSelectionForeground" : "#ffffff",
"Table.focusCellBackground" : "#f57900", "Table.focusCellBackground" : "#f57900",
"Table.focusCellForeground" : "#ffffff", "Table.focusCellForeground" : "#ffffff",
"Table.dropLineColor": "#f57900",
"Table.dropLineShortColor": "#f57900",
"TabbedPane.underlineColor" : "#f57900", "TabbedPane.underlineColor" : "#f57900",
"TabbedPane.tabSelectionHeight" : 2, "TabbedPane.tabSelectionHeight" : 2,
@@ -154,7 +158,9 @@
"EditorTabs.underlineColor" : "#f57900", "EditorTabs.underlineColor" : "#f57900",
"EditorTabs.background" : "#F5F5F5", "EditorTabs.background" : "#F5F5F5",
"Notification.background" : "#F5F5F5" "Notification.background" : "#F5F5F5",
"Notification.MoreButton.background" : "#dddee1",
"ScrollBar.background" : "#F5F5F5"
}, },

View File

@@ -36,6 +36,8 @@
} }
}, },
"ToolBar.background" : "#F5F5F5",
"Popup.Toolbar.background" : "#F5F5F5",
"Panel.background": "#F5F5F5", "Panel.background": "#F5F5F5",
"Panel.foreground" : "#5c616c", "Panel.foreground" : "#5c616c",
"Window.border" : "1,1,1,1,#5c616c", "Window.border" : "1,1,1,1,#5c616c",
@@ -48,11 +50,11 @@
"Menu.foreground" : "#5c616c", "Menu.foreground" : "#5c616c",
"MenuItem.foreground" : "#5c616c", "MenuItem.foreground" : "#5c616c",
"MenuItem.background" : "#ffffff", "MenuItem.background" : "#ffffff",
"PopupMenuSeparator.height" : "1", "PopupMenuSeparator.height" : "2",
"Separator.separatorColor" : "#9ba2ab", "Separator.separatorColor" : "#9ba2ab",
"Group.separatorColor" : "#9ba2ab",
"Tree.background" : "#ffffff", "Tree.background" : "#ffffff",
"Tree.rowHeight": "23",
"ProgressBar.background" : "#2679db", "ProgressBar.background" : "#2679db",
"ProgressBar.foreground" : "#2679db", "ProgressBar.foreground" : "#2679db",
@@ -84,6 +86,8 @@
"Table.lightSelectionForeground" : "#ffffff", "Table.lightSelectionForeground" : "#ffffff",
"Table.focusCellBackground" : "#2679db", "Table.focusCellBackground" : "#2679db",
"Table.focusCellForeground" : "#ffffff", "Table.focusCellForeground" : "#ffffff",
"Table.dropLineColor": "#2679db",
"Table.dropLineShortColor": "#2679db",
"TabbedPane.underlineColor" : "#2679db", "TabbedPane.underlineColor" : "#2679db",
"TabbedPane.tabSelectionHeight" : 2, "TabbedPane.tabSelectionHeight" : 2,
@@ -154,7 +158,9 @@
"EditorTabs.underlineColor" : "#2679db", "EditorTabs.underlineColor" : "#2679db",
"EditorTabs.background" : "#F5F5F5", "EditorTabs.background" : "#F5F5F5",
"Notification.background" : "#F5F5F5" "Notification.background" : "#F5F5F5",
"Notification.MoreButton.background" : "#dddee1",
"ScrollBar.background" : "#F5F5F5"
}, },

View File

@@ -85,7 +85,7 @@
"matchSelectionForeground": "#88c0d0", "matchSelectionForeground": "#88c0d0",
"nonFocusedState": "#2e3440", "nonFocusedState": "#2e3440",
"selectionBackground": "#4c566a", "selectionBackground": "#4c566a",
"selectionInactiveBackground": "#3b4252", "selectionInactiveBackground": "#4c566a",
"selectionInactiveInfoForeground": "#4c566a", "selectionInactiveInfoForeground": "#4c566a",
"selectionInfoForeground": "#eceff4" "selectionInfoForeground": "#eceff4"
}, },

View File

@@ -41,6 +41,27 @@
"sourceCodeUrl": "https://github.com/dracula/jetbrains", "sourceCodeUrl": "https://github.com/dracula/jetbrains",
"sourceCodePath": "blob/master/src/main/resources/themes/Dracula.theme.json" "sourceCodePath": "blob/master/src/main/resources/themes/Dracula.theme.json"
}, },
"Gradianto_dark_fuchsia.theme.json": {
"name": "Gradianto Dark Fuchsia",
"license": "MIT",
"licenseFile": "Gradianto.LICENSE.txt",
"sourceCodeUrl": "https://github.com/thvardhan/Gradianto",
"sourceCodePath": "blob/master/resources/Gradianto_dark_fuchsia.theme.json"
},
"Gradianto_deep_ocean.theme.json": {
"name": "Gradianto Deep Ocean",
"license": "MIT",
"licenseFile": "Gradianto.LICENSE.txt",
"sourceCodeUrl": "https://github.com/thvardhan/Gradianto",
"sourceCodePath": "blob/master/resources/Gradianto_deep_ocean.theme.json"
},
"Gradianto_midnight_blue.theme.json": {
"name": "Gradianto Midnight Blue",
"license": "MIT",
"licenseFile": "Gradianto.LICENSE.txt",
"sourceCodeUrl": "https://github.com/thvardhan/Gradianto",
"sourceCodePath": "blob/master/resources/Gradianto_midnight_blue.theme.json"
},
"Gray.theme.json": { "Gray.theme.json": {
"name": "Gray", "name": "Gray",
"license": "MIT", "license": "MIT",

View File

@@ -216,7 +216,7 @@ public class FlatJideTabbedPaneUI
g.setColor( enabled && _tabPane.isEnabledAt( tabIndex ) && g.setColor( enabled && _tabPane.isEnabledAt( tabIndex ) &&
(_indexMouseOver == tabIndex || (_closeButtons != null && ((JideTabbedPane.NoFocusButton)_closeButtons[tabIndex]).isMouseOver())) (_indexMouseOver == tabIndex || (_closeButtons != null && ((JideTabbedPane.NoFocusButton)_closeButtons[tabIndex]).isMouseOver()))
? hoverColor ? hoverColor
: (enabled && isSelected && _tabPane.hasFocus() : (enabled && isSelected && FlatUIUtils.isPermanentFocusOwner( _tabPane )
? focusColor ? focusColor
: _tabPane.getBackgroundAt( tabIndex )) ); : _tabPane.getBackgroundAt( tabIndex )) );
g.fillRect( x, y, w, h ); g.fillRect( x, y, w, h );

View File

@@ -20,6 +20,7 @@ import java.awt.Component;
import javax.swing.JTable; import javax.swing.JTable;
import org.jdesktop.swingx.JXDatePicker; import org.jdesktop.swingx.JXDatePicker;
import com.formdev.flatlaf.ui.FlatRoundBorder; import com.formdev.flatlaf.ui.FlatRoundBorder;
import com.formdev.flatlaf.ui.FlatUIUtils;
/** /**
* Border for {@link org.jdesktop.swingx.JXDatePicker}. * Border for {@link org.jdesktop.swingx.JXDatePicker}.
@@ -32,7 +33,7 @@ public class FlatDatePickerBorder
@Override @Override
protected boolean isFocused( Component c ) { protected boolean isFocused( Component c ) {
if( c instanceof JXDatePicker ) if( c instanceof JXDatePicker )
return ((JXDatePicker)c).getEditor().hasFocus(); return FlatUIUtils.isPermanentFocusOwner( ((JXDatePicker)c).getEditor() );
return super.isFocused( c ); return super.isFocused( c );
} }

View File

@@ -165,6 +165,7 @@ public class FlatComponentsTest
JLabel scrollPaneLabel = new JLabel(); JLabel scrollPaneLabel = new JLabel();
JScrollPane scrollPane13 = new JScrollPane(); JScrollPane scrollPane13 = new JScrollPane();
JPanel panel1 = new JPanel(); JPanel panel1 = new JPanel();
JButton button19 = new JButton();
JScrollBar scrollBar2 = new JScrollBar(); JScrollBar scrollBar2 = new JScrollBar();
JScrollBar scrollBar3 = new JScrollBar(); JScrollBar scrollBar3 = new JScrollBar();
JScrollBar scrollBar7 = new JScrollBar(); JScrollBar scrollBar7 = new JScrollBar();
@@ -512,14 +513,13 @@ public class FlatComponentsTest
add(comboBox4, "cell 4 5,growx"); add(comboBox4, "cell 4 5,growx");
//---- comboBox5 ---- //---- comboBox5 ----
comboBox5.setPrototypeDisplayValue("12345");
comboBox5.setModel(new DefaultComboBoxModel<>(new String[] { comboBox5.setModel(new DefaultComboBoxModel<>(new String[] {
"wide popup if text is longer", "wide popup if text is longer",
"aa", "aa",
"bbb", "bbb",
"cccc" "cccc"
})); }));
add(comboBox5, "cell 5 5,growx"); add(comboBox5, "cell 5 5,growx,wmax 100");
//---- spinnerLabel ---- //---- spinnerLabel ----
spinnerLabel.setText("JSpinner:"); spinnerLabel.setText("JSpinner:");
@@ -803,8 +803,14 @@ public class FlatComponentsTest
//======== panel1 ======== //======== panel1 ========
{ {
panel1.setPreferredSize(new Dimension(200, 200)); panel1.setPreferredSize(new Dimension(800, 400));
panel1.setLayout(new BorderLayout()); panel1.setLayout(new BorderLayout());
//---- button19 ----
button19.setText("I'm a large button");
button19.setVerticalAlignment(SwingConstants.TOP);
button19.setHorizontalAlignment(SwingConstants.LEFT);
panel1.add(button19, BorderLayout.CENTER);
} }
scrollPane13.setViewportView(panel1); scrollPane13.setViewportView(panel1);
} }

View File

@@ -1,4 +1,4 @@
JFDML JFormDesigner: "7.0.0.0.194" Java: "13.0.1" encoding: "UTF-8" JFDML JFormDesigner: "7.0.1.0.272" Java: "13.0.1" encoding: "UTF-8"
new FormModel { new FormModel {
contentType: "form/swing" contentType: "form/swing"
@@ -373,7 +373,6 @@ new FormModel {
} ) } )
add( new FormComponent( "javax.swing.JComboBox" ) { add( new FormComponent( "javax.swing.JComboBox" ) {
name: "comboBox5" name: "comboBox5"
"prototypeDisplayValue": "12345"
"model": new javax.swing.DefaultComboBoxModel { "model": new javax.swing.DefaultComboBoxModel {
selectedItem: "wide popup if text is longer" selectedItem: "wide popup if text is longer"
addElement( "wide popup if text is longer" ) addElement( "wide popup if text is longer" )
@@ -382,7 +381,7 @@ new FormModel {
addElement( "cccc" ) addElement( "cccc" )
} }
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 5 5,growx" "value": "cell 5 5,growx,wmax 100"
} ) } )
add( new FormComponent( "javax.swing.JLabel" ) { add( new FormComponent( "javax.swing.JLabel" ) {
name: "spinnerLabel" name: "spinnerLabel"
@@ -728,7 +727,15 @@ new FormModel {
"verticalScrollBarPolicy": 22 "verticalScrollBarPolicy": 22
add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class java.awt.BorderLayout ) ) { add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class java.awt.BorderLayout ) ) {
name: "panel1" name: "panel1"
"preferredSize": new java.awt.Dimension( 200, 200 ) "preferredSize": new java.awt.Dimension( 800, 400 )
add( new FormComponent( "javax.swing.JButton" ) {
name: "button19"
"text": "I'm a large button"
"verticalAlignment": 1
"horizontalAlignment": 2
}, new FormLayoutConstraints( class java.lang.String ) {
"value": "Center"
} )
} ) } )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 13,grow,width 70,height 70" "value": "cell 1 13,grow,width 70,height 70"

View File

@@ -81,7 +81,11 @@ public class FlatContainerTest
JSplitPane splitPane3 = new JSplitPane(); JSplitPane splitPane3 = new JSplitPane();
JSplitPane splitPane1 = new JSplitPane(); JSplitPane splitPane1 = new JSplitPane();
JPanel panel10 = new JPanel(); JPanel panel10 = new JPanel();
JTextField textField2 = new JTextField();
JButton button1 = new JButton();
JPanel panel11 = new JPanel(); JPanel panel11 = new JPanel();
JTextField textField3 = new JTextField();
JButton button2 = new JButton();
JSplitPane splitPane2 = new JSplitPane(); JSplitPane splitPane2 = new JSplitPane();
JPanel panel12 = new JPanel(); JPanel panel12 = new JPanel();
JPanel panel13 = new JPanel(); JPanel panel13 = new JPanel();
@@ -89,7 +93,11 @@ public class FlatContainerTest
tabbedPane1 = new JTabbedPane(); tabbedPane1 = new JTabbedPane();
JPanel panel1 = new JPanel(); JPanel panel1 = new JPanel();
JLabel label1 = new JLabel(); JLabel label1 = new JLabel();
JTextField textField4 = new JTextField();
JButton button3 = new JButton();
JPanel panel2 = new JPanel(); JPanel panel2 = new JPanel();
JTextField textField5 = new JTextField();
JButton button4 = new JButton();
JLabel label2 = new JLabel(); JLabel label2 = new JLabel();
tabbedPane3 = new JTabbedPane(); tabbedPane3 = new JTabbedPane();
JPanel panel5 = new JPanel(); JPanel panel5 = new JPanel();
@@ -145,6 +153,14 @@ public class FlatContainerTest
{ {
panel10.setBackground(Color.orange); panel10.setBackground(Color.orange);
panel10.setLayout(new FlowLayout()); panel10.setLayout(new FlowLayout());
//---- textField2 ----
textField2.setText("some text");
panel10.add(textField2);
//---- button1 ----
button1.setText("...");
panel10.add(button1);
} }
splitPane1.setLeftComponent(panel10); splitPane1.setLeftComponent(panel10);
@@ -152,6 +168,14 @@ public class FlatContainerTest
{ {
panel11.setBackground(Color.magenta); panel11.setBackground(Color.magenta);
panel11.setLayout(new FlowLayout()); panel11.setLayout(new FlowLayout());
//---- textField3 ----
textField3.setText("some text");
panel11.add(textField3);
//---- button2 ----
button2.setText("...");
panel11.add(button2);
} }
splitPane1.setRightComponent(panel11); splitPane1.setRightComponent(panel11);
} }
@@ -195,6 +219,14 @@ public class FlatContainerTest
//---- label1 ---- //---- label1 ----
label1.setText("TOP"); label1.setText("TOP");
panel1.add(label1); panel1.add(label1);
//---- textField4 ----
textField4.setText("some text");
panel1.add(textField4);
//---- button3 ----
button3.setText("...");
panel1.add(button3);
} }
tabbedPane1.addTab("Tab 1", panel1); tabbedPane1.addTab("Tab 1", panel1);
@@ -202,6 +234,14 @@ public class FlatContainerTest
{ {
panel2.setBorder(new LineBorder(Color.magenta)); panel2.setBorder(new LineBorder(Color.magenta));
panel2.setLayout(new FlowLayout()); panel2.setLayout(new FlowLayout());
//---- textField5 ----
textField5.setText("some text");
panel2.add(textField5);
//---- button4 ----
button4.setText("...");
panel2.add(button4);
} }
tabbedPane1.addTab("Tab 2", panel2); tabbedPane1.addTab("Tab 2", panel2);

View File

@@ -1,4 +1,4 @@
JFDML JFormDesigner: "7.0.0.0.194" Java: "11.0.2" encoding: "UTF-8" JFDML JFormDesigner: "7.0.1.0.272" Java: "13.0.1" encoding: "UTF-8"
new FormModel { new FormModel {
contentType: "form/swing" contentType: "form/swing"
@@ -32,12 +32,28 @@ new FormModel {
add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class java.awt.FlowLayout ) ) { add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class java.awt.FlowLayout ) ) {
name: "panel10" name: "panel10"
"background": sfield java.awt.Color orange "background": sfield java.awt.Color orange
add( new FormComponent( "javax.swing.JTextField" ) {
name: "textField2"
"text": "some text"
} )
add( new FormComponent( "javax.swing.JButton" ) {
name: "button1"
"text": "..."
} )
}, new FormLayoutConstraints( class java.lang.String ) { }, new FormLayoutConstraints( class java.lang.String ) {
"value": "left" "value": "left"
} ) } )
add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class java.awt.FlowLayout ) ) { add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class java.awt.FlowLayout ) ) {
name: "panel11" name: "panel11"
"background": sfield java.awt.Color magenta "background": sfield java.awt.Color magenta
add( new FormComponent( "javax.swing.JTextField" ) {
name: "textField3"
"text": "some text"
} )
add( new FormComponent( "javax.swing.JButton" ) {
name: "button2"
"text": "..."
} )
}, new FormLayoutConstraints( class java.lang.String ) { }, new FormLayoutConstraints( class java.lang.String ) {
"value": "right" "value": "right"
} ) } )
@@ -86,12 +102,28 @@ new FormModel {
name: "label1" name: "label1"
"text": "TOP" "text": "TOP"
} ) } )
add( new FormComponent( "javax.swing.JTextField" ) {
name: "textField4"
"text": "some text"
} )
add( new FormComponent( "javax.swing.JButton" ) {
name: "button3"
"text": "..."
} )
}, new FormLayoutConstraints( null ) { }, new FormLayoutConstraints( null ) {
"title": "Tab 1" "title": "Tab 1"
} ) } )
add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class java.awt.FlowLayout ) ) { add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class java.awt.FlowLayout ) ) {
name: "panel2" name: "panel2"
"border": &LineBorder0 new javax.swing.border.LineBorder( sfield java.awt.Color magenta, 1, false ) "border": &LineBorder0 new javax.swing.border.LineBorder( sfield java.awt.Color magenta, 1, false )
add( new FormComponent( "javax.swing.JTextField" ) {
name: "textField5"
"text": "some text"
} )
add( new FormComponent( "javax.swing.JButton" ) {
name: "button4"
"text": "..."
} )
}, new FormLayoutConstraints( null ) { }, new FormLayoutConstraints( null ) {
"title": "Tab 2" "title": "Tab 2"
} ) } )

View File

@@ -27,6 +27,7 @@ import java.awt.Graphics;
import java.awt.Graphics2D; import java.awt.Graphics2D;
import java.awt.Insets; import java.awt.Insets;
import java.awt.KeyboardFocusManager; import java.awt.KeyboardFocusManager;
import java.awt.LayoutManager;
import java.awt.Point; import java.awt.Point;
import java.awt.Rectangle; import java.awt.Rectangle;
import java.awt.Toolkit; import java.awt.Toolkit;
@@ -294,6 +295,12 @@ public class FlatInspector
} }
} }
if( c instanceof Container ) {
LayoutManager layout = ((Container)c).getLayout();
if( layout != null )
text += "Layout: " + layout.getClass().getName() + '\n';
}
text += "Enabled: " + c.isEnabled() + '\n'; text += "Enabled: " + c.isEnabled() + '\n';
text += "Opaque: " + c.isOpaque() + (c instanceof JComponent && text += "Opaque: " + c.isOpaque() + (c instanceof JComponent &&
FlatUIUtils.hasOpaqueBeenExplicitlySet( (JComponent) c ) ? " EXPLICIT" : "") + '\n'; FlatUIUtils.hasOpaqueBeenExplicitlySet( (JComponent) c ) ? " EXPLICIT" : "") + '\n';
@@ -311,7 +318,8 @@ public class FlatInspector
if( insets == null ) if( insets == null )
return "null"; return "null";
return insets.top + "," + insets.left + ',' + insets.bottom + ',' + insets.right; return insets.top + "," + insets.left + ',' + insets.bottom + ',' + insets.right
+ (insets instanceof UIResource ? " UI" : "");
} }
private static String toString( Color c ) { private static String toString( Color c ) {

View File

@@ -21,13 +21,14 @@ import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent; import java.awt.event.MouseEvent;
import javax.swing.*; import javax.swing.*;
import javax.swing.border.*; import javax.swing.border.*;
import com.formdev.flatlaf.demo.ScrollablePanel;
import net.miginfocom.swing.*; import net.miginfocom.swing.*;
/** /**
* @author Karl Tauber * @author Karl Tauber
*/ */
public class FlatOptionPaneTest public class FlatOptionPaneTest
extends FlatTestPanel extends JScrollPane
{ {
public static void main( String[] args ) { public static void main( String[] args ) {
SwingUtilities.invokeLater( () -> { SwingUtilities.invokeLater( () -> {
@@ -55,6 +56,7 @@ public class FlatOptionPaneTest
private void initComponents() { private void initComponents() {
// JFormDesigner - Component initialization - DO NOT MODIFY //GEN-BEGIN:initComponents // JFormDesigner - Component initialization - DO NOT MODIFY //GEN-BEGIN:initComponents
ScrollablePanel panel9 = new ScrollablePanel();
JLabel plainLabel = new JLabel(); JLabel plainLabel = new JLabel();
JPanel panel1 = new JPanel(); JPanel panel1 = new JPanel();
JOptionPane plainOptionPane = new JOptionPane(); JOptionPane plainOptionPane = new JOptionPane();
@@ -89,194 +91,200 @@ public class FlatOptionPaneTest
FlatOptionPaneTest.ShowDialogLinkLabel customShowDialogLabel = new FlatOptionPaneTest.ShowDialogLinkLabel(); FlatOptionPaneTest.ShowDialogLinkLabel customShowDialogLabel = new FlatOptionPaneTest.ShowDialogLinkLabel();
//======== this ======== //======== this ========
setLayout(new MigLayout( setBorder(BorderFactory.createEmptyBorder());
"flowy,ltr,insets dialog,hidemode 3",
// columns
"[]" +
"[]" +
"[fill]",
// rows
"[top]" +
"[top]" +
"[top]" +
"[top]" +
"[top]" +
"[top]" +
"[top]" +
"[top]"));
//---- plainLabel ---- //======== panel9 ========
plainLabel.setText("Plain");
add(plainLabel, "cell 0 0");
//======== panel1 ========
{ {
panel1.setBorder(LineBorder.createGrayLineBorder()); panel9.setLayout(new MigLayout(
panel1.setLayout(new BorderLayout()); "flowy,ltr,insets dialog,hidemode 3",
// columns
"[]" +
"[]" +
"[fill]",
// rows
"[top]" +
"[top]" +
"[top]" +
"[top]" +
"[top]" +
"[top]" +
"[top]" +
"[top]"));
//---- plainOptionPane ---- //---- plainLabel ----
plainOptionPane.setMessage("Hello world."); plainLabel.setText("Plain");
panel1.add(plainOptionPane, BorderLayout.CENTER); panel9.add(plainLabel, "cell 0 0");
//======== panel1 ========
{
panel1.setBorder(LineBorder.createGrayLineBorder());
panel1.setLayout(new BorderLayout());
//---- plainOptionPane ----
plainOptionPane.setMessage("Hello world.");
panel1.add(plainOptionPane, BorderLayout.CENTER);
}
panel9.add(panel1, "cell 1 0");
//---- plainShowDialogLabel ----
plainShowDialogLabel.setOptionPane(plainOptionPane);
plainShowDialogLabel.setTitleLabel(plainLabel);
panel9.add(plainShowDialogLabel, "cell 2 0");
//---- errorLabel ----
errorLabel.setText("Error");
panel9.add(errorLabel, "cell 0 1");
//======== panel2 ========
{
panel2.setBorder(LineBorder.createGrayLineBorder());
panel2.setLayout(new BorderLayout());
//---- errorOptionPane ----
errorOptionPane.setMessageType(JOptionPane.ERROR_MESSAGE);
errorOptionPane.setOptionType(JOptionPane.OK_CANCEL_OPTION);
errorOptionPane.setMessage("Your PC ran into a problem. Buy a new one.");
panel2.add(errorOptionPane, BorderLayout.CENTER);
}
panel9.add(panel2, "cell 1 1");
//---- errorShowDialogLabel ----
errorShowDialogLabel.setTitleLabel(errorLabel);
errorShowDialogLabel.setOptionPane(errorOptionPane);
panel9.add(errorShowDialogLabel, "cell 2 1");
//---- informationLabel ----
informationLabel.setText("Information");
panel9.add(informationLabel, "cell 0 2");
//======== panel3 ========
{
panel3.setBorder(LineBorder.createGrayLineBorder());
panel3.setLayout(new BorderLayout());
//---- informationOptionPane ----
informationOptionPane.setMessageType(JOptionPane.INFORMATION_MESSAGE);
informationOptionPane.setOptionType(JOptionPane.YES_NO_OPTION);
informationOptionPane.setMessage("Text with\nmultiple lines\n(use \\n to separate lines)");
panel3.add(informationOptionPane, BorderLayout.CENTER);
}
panel9.add(panel3, "cell 1 2");
//---- informationShowDialogLabel ----
informationShowDialogLabel.setOptionPane(informationOptionPane);
informationShowDialogLabel.setTitleLabel(informationLabel);
panel9.add(informationShowDialogLabel, "cell 2 2");
//---- questionLabel ----
questionLabel.setText("Question");
panel9.add(questionLabel, "cell 0 3");
//======== panel4 ========
{
panel4.setBorder(LineBorder.createGrayLineBorder());
panel4.setLayout(new BorderLayout());
//---- questionOptionPane ----
questionOptionPane.setMessageType(JOptionPane.QUESTION_MESSAGE);
questionOptionPane.setOptionType(JOptionPane.YES_NO_CANCEL_OPTION);
questionOptionPane.setMessage("Answer the question. What question? Don't know. Just writing useless text to make this longer than 80 characters.");
panel4.add(questionOptionPane, BorderLayout.CENTER);
}
panel9.add(panel4, "cell 1 3");
//---- questionShowDialogLabel ----
questionShowDialogLabel.setOptionPane(questionOptionPane);
questionShowDialogLabel.setTitleLabel(questionLabel);
panel9.add(questionShowDialogLabel, "cell 2 3");
//---- warningLabel ----
warningLabel.setText("Warning");
panel9.add(warningLabel, "cell 0 4");
//======== panel5 ========
{
panel5.setBorder(LineBorder.createGrayLineBorder());
panel5.setLayout(new BorderLayout());
//---- warningOptionPane ----
warningOptionPane.setMessageType(JOptionPane.WARNING_MESSAGE);
warningOptionPane.setOptionType(JOptionPane.OK_CANCEL_OPTION);
warningOptionPane.setMessage("<html>I like <b>bold</b>,<br> and I like <i>italic</i>,<br> and I like to have<br> many lines.<br> Lots of lines.");
panel5.add(warningOptionPane, BorderLayout.CENTER);
}
panel9.add(panel5, "cell 1 4");
//---- warningShowDialogLabel ----
warningShowDialogLabel.setOptionPane(warningOptionPane);
warningShowDialogLabel.setTitleLabel(warningLabel);
panel9.add(warningShowDialogLabel, "cell 2 4");
//---- inputLabel ----
inputLabel.setText("Input");
panel9.add(inputLabel, "cell 0 5");
//======== panel7 ========
{
panel7.setBorder(LineBorder.createGrayLineBorder());
panel7.setLayout(new BorderLayout());
//---- inputOptionPane ----
inputOptionPane.setWantsInput(true);
inputOptionPane.setOptionType(JOptionPane.OK_CANCEL_OPTION);
inputOptionPane.setMessage("Enter whatever you want:");
panel7.add(inputOptionPane, BorderLayout.CENTER);
}
panel9.add(panel7, "cell 1 5");
//---- inputShowDialogLabel ----
inputShowDialogLabel.setOptionPane(inputOptionPane);
inputShowDialogLabel.setTitleLabel(inputLabel);
panel9.add(inputShowDialogLabel, "cell 2 5");
//---- inputIconLabel ----
inputIconLabel.setText("Input + icon");
panel9.add(inputIconLabel, "cell 0 6");
//======== panel8 ========
{
panel8.setBorder(LineBorder.createGrayLineBorder());
panel8.setLayout(new BorderLayout());
//---- inputIconOptionPane ----
inputIconOptionPane.setMessageType(JOptionPane.INFORMATION_MESSAGE);
inputIconOptionPane.setWantsInput(true);
inputIconOptionPane.setOptionType(JOptionPane.OK_CANCEL_OPTION);
inputIconOptionPane.setMessage("Enter something:");
panel8.add(inputIconOptionPane, BorderLayout.CENTER);
}
panel9.add(panel8, "cell 1 6");
//---- inputIconShowDialogLabel ----
inputIconShowDialogLabel.setTitleLabel(inputIconLabel);
inputIconShowDialogLabel.setOptionPane(inputIconOptionPane);
panel9.add(inputIconShowDialogLabel, "cell 2 6");
//---- customLabel ----
customLabel.setText("Custom");
panel9.add(customLabel, "cell 0 7");
//======== panel6 ========
{
panel6.setBorder(LineBorder.createGrayLineBorder());
panel6.setLayout(new BorderLayout());
//---- customOptionPane ----
customOptionPane.setIcon(UIManager.getIcon("Tree.leafIcon"));
panel6.add(customOptionPane, BorderLayout.CENTER);
}
panel9.add(panel6, "cell 1 7");
//---- customShowDialogLabel ----
customShowDialogLabel.setOptionPane(customOptionPane);
customShowDialogLabel.setTitleLabel(customLabel);
panel9.add(customShowDialogLabel, "cell 2 7");
} }
add(panel1, "cell 1 0"); setViewportView(panel9);
//---- plainShowDialogLabel ----
plainShowDialogLabel.setOptionPane(plainOptionPane);
plainShowDialogLabel.setTitleLabel(plainLabel);
add(plainShowDialogLabel, "cell 2 0");
//---- errorLabel ----
errorLabel.setText("Error");
add(errorLabel, "cell 0 1");
//======== panel2 ========
{
panel2.setBorder(LineBorder.createGrayLineBorder());
panel2.setLayout(new BorderLayout());
//---- errorOptionPane ----
errorOptionPane.setMessageType(JOptionPane.ERROR_MESSAGE);
errorOptionPane.setOptionType(JOptionPane.OK_CANCEL_OPTION);
errorOptionPane.setMessage("Your PC ran into a problem. Buy a new one.");
panel2.add(errorOptionPane, BorderLayout.CENTER);
}
add(panel2, "cell 1 1");
//---- errorShowDialogLabel ----
errorShowDialogLabel.setTitleLabel(errorLabel);
errorShowDialogLabel.setOptionPane(errorOptionPane);
add(errorShowDialogLabel, "cell 2 1");
//---- informationLabel ----
informationLabel.setText("Information");
add(informationLabel, "cell 0 2");
//======== panel3 ========
{
panel3.setBorder(LineBorder.createGrayLineBorder());
panel3.setLayout(new BorderLayout());
//---- informationOptionPane ----
informationOptionPane.setMessageType(JOptionPane.INFORMATION_MESSAGE);
informationOptionPane.setOptionType(JOptionPane.YES_NO_OPTION);
informationOptionPane.setMessage("Text with\nmultiple lines\n(use \\n to separate lines)");
panel3.add(informationOptionPane, BorderLayout.CENTER);
}
add(panel3, "cell 1 2");
//---- informationShowDialogLabel ----
informationShowDialogLabel.setOptionPane(informationOptionPane);
informationShowDialogLabel.setTitleLabel(informationLabel);
add(informationShowDialogLabel, "cell 2 2");
//---- questionLabel ----
questionLabel.setText("Question");
add(questionLabel, "cell 0 3");
//======== panel4 ========
{
panel4.setBorder(LineBorder.createGrayLineBorder());
panel4.setLayout(new BorderLayout());
//---- questionOptionPane ----
questionOptionPane.setMessageType(JOptionPane.QUESTION_MESSAGE);
questionOptionPane.setOptionType(JOptionPane.YES_NO_CANCEL_OPTION);
questionOptionPane.setMessage("Answer the question. What question? Don't know. Just writing useless text to make this longer than 80 characters.");
panel4.add(questionOptionPane, BorderLayout.CENTER);
}
add(panel4, "cell 1 3");
//---- questionShowDialogLabel ----
questionShowDialogLabel.setOptionPane(questionOptionPane);
questionShowDialogLabel.setTitleLabel(questionLabel);
add(questionShowDialogLabel, "cell 2 3");
//---- warningLabel ----
warningLabel.setText("Warning");
add(warningLabel, "cell 0 4");
//======== panel5 ========
{
panel5.setBorder(LineBorder.createGrayLineBorder());
panel5.setLayout(new BorderLayout());
//---- warningOptionPane ----
warningOptionPane.setMessageType(JOptionPane.WARNING_MESSAGE);
warningOptionPane.setOptionType(JOptionPane.OK_CANCEL_OPTION);
warningOptionPane.setMessage("<html>I like <b>bold</b>,<br> and I like <i>italic</i>,<br> and I like to have<br> many lines.<br> Lots of lines.");
panel5.add(warningOptionPane, BorderLayout.CENTER);
}
add(panel5, "cell 1 4");
//---- warningShowDialogLabel ----
warningShowDialogLabel.setOptionPane(warningOptionPane);
warningShowDialogLabel.setTitleLabel(warningLabel);
add(warningShowDialogLabel, "cell 2 4");
//---- inputLabel ----
inputLabel.setText("Input");
add(inputLabel, "cell 0 5");
//======== panel7 ========
{
panel7.setBorder(LineBorder.createGrayLineBorder());
panel7.setLayout(new BorderLayout());
//---- inputOptionPane ----
inputOptionPane.setWantsInput(true);
inputOptionPane.setOptionType(JOptionPane.OK_CANCEL_OPTION);
inputOptionPane.setMessage("Enter whatever you want:");
panel7.add(inputOptionPane, BorderLayout.CENTER);
}
add(panel7, "cell 1 5");
//---- inputShowDialogLabel ----
inputShowDialogLabel.setOptionPane(inputOptionPane);
inputShowDialogLabel.setTitleLabel(inputLabel);
add(inputShowDialogLabel, "cell 2 5");
//---- inputIconLabel ----
inputIconLabel.setText("Input + icon");
add(inputIconLabel, "cell 0 6");
//======== panel8 ========
{
panel8.setBorder(LineBorder.createGrayLineBorder());
panel8.setLayout(new BorderLayout());
//---- inputIconOptionPane ----
inputIconOptionPane.setMessageType(JOptionPane.INFORMATION_MESSAGE);
inputIconOptionPane.setWantsInput(true);
inputIconOptionPane.setOptionType(JOptionPane.OK_CANCEL_OPTION);
inputIconOptionPane.setMessage("Enter something:");
panel8.add(inputIconOptionPane, BorderLayout.CENTER);
}
add(panel8, "cell 1 6");
//---- inputIconShowDialogLabel ----
inputIconShowDialogLabel.setTitleLabel(inputIconLabel);
inputIconShowDialogLabel.setOptionPane(inputIconOptionPane);
add(inputIconShowDialogLabel, "cell 2 6");
//---- customLabel ----
customLabel.setText("Custom");
add(customLabel, "cell 0 7");
//======== panel6 ========
{
panel6.setBorder(LineBorder.createGrayLineBorder());
panel6.setLayout(new BorderLayout());
//---- customOptionPane ----
customOptionPane.setIcon(UIManager.getIcon("Tree.leafIcon"));
panel6.add(customOptionPane, BorderLayout.CENTER);
}
add(panel6, "cell 1 7");
//---- customShowDialogLabel ----
customShowDialogLabel.setOptionPane(customOptionPane);
customShowDialogLabel.setTitleLabel(customLabel);
add(customShowDialogLabel, "cell 2 7");
// JFormDesigner - End of component initialization //GEN-END:initComponents // JFormDesigner - End of component initialization //GEN-END:initComponents
} }

View File

@@ -1,4 +1,4 @@
JFDML JFormDesigner: "7.0.0.0.194" Java: "11.0.2" encoding: "UTF-8" JFDML JFormDesigner: "7.0.1.0.272" Java: "13.0.2" encoding: "UTF-8"
new FormModel { new FormModel {
contentType: "form/swing" contentType: "form/swing"
@@ -6,240 +6,244 @@ new FormModel {
auxiliary() { auxiliary() {
"JavaCodeGenerator.defaultVariableLocal": true "JavaCodeGenerator.defaultVariableLocal": true
} }
add( new FormContainer( "com.formdev.flatlaf.testing.FlatTestPanel", new FormLayoutManager( class net.miginfocom.swing.MigLayout ) { add( new FormContainer( "javax.swing.JScrollPane", new FormLayoutManager( class javax.swing.JScrollPane ) ) {
"$layoutConstraints": "flowy,ltr,insets dialog,hidemode 3"
"$columnConstraints": "[][][fill]"
"$rowConstraints": "[top][top][top][top][top][top][top][top]"
} ) {
name: "this" name: "this"
add( new FormComponent( "javax.swing.JLabel" ) { "border": new javax.swing.border.EmptyBorder( 0, 0, 0, 0 )
name: "plainLabel" add( new FormContainer( "com.formdev.flatlaf.demo.ScrollablePanel", new FormLayoutManager( class net.miginfocom.swing.MigLayout ) {
"text": "Plain" "$layoutConstraints": "flowy,ltr,insets dialog,hidemode 3"
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "$columnConstraints": "[][][fill]"
"value": "cell 0 0" "$rowConstraints": "[top][top][top][top][top][top][top][top]"
} ) } ) {
add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class java.awt.BorderLayout ) ) { name: "panel9"
name: "panel1" add( new FormComponent( "javax.swing.JLabel" ) {
"border": &LineBorder0 new javax.swing.border.LineBorder( sfield java.awt.Color gray, 1, false ) name: "plainLabel"
add( new FormComponent( "javax.swing.JOptionPane" ) { "text": "Plain"
name: "plainOptionPane" }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"message": "Hello world." "value": "cell 0 0"
}, new FormLayoutConstraints( class java.lang.String ) {
"value": "Center"
} ) } )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class java.awt.BorderLayout ) ) {
"value": "cell 1 0" name: "panel1"
} ) "border": &LineBorder0 new javax.swing.border.LineBorder( sfield java.awt.Color gray, 1, false )
add( new FormComponent( "com.formdev.flatlaf.testing.FlatOptionPaneTest$ShowDialogLinkLabel" ) { add( new FormComponent( "javax.swing.JOptionPane" ) {
name: "plainShowDialogLabel" name: "plainOptionPane"
"optionPane": new FormReference( "plainOptionPane" ) "message": "Hello world."
"titleLabel": new FormReference( "plainLabel" ) }, new FormLayoutConstraints( class java.lang.String ) {
auxiliary() { "value": "Center"
"JavaCodeGenerator.variableLocal": false } )
} }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 1 0"
"value": "cell 2 0"
} )
add( new FormComponent( "javax.swing.JLabel" ) {
name: "errorLabel"
"text": "Error"
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 0 1"
} )
add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class java.awt.BorderLayout ) ) {
name: "panel2"
"border": #LineBorder0
add( new FormComponent( "javax.swing.JOptionPane" ) {
name: "errorOptionPane"
"messageType": 0
"optionType": 2
"message": "Your PC ran into a problem. Buy a new one."
}, new FormLayoutConstraints( class java.lang.String ) {
"value": "Center"
} ) } )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { add( new FormComponent( "com.formdev.flatlaf.testing.FlatOptionPaneTest$ShowDialogLinkLabel" ) {
"value": "cell 1 1" name: "plainShowDialogLabel"
} ) "optionPane": new FormReference( "plainOptionPane" )
add( new FormComponent( "com.formdev.flatlaf.testing.FlatOptionPaneTest$ShowDialogLinkLabel" ) { "titleLabel": new FormReference( "plainLabel" )
name: "errorShowDialogLabel"
"titleLabel": new FormReference( "errorLabel" )
"optionPane": new FormReference( "errorOptionPane" )
auxiliary() {
"JavaCodeGenerator.variableLocal": false
}
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 2 1"
} )
add( new FormComponent( "javax.swing.JLabel" ) {
name: "informationLabel"
"text": "Information"
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 0 2"
} )
add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class java.awt.BorderLayout ) ) {
name: "panel3"
"border": #LineBorder0
add( new FormComponent( "javax.swing.JOptionPane" ) {
name: "informationOptionPane"
"messageType": 1
"optionType": 0
"message": "Text with\nmultiple lines\n(use \\n to separate lines)"
}, new FormLayoutConstraints( class java.lang.String ) {
"value": "Center"
} )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 2"
} )
add( new FormComponent( "com.formdev.flatlaf.testing.FlatOptionPaneTest$ShowDialogLinkLabel" ) {
name: "informationShowDialogLabel"
"optionPane": new FormReference( "informationOptionPane" )
"titleLabel": new FormReference( "informationLabel" )
auxiliary() {
"JavaCodeGenerator.variableLocal": false
}
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 2 2"
} )
add( new FormComponent( "javax.swing.JLabel" ) {
name: "questionLabel"
"text": "Question"
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 0 3"
} )
add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class java.awt.BorderLayout ) ) {
name: "panel4"
"border": #LineBorder0
add( new FormComponent( "javax.swing.JOptionPane" ) {
name: "questionOptionPane"
"messageType": 3
"optionType": 1
"message": "Answer the question. What question? Don't know. Just writing useless text to make this longer than 80 characters."
}, new FormLayoutConstraints( class java.lang.String ) {
"value": "Center"
} )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 3"
} )
add( new FormComponent( "com.formdev.flatlaf.testing.FlatOptionPaneTest$ShowDialogLinkLabel" ) {
name: "questionShowDialogLabel"
"optionPane": new FormReference( "questionOptionPane" )
"titleLabel": new FormReference( "questionLabel" )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 2 3"
} )
add( new FormComponent( "javax.swing.JLabel" ) {
name: "warningLabel"
"text": "Warning"
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 0 4"
} )
add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class java.awt.BorderLayout ) ) {
name: "panel5"
"border": #LineBorder0
add( new FormComponent( "javax.swing.JOptionPane" ) {
name: "warningOptionPane"
"messageType": 2
"optionType": 2
"message": "<html>I like <b>bold</b>,<br> and I like <i>italic</i>,<br> and I like to have<br> many lines.<br> Lots of lines."
}, new FormLayoutConstraints( class java.lang.String ) {
"value": "Center"
} )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 4"
} )
add( new FormComponent( "com.formdev.flatlaf.testing.FlatOptionPaneTest$ShowDialogLinkLabel" ) {
name: "warningShowDialogLabel"
"optionPane": new FormReference( "warningOptionPane" )
"titleLabel": new FormReference( "warningLabel" )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 2 4"
} )
add( new FormComponent( "javax.swing.JLabel" ) {
name: "inputLabel"
"text": "Input"
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 0 5"
} )
add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class java.awt.BorderLayout ) ) {
name: "panel7"
"border": #LineBorder0
add( new FormComponent( "javax.swing.JOptionPane" ) {
name: "inputOptionPane"
"wantsInput": true
"optionType": 2
"message": "Enter whatever you want:"
}, new FormLayoutConstraints( class java.lang.String ) {
"value": "Center"
} )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 5"
} )
add( new FormComponent( "com.formdev.flatlaf.testing.FlatOptionPaneTest$ShowDialogLinkLabel" ) {
name: "inputShowDialogLabel"
"optionPane": new FormReference( "inputOptionPane" )
"titleLabel": new FormReference( "inputLabel" )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 2 5"
} )
add( new FormComponent( "javax.swing.JLabel" ) {
name: "inputIconLabel"
"text": "Input + icon"
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 0 6"
} )
add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class java.awt.BorderLayout ) ) {
name: "panel8"
"border": #LineBorder0
add( new FormComponent( "javax.swing.JOptionPane" ) {
name: "inputIconOptionPane"
"messageType": 1
"wantsInput": true
"optionType": 2
"message": "Enter something:"
}, new FormLayoutConstraints( class java.lang.String ) {
"value": "Center"
} )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 6"
} )
add( new FormComponent( "com.formdev.flatlaf.testing.FlatOptionPaneTest$ShowDialogLinkLabel" ) {
name: "inputIconShowDialogLabel"
"titleLabel": new FormReference( "inputIconLabel" )
"optionPane": new FormReference( "inputIconOptionPane" )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 2 6"
} )
add( new FormComponent( "javax.swing.JLabel" ) {
name: "customLabel"
"text": "Custom"
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 0 7"
} )
add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class java.awt.BorderLayout ) ) {
name: "panel6"
"border": #LineBorder0
add( new FormComponent( "javax.swing.JOptionPane" ) {
name: "customOptionPane"
"icon": new com.jformdesigner.model.SwingIcon( 2, "Tree.leafIcon" )
auxiliary() { auxiliary() {
"JavaCodeGenerator.variableLocal": false "JavaCodeGenerator.variableLocal": false
} }
}, new FormLayoutConstraints( class java.lang.String ) { }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "Center" "value": "cell 2 0"
} )
add( new FormComponent( "javax.swing.JLabel" ) {
name: "errorLabel"
"text": "Error"
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 0 1"
} )
add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class java.awt.BorderLayout ) ) {
name: "panel2"
"border": #LineBorder0
add( new FormComponent( "javax.swing.JOptionPane" ) {
name: "errorOptionPane"
"messageType": 0
"optionType": 2
"message": "Your PC ran into a problem. Buy a new one."
}, new FormLayoutConstraints( class java.lang.String ) {
"value": "Center"
} )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 1"
} )
add( new FormComponent( "com.formdev.flatlaf.testing.FlatOptionPaneTest$ShowDialogLinkLabel" ) {
name: "errorShowDialogLabel"
"titleLabel": new FormReference( "errorLabel" )
"optionPane": new FormReference( "errorOptionPane" )
auxiliary() {
"JavaCodeGenerator.variableLocal": false
}
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 2 1"
} )
add( new FormComponent( "javax.swing.JLabel" ) {
name: "informationLabel"
"text": "Information"
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 0 2"
} )
add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class java.awt.BorderLayout ) ) {
name: "panel3"
"border": #LineBorder0
add( new FormComponent( "javax.swing.JOptionPane" ) {
name: "informationOptionPane"
"messageType": 1
"optionType": 0
"message": "Text with\nmultiple lines\n(use \\n to separate lines)"
}, new FormLayoutConstraints( class java.lang.String ) {
"value": "Center"
} )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 2"
} )
add( new FormComponent( "com.formdev.flatlaf.testing.FlatOptionPaneTest$ShowDialogLinkLabel" ) {
name: "informationShowDialogLabel"
"optionPane": new FormReference( "informationOptionPane" )
"titleLabel": new FormReference( "informationLabel" )
auxiliary() {
"JavaCodeGenerator.variableLocal": false
}
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 2 2"
} )
add( new FormComponent( "javax.swing.JLabel" ) {
name: "questionLabel"
"text": "Question"
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 0 3"
} )
add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class java.awt.BorderLayout ) ) {
name: "panel4"
"border": #LineBorder0
add( new FormComponent( "javax.swing.JOptionPane" ) {
name: "questionOptionPane"
"messageType": 3
"optionType": 1
"message": "Answer the question. What question? Don't know. Just writing useless text to make this longer than 80 characters."
}, new FormLayoutConstraints( class java.lang.String ) {
"value": "Center"
} )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 3"
} )
add( new FormComponent( "com.formdev.flatlaf.testing.FlatOptionPaneTest$ShowDialogLinkLabel" ) {
name: "questionShowDialogLabel"
"optionPane": new FormReference( "questionOptionPane" )
"titleLabel": new FormReference( "questionLabel" )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 2 3"
} )
add( new FormComponent( "javax.swing.JLabel" ) {
name: "warningLabel"
"text": "Warning"
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 0 4"
} )
add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class java.awt.BorderLayout ) ) {
name: "panel5"
"border": #LineBorder0
add( new FormComponent( "javax.swing.JOptionPane" ) {
name: "warningOptionPane"
"messageType": 2
"optionType": 2
"message": "<html>I like <b>bold</b>,<br> and I like <i>italic</i>,<br> and I like to have<br> many lines.<br> Lots of lines."
}, new FormLayoutConstraints( class java.lang.String ) {
"value": "Center"
} )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 4"
} )
add( new FormComponent( "com.formdev.flatlaf.testing.FlatOptionPaneTest$ShowDialogLinkLabel" ) {
name: "warningShowDialogLabel"
"optionPane": new FormReference( "warningOptionPane" )
"titleLabel": new FormReference( "warningLabel" )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 2 4"
} )
add( new FormComponent( "javax.swing.JLabel" ) {
name: "inputLabel"
"text": "Input"
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 0 5"
} )
add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class java.awt.BorderLayout ) ) {
name: "panel7"
"border": #LineBorder0
add( new FormComponent( "javax.swing.JOptionPane" ) {
name: "inputOptionPane"
"wantsInput": true
"optionType": 2
"message": "Enter whatever you want:"
}, new FormLayoutConstraints( class java.lang.String ) {
"value": "Center"
} )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 5"
} )
add( new FormComponent( "com.formdev.flatlaf.testing.FlatOptionPaneTest$ShowDialogLinkLabel" ) {
name: "inputShowDialogLabel"
"optionPane": new FormReference( "inputOptionPane" )
"titleLabel": new FormReference( "inputLabel" )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 2 5"
} )
add( new FormComponent( "javax.swing.JLabel" ) {
name: "inputIconLabel"
"text": "Input + icon"
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 0 6"
} )
add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class java.awt.BorderLayout ) ) {
name: "panel8"
"border": #LineBorder0
add( new FormComponent( "javax.swing.JOptionPane" ) {
name: "inputIconOptionPane"
"messageType": 1
"wantsInput": true
"optionType": 2
"message": "Enter something:"
}, new FormLayoutConstraints( class java.lang.String ) {
"value": "Center"
} )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 6"
} )
add( new FormComponent( "com.formdev.flatlaf.testing.FlatOptionPaneTest$ShowDialogLinkLabel" ) {
name: "inputIconShowDialogLabel"
"titleLabel": new FormReference( "inputIconLabel" )
"optionPane": new FormReference( "inputIconOptionPane" )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 2 6"
} )
add( new FormComponent( "javax.swing.JLabel" ) {
name: "customLabel"
"text": "Custom"
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 0 7"
} )
add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class java.awt.BorderLayout ) ) {
name: "panel6"
"border": #LineBorder0
add( new FormComponent( "javax.swing.JOptionPane" ) {
name: "customOptionPane"
"icon": new com.jformdesigner.model.SwingIcon( 2, "Tree.leafIcon" )
auxiliary() {
"JavaCodeGenerator.variableLocal": false
}
}, new FormLayoutConstraints( class java.lang.String ) {
"value": "Center"
} )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 7"
} )
add( new FormComponent( "com.formdev.flatlaf.testing.FlatOptionPaneTest$ShowDialogLinkLabel" ) {
name: "customShowDialogLabel"
"optionPane": new FormReference( "customOptionPane" )
"titleLabel": new FormReference( "customLabel" )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 2 7"
} ) } )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 7"
} )
add( new FormComponent( "com.formdev.flatlaf.testing.FlatOptionPaneTest$ShowDialogLinkLabel" ) {
name: "customShowDialogLabel"
"optionPane": new FormReference( "customOptionPane" )
"titleLabel": new FormReference( "customLabel" )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 2 7"
} ) } )
}, new FormLayoutConstraints( null ) { }, new FormLayoutConstraints( null ) {
"location": new java.awt.Point( 0, 0 ) "location": new java.awt.Point( 0, 0 )
"size": new java.awt.Dimension( 790, 920 ) "size": new java.awt.Dimension( 840, 900 )
} ) } )
} }
} }

View File

@@ -0,0 +1,472 @@
/*
* Copyright 2020 FormDev Software GmbH
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.formdev.flatlaf.testing;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import javax.swing.*;
import com.formdev.flatlaf.ui.FlatUIUtils;
import com.formdev.flatlaf.util.HiDPIUtils;
import com.formdev.flatlaf.util.UIScale;
import net.miginfocom.swing.*;
/**
* @author Karl Tauber
*/
public class FlatPaintingTest
extends JScrollPane
{
public static void main( String[] args ) {
SwingUtilities.invokeLater( () -> {
FlatTestFrame frame = FlatTestFrame.create( args, "FlatPaintingTest" );
frame.showFrame( FlatPaintingTest::new );
} );
}
FlatPaintingTest() {
initComponents();
}
private void initComponents() {
// JFormDesigner - Component initialization - DO NOT MODIFY //GEN-BEGIN:initComponents
FlatTestPanel flatTestPanel1 = new FlatTestPanel();
FlatPaintingTest.BorderPainter borderPainter9 = new FlatPaintingTest.BorderPainter();
FlatPaintingTest.BorderPainter borderPainter1 = new FlatPaintingTest.BorderPainter();
FlatPaintingTest.BorderPainter borderPainter6 = new FlatPaintingTest.BorderPainter();
FlatPaintingTest.BorderPainter borderPainter13 = new FlatPaintingTest.BorderPainter();
FlatPaintingTest.BorderPainter borderPainter17 = new FlatPaintingTest.BorderPainter();
FlatPaintingTest.BorderPainter borderPainter21 = new FlatPaintingTest.BorderPainter();
FlatPaintingTest.BorderPainter borderPainter29 = new FlatPaintingTest.BorderPainter();
FlatPaintingTest.BorderPainter borderPainter10 = new FlatPaintingTest.BorderPainter();
FlatPaintingTest.BorderPainter borderPainter2 = new FlatPaintingTest.BorderPainter();
FlatPaintingTest.BorderPainter borderPainter7 = new FlatPaintingTest.BorderPainter();
FlatPaintingTest.BorderPainter borderPainter14 = new FlatPaintingTest.BorderPainter();
FlatPaintingTest.BorderPainter borderPainter18 = new FlatPaintingTest.BorderPainter();
FlatPaintingTest.BorderPainter borderPainter22 = new FlatPaintingTest.BorderPainter();
FlatPaintingTest.BorderPainter borderPainter28 = new FlatPaintingTest.BorderPainter();
FlatPaintingTest.BorderPainter borderPainter11 = new FlatPaintingTest.BorderPainter();
FlatPaintingTest.BorderPainter borderPainter3 = new FlatPaintingTest.BorderPainter();
FlatPaintingTest.BorderPainter borderPainter5 = new FlatPaintingTest.BorderPainter();
FlatPaintingTest.BorderPainter borderPainter15 = new FlatPaintingTest.BorderPainter();
FlatPaintingTest.BorderPainter borderPainter19 = new FlatPaintingTest.BorderPainter();
FlatPaintingTest.BorderPainter borderPainter23 = new FlatPaintingTest.BorderPainter();
FlatPaintingTest.BorderPainter borderPainter27 = new FlatPaintingTest.BorderPainter();
FlatPaintingTest.BorderPainter borderPainter12 = new FlatPaintingTest.BorderPainter();
FlatPaintingTest.BorderPainter borderPainter4 = new FlatPaintingTest.BorderPainter();
FlatPaintingTest.BorderPainter borderPainter8 = new FlatPaintingTest.BorderPainter();
FlatPaintingTest.BorderPainter borderPainter16 = new FlatPaintingTest.BorderPainter();
FlatPaintingTest.BorderPainter borderPainter20 = new FlatPaintingTest.BorderPainter();
FlatPaintingTest.BorderPainter borderPainter24 = new FlatPaintingTest.BorderPainter();
FlatPaintingTest.BorderPainter borderPainter26 = new FlatPaintingTest.BorderPainter();
JLabel label1 = new JLabel();
JLabel label2 = new JLabel();
JLabel label3 = new JLabel();
JLabel label4 = new JLabel();
JLabel label5 = new JLabel();
JLabel label6 = new JLabel();
JLabel label7 = new JLabel();
//======== this ========
setBorder(null);
//======== flatTestPanel1 ========
{
flatTestPanel1.setLayout(new MigLayout(
"ltr,insets dialog,hidemode 3",
// columns
"[fill]" +
"[left]" +
"[left]" +
"[fill]" +
"[fill]" +
"[fill]" +
"[fill]" +
"[fill]",
// rows
"[top]" +
"[top]" +
"[top]" +
"[top]" +
"[]"));
//---- borderPainter9 ----
borderPainter9.setScale(8.0F);
borderPainter9.setPaintBorder(false);
borderPainter9.setPaintFocus(false);
borderPainter9.setFocusWidth(0);
flatTestPanel1.add(borderPainter9, "cell 0 0");
//---- borderPainter1 ----
borderPainter1.setScale(8.0F);
borderPainter1.setPaintBorder(false);
borderPainter1.setPaintFocus(false);
flatTestPanel1.add(borderPainter1, "cell 1 0");
//---- borderPainter6 ----
borderPainter6.setScale(8.0F);
borderPainter6.setPaintBorder(false);
borderPainter6.setPaintFocus(false);
borderPainter6.setW(25);
borderPainter6.setArc(10);
flatTestPanel1.add(borderPainter6, "cell 2 0");
//---- borderPainter13 ----
borderPainter13.setScale(8.0F);
borderPainter13.setPaintBorder(false);
borderPainter13.setPaintFocus(false);
borderPainter13.setW(25);
borderPainter13.setArc(20);
flatTestPanel1.add(borderPainter13, "cell 3 0");
//---- borderPainter17 ----
borderPainter17.setScale(8.0F);
borderPainter17.setPaintBorder(false);
borderPainter17.setPaintFocus(false);
borderPainter17.setFocusWidth(0);
borderPainter17.setArc(0);
flatTestPanel1.add(borderPainter17, "cell 4 0");
//---- borderPainter21 ----
borderPainter21.setScale(8.0F);
borderPainter21.setPaintBorder(false);
borderPainter21.setPaintFocus(false);
borderPainter21.setArc(0);
flatTestPanel1.add(borderPainter21, "cell 5 0");
//---- borderPainter29 ----
borderPainter29.setScale(8.0F);
borderPainter29.setArc(3);
borderPainter29.setFocusWidth(1);
borderPainter29.setLineWidth(3);
flatTestPanel1.add(borderPainter29, "cell 7 0");
//---- borderPainter10 ----
borderPainter10.setScale(8.0F);
borderPainter10.setPaintBackground(false);
borderPainter10.setPaintFocus(false);
borderPainter10.setFocusWidth(0);
flatTestPanel1.add(borderPainter10, "cell 0 1");
//---- borderPainter2 ----
borderPainter2.setScale(8.0F);
borderPainter2.setPaintBackground(false);
borderPainter2.setPaintFocus(false);
flatTestPanel1.add(borderPainter2, "cell 1 1");
//---- borderPainter7 ----
borderPainter7.setScale(8.0F);
borderPainter7.setPaintBackground(false);
borderPainter7.setPaintFocus(false);
borderPainter7.setW(25);
borderPainter7.setArc(10);
flatTestPanel1.add(borderPainter7, "cell 2 1");
//---- borderPainter14 ----
borderPainter14.setScale(8.0F);
borderPainter14.setPaintBackground(false);
borderPainter14.setPaintFocus(false);
borderPainter14.setW(25);
borderPainter14.setArc(20);
flatTestPanel1.add(borderPainter14, "cell 3 1");
//---- borderPainter18 ----
borderPainter18.setScale(8.0F);
borderPainter18.setPaintBackground(false);
borderPainter18.setPaintFocus(false);
borderPainter18.setFocusWidth(0);
borderPainter18.setArc(0);
flatTestPanel1.add(borderPainter18, "cell 4 1");
//---- borderPainter22 ----
borderPainter22.setScale(8.0F);
borderPainter22.setPaintBackground(false);
borderPainter22.setPaintFocus(false);
borderPainter22.setArc(0);
flatTestPanel1.add(borderPainter22, "cell 5 1");
//---- borderPainter28 ----
borderPainter28.setScale(8.0F);
borderPainter28.setArc(2);
borderPainter28.setFocusWidth(1);
borderPainter28.setLineWidth(3);
flatTestPanel1.add(borderPainter28, "cell 7 1");
//---- borderPainter11 ----
borderPainter11.setScale(8.0F);
borderPainter11.setPaintBorder(false);
borderPainter11.setPaintBackground(false);
borderPainter11.setFocusWidth(0);
flatTestPanel1.add(borderPainter11, "cell 0 2");
//---- borderPainter3 ----
borderPainter3.setScale(8.0F);
borderPainter3.setPaintBorder(false);
borderPainter3.setPaintBackground(false);
flatTestPanel1.add(borderPainter3, "cell 1 2");
//---- borderPainter5 ----
borderPainter5.setScale(8.0F);
borderPainter5.setPaintBorder(false);
borderPainter5.setPaintBackground(false);
borderPainter5.setArc(10);
borderPainter5.setW(25);
flatTestPanel1.add(borderPainter5, "cell 2 2");
//---- borderPainter15 ----
borderPainter15.setScale(8.0F);
borderPainter15.setPaintBorder(false);
borderPainter15.setPaintBackground(false);
borderPainter15.setArc(20);
borderPainter15.setW(25);
flatTestPanel1.add(borderPainter15, "cell 3 2");
//---- borderPainter19 ----
borderPainter19.setScale(8.0F);
borderPainter19.setPaintBorder(false);
borderPainter19.setPaintBackground(false);
borderPainter19.setFocusWidth(0);
borderPainter19.setArc(0);
flatTestPanel1.add(borderPainter19, "cell 4 2");
//---- borderPainter23 ----
borderPainter23.setScale(8.0F);
borderPainter23.setPaintBorder(false);
borderPainter23.setPaintBackground(false);
borderPainter23.setArc(0);
flatTestPanel1.add(borderPainter23, "cell 5 2");
//---- borderPainter27 ----
borderPainter27.setScale(8.0F);
borderPainter27.setArc(1);
borderPainter27.setFocusWidth(1);
borderPainter27.setLineWidth(3);
flatTestPanel1.add(borderPainter27, "cell 7 2");
//---- borderPainter12 ----
borderPainter12.setScale(8.0F);
borderPainter12.setFocusWidth(0);
flatTestPanel1.add(borderPainter12, "cell 0 3");
//---- borderPainter4 ----
borderPainter4.setScale(8.0F);
flatTestPanel1.add(borderPainter4, "cell 1 3");
//---- borderPainter8 ----
borderPainter8.setScale(8.0F);
borderPainter8.setW(25);
borderPainter8.setArc(10);
flatTestPanel1.add(borderPainter8, "cell 2 3");
//---- borderPainter16 ----
borderPainter16.setScale(8.0F);
borderPainter16.setW(25);
borderPainter16.setArc(20);
flatTestPanel1.add(borderPainter16, "cell 3 3");
//---- borderPainter20 ----
borderPainter20.setScale(8.0F);
borderPainter20.setFocusWidth(0);
borderPainter20.setArc(0);
flatTestPanel1.add(borderPainter20, "cell 4 3");
//---- borderPainter24 ----
borderPainter24.setScale(8.0F);
borderPainter24.setArc(0);
flatTestPanel1.add(borderPainter24, "cell 5 3");
//---- borderPainter26 ----
borderPainter26.setScale(8.0F);
borderPainter26.setArc(0);
borderPainter26.setFocusWidth(1);
borderPainter26.setLineWidth(3);
flatTestPanel1.add(borderPainter26, "cell 7 3");
//---- label1 ----
label1.setText("fw 0, lw 1, arc 6");
flatTestPanel1.add(label1, "cell 0 4");
//---- label2 ----
label2.setText("fw 2, lw 1, arc 6");
flatTestPanel1.add(label2, "cell 1 4");
//---- label3 ----
label3.setText("fw 2, lw 1, arc 10");
flatTestPanel1.add(label3, "cell 2 4");
//---- label4 ----
label4.setText("fw 2, lw 1, arc 20");
flatTestPanel1.add(label4, "cell 3 4");
//---- label5 ----
label5.setText("fw 0, lw 1, arc 0");
flatTestPanel1.add(label5, "cell 4 4");
//---- label6 ----
label6.setText("fw 2, lw 1, arc 0");
flatTestPanel1.add(label6, "cell 5 4");
//---- label7 ----
label7.setText("fw 1, lw 3, arc 3,2,1,0");
flatTestPanel1.add(label7, "cell 7 4");
}
setViewportView(flatTestPanel1);
// JFormDesigner - End of component initialization //GEN-END:initComponents
}
// JFormDesigner - Variables declaration - DO NOT MODIFY //GEN-BEGIN:variables
// JFormDesigner - End of variables declaration //GEN-END:variables
//---- class Preview ----
public static class BorderPainter
extends JComponent
{
private int w = 20;
private int h = 20;
private int focusWidth = 2;
private int lineWidth = 1;
private int arc = 6;
private float scale = 1;
private boolean paintBackground = true;
private boolean paintBorder = true;
private boolean paintFocus = true;
public BorderPainter() {
}
public int getW() {
return w;
}
public void setW( int w ) {
this.w = w;
}
public int getH() {
return h;
}
public void setH( int h ) {
this.h = h;
}
public int getFocusWidth() {
return focusWidth;
}
public void setFocusWidth( int focusWidth ) {
this.focusWidth = focusWidth;
}
public int getLineWidth() {
return lineWidth;
}
public void setLineWidth( int lineWidth ) {
this.lineWidth = lineWidth;
}
public int getArc() {
return arc;
}
public void setArc( int arc ) {
this.arc = arc;
}
public float getScale() {
return scale;
}
public void setScale( float scale ) {
this.scale = scale;
}
public boolean isPaintBackground() {
return paintBackground;
}
public void setPaintBackground( boolean paintBackground ) {
this.paintBackground = paintBackground;
}
public boolean isPaintBorder() {
return paintBorder;
}
public void setPaintBorder( boolean paintBorder ) {
this.paintBorder = paintBorder;
}
public boolean isPaintFocus() {
return paintFocus;
}
public void setPaintFocus( boolean paintFocus ) {
this.paintFocus = paintFocus;
}
@Override
public Dimension getPreferredSize() {
return UIScale.scale( new Dimension( (int) ((w + 2) * scale), (int) ((h + 2) * scale) ) );
}
@Override
public Dimension getMinimumSize() {
return getPreferredSize();
}
@Override
protected void paintComponent( Graphics g ) {
Graphics2D g2 = (Graphics2D) g;
FlatUIUtils.setRenderingHints( g2 );
g2.scale( scale, scale );
g2.translate( 1, 1 );
int width = UIScale.scale( w );
int height = UIScale.scale( h );
float focusWidth = UIScale.scale( (float) this.focusWidth );
float lineWidth = UIScale.scale( (float) this.lineWidth );
float arc = UIScale.scale( (float) this.arc );
if( paintBackground ) {
g.setColor( Color.green );
FlatUIUtils.paintComponentBackground( g2, 0, 0, width, height, focusWidth, arc );
}
if( paintFocus ) {
g.setColor( Color.blue );
FlatUIUtils.paintComponentOuterBorder( g2, 0, 0, width, height, focusWidth, lineWidth, arc );
}
if( paintBorder ) {
g.setColor( Color.red );
FlatUIUtils.paintComponentBorder( g2, 0, 0, width, height, focusWidth, lineWidth, arc );
}
HiDPIUtils.paintAtScale1x( g2, 0, 0, width, height,
(g2d, x2, y2, width2, height2, scaleFactor) -> {
int gap = 3;
g2d.setColor( Color.magenta );
g2d.drawRect( x2 - gap, y2 - gap, width2 + (gap * 2) - 1, height2 + (gap * 2) - 1 );
} );
}
}
}

View File

@@ -0,0 +1,314 @@
JFDML JFormDesigner: "7.0.0.0.194" Java: "13.0.1" encoding: "UTF-8"
new FormModel {
contentType: "form/swing"
root: new FormRoot {
auxiliary() {
"JavaCodeGenerator.defaultVariableLocal": true
}
add( new FormContainer( "javax.swing.JScrollPane", new FormLayoutManager( class javax.swing.JScrollPane ) ) {
name: "this"
"border": sfield com.jformdesigner.model.FormObject NULL_VALUE
add( new FormContainer( "com.formdev.flatlaf.testing.FlatTestPanel", new FormLayoutManager( class net.miginfocom.swing.MigLayout ) {
"$layoutConstraints": "ltr,insets dialog,hidemode 3"
"$columnConstraints": "[fill][left][left][fill][fill][fill][fill][fill]"
"$rowConstraints": "[top][top][top][top][]"
} ) {
name: "flatTestPanel1"
add( new FormComponent( "com.formdev.flatlaf.testing.FlatPaintingTest$BorderPainter" ) {
name: "borderPainter9"
"scale": 8.0f
"paintBorder": false
"paintFocus": false
"focusWidth": 0
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 0 0"
} )
add( new FormComponent( "com.formdev.flatlaf.testing.FlatPaintingTest$BorderPainter" ) {
name: "borderPainter1"
"scale": 8.0f
"paintBorder": false
"paintFocus": false
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 0"
} )
add( new FormComponent( "com.formdev.flatlaf.testing.FlatPaintingTest$BorderPainter" ) {
name: "borderPainter6"
"scale": 8.0f
"paintBorder": false
"paintFocus": false
"w": 25
"arc": 10
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 2 0"
} )
add( new FormComponent( "com.formdev.flatlaf.testing.FlatPaintingTest$BorderPainter" ) {
name: "borderPainter13"
"scale": 8.0f
"paintBorder": false
"paintFocus": false
"w": 25
"arc": 20
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 3 0"
} )
add( new FormComponent( "com.formdev.flatlaf.testing.FlatPaintingTest$BorderPainter" ) {
name: "borderPainter17"
"scale": 8.0f
"paintBorder": false
"paintFocus": false
"focusWidth": 0
"arc": 0
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 4 0"
} )
add( new FormComponent( "com.formdev.flatlaf.testing.FlatPaintingTest$BorderPainter" ) {
name: "borderPainter21"
"scale": 8.0f
"paintBorder": false
"paintFocus": false
"arc": 0
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 5 0"
} )
add( new FormComponent( "com.formdev.flatlaf.testing.FlatPaintingTest$BorderPainter" ) {
name: "borderPainter29"
"scale": 8.0f
"arc": 3
"focusWidth": 1
"lineWidth": 3
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 7 0"
} )
add( new FormComponent( "com.formdev.flatlaf.testing.FlatPaintingTest$BorderPainter" ) {
name: "borderPainter10"
"scale": 8.0f
"paintBackground": false
"paintFocus": false
"focusWidth": 0
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 0 1"
} )
add( new FormComponent( "com.formdev.flatlaf.testing.FlatPaintingTest$BorderPainter" ) {
name: "borderPainter2"
"scale": 8.0f
"paintBackground": false
"paintFocus": false
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 1"
} )
add( new FormComponent( "com.formdev.flatlaf.testing.FlatPaintingTest$BorderPainter" ) {
name: "borderPainter7"
"scale": 8.0f
"paintBackground": false
"paintFocus": false
"w": 25
"arc": 10
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 2 1"
} )
add( new FormComponent( "com.formdev.flatlaf.testing.FlatPaintingTest$BorderPainter" ) {
name: "borderPainter14"
"scale": 8.0f
"paintBackground": false
"paintFocus": false
"w": 25
"arc": 20
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 3 1"
} )
add( new FormComponent( "com.formdev.flatlaf.testing.FlatPaintingTest$BorderPainter" ) {
name: "borderPainter18"
"scale": 8.0f
"paintBackground": false
"paintFocus": false
"focusWidth": 0
"arc": 0
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 4 1"
} )
add( new FormComponent( "com.formdev.flatlaf.testing.FlatPaintingTest$BorderPainter" ) {
name: "borderPainter22"
"scale": 8.0f
"paintBackground": false
"paintFocus": false
"arc": 0
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 5 1"
} )
add( new FormComponent( "com.formdev.flatlaf.testing.FlatPaintingTest$BorderPainter" ) {
name: "borderPainter28"
"scale": 8.0f
"arc": 2
"focusWidth": 1
"lineWidth": 3
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 7 1"
} )
add( new FormComponent( "com.formdev.flatlaf.testing.FlatPaintingTest$BorderPainter" ) {
name: "borderPainter11"
"scale": 8.0f
"paintBorder": false
"paintBackground": false
"focusWidth": 0
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 0 2"
} )
add( new FormComponent( "com.formdev.flatlaf.testing.FlatPaintingTest$BorderPainter" ) {
name: "borderPainter3"
"scale": 8.0f
"paintBorder": false
"paintBackground": false
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 2"
} )
add( new FormComponent( "com.formdev.flatlaf.testing.FlatPaintingTest$BorderPainter" ) {
name: "borderPainter5"
"scale": 8.0f
"paintBorder": false
"paintBackground": false
"arc": 10
"w": 25
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 2 2"
} )
add( new FormComponent( "com.formdev.flatlaf.testing.FlatPaintingTest$BorderPainter" ) {
name: "borderPainter15"
"scale": 8.0f
"paintBorder": false
"paintBackground": false
"arc": 20
"w": 25
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 3 2"
} )
add( new FormComponent( "com.formdev.flatlaf.testing.FlatPaintingTest$BorderPainter" ) {
name: "borderPainter19"
"scale": 8.0f
"paintBorder": false
"paintBackground": false
"focusWidth": 0
"arc": 0
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 4 2"
} )
add( new FormComponent( "com.formdev.flatlaf.testing.FlatPaintingTest$BorderPainter" ) {
name: "borderPainter23"
"scale": 8.0f
"paintBorder": false
"paintBackground": false
"arc": 0
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 5 2"
} )
add( new FormComponent( "com.formdev.flatlaf.testing.FlatPaintingTest$BorderPainter" ) {
name: "borderPainter27"
"scale": 8.0f
"arc": 1
"focusWidth": 1
"lineWidth": 3
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 7 2"
} )
add( new FormComponent( "com.formdev.flatlaf.testing.FlatPaintingTest$BorderPainter" ) {
name: "borderPainter12"
"scale": 8.0f
"focusWidth": 0
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 0 3"
} )
add( new FormComponent( "com.formdev.flatlaf.testing.FlatPaintingTest$BorderPainter" ) {
name: "borderPainter4"
"scale": 8.0f
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 3"
} )
add( new FormComponent( "com.formdev.flatlaf.testing.FlatPaintingTest$BorderPainter" ) {
name: "borderPainter8"
"scale": 8.0f
"w": 25
"arc": 10
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 2 3"
} )
add( new FormComponent( "com.formdev.flatlaf.testing.FlatPaintingTest$BorderPainter" ) {
name: "borderPainter16"
"scale": 8.0f
"w": 25
"arc": 20
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 3 3"
} )
add( new FormComponent( "com.formdev.flatlaf.testing.FlatPaintingTest$BorderPainter" ) {
name: "borderPainter20"
"scale": 8.0f
"focusWidth": 0
"arc": 0
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 4 3"
} )
add( new FormComponent( "com.formdev.flatlaf.testing.FlatPaintingTest$BorderPainter" ) {
name: "borderPainter24"
"scale": 8.0f
"arc": 0
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 5 3"
} )
add( new FormComponent( "com.formdev.flatlaf.testing.FlatPaintingTest$BorderPainter" ) {
name: "borderPainter26"
"scale": 8.0f
"arc": 0
"focusWidth": 1
"lineWidth": 3
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 7 3"
} )
add( new FormComponent( "javax.swing.JLabel" ) {
name: "label1"
"text": "fw 0, lw 1, arc 6"
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 0 4"
} )
add( new FormComponent( "javax.swing.JLabel" ) {
name: "label2"
"text": "fw 2, lw 1, arc 6"
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 4"
} )
add( new FormComponent( "javax.swing.JLabel" ) {
name: "label3"
"text": "fw 2, lw 1, arc 10"
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 2 4"
} )
add( new FormComponent( "javax.swing.JLabel" ) {
name: "label4"
"text": "fw 2, lw 1, arc 20"
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 3 4"
} )
add( new FormComponent( "javax.swing.JLabel" ) {
name: "label5"
"text": "fw 0, lw 1, arc 0"
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 4 4"
} )
add( new FormComponent( "javax.swing.JLabel" ) {
name: "label6"
"text": "fw 2, lw 1, arc 0"
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 5 4"
} )
add( new FormComponent( "javax.swing.JLabel" ) {
name: "label7"
"text": "fw 1, lw 3, arc 3,2,1,0"
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 7 4"
} )
} )
}, new FormLayoutConstraints( null ) {
"location": new java.awt.Point( 0, 0 )
"size": new java.awt.Dimension( 1435, 880 )
} )
}
}

View File

@@ -130,7 +130,7 @@ public class FlatTestFrame
} }
String looksWindowsClassName = "com.jgoodies.looks.windows.WindowsLookAndFeel"; String looksWindowsClassName = "com.jgoodies.looks.windows.WindowsLookAndFeel";
if( isClassAvailable( looksWindowsClassName ) ) { if( SystemInfo.IS_WINDOWS && isClassAvailable( looksWindowsClassName ) ) {
lafModel.addElement( new LookAndFeelInfo( "JGoodies Looks Windows (F7)", looksWindowsClassName ) ); lafModel.addElement( new LookAndFeelInfo( "JGoodies Looks Windows (F7)", looksWindowsClassName ) );
registerSwitchToLookAndFeel( KeyEvent.VK_F7, looksWindowsClassName ); registerSwitchToLookAndFeel( KeyEvent.VK_F7, looksWindowsClassName );
} }
@@ -142,6 +142,8 @@ public class FlatTestFrame
if( scaleFactor != null ) if( scaleFactor != null )
scaleFactorComboBox.setSelectedItem( scaleFactor ); scaleFactorComboBox.setSelectedItem( scaleFactor );
updateSizeVariantComboBox();
// register F1, F2, ... keys to switch to Light, Dark or other LaFs // register F1, F2, ... keys to switch to Light, Dark or other LaFs
registerSwitchToLookAndFeel( KeyEvent.VK_F1, FlatLightLaf.class.getName() ); registerSwitchToLookAndFeel( KeyEvent.VK_F1, FlatLightLaf.class.getName() );
registerSwitchToLookAndFeel( KeyEvent.VK_F2, FlatDarkLaf.class.getName() ); registerSwitchToLookAndFeel( KeyEvent.VK_F2, FlatDarkLaf.class.getName() );
@@ -198,11 +200,19 @@ public class FlatTestFrame
// enable/disable scale factor combobox // enable/disable scale factor combobox
updateScaleFactorComboBox(); updateScaleFactorComboBox();
// show/hide size variant combobox
updateSizeVariantComboBox();
// this is necessary because embedded JOptionPane's "steal" the default button // this is necessary because embedded JOptionPane's "steal" the default button
getRootPane().setDefaultButton( closeButton ); getRootPane().setDefaultButton( closeButton );
} ); } );
} }
} ); } );
UIScale.addPropertyChangeListener( e -> {
// update title because user scale factor may change
updateTitle();
} );
} }
private void updateTitle() { private void updateTitle() {
@@ -229,9 +239,9 @@ public class FlatTestFrame
private boolean isClassAvailable( String className ) { private boolean isClassAvailable( String className ) {
try { try {
Class.forName( className ); Class.forName( className, false, getClass().getClassLoader() );
return true; return true;
} catch( ClassNotFoundException ex ) { } catch( Throwable ex ) {
return false; return false;
} }
} }
@@ -398,7 +408,24 @@ public class FlatTestFrame
} }
private void updateScaleFactorComboBox() { private void updateScaleFactorComboBox() {
scaleFactorComboBox.setEnabled( !UIScale.isSystemScalingEnabled() && UIManager.getLookAndFeel() instanceof FlatLaf ); scaleFactorComboBox.setEnabled( UIManager.getLookAndFeel() instanceof FlatLaf );
}
private void sizeVariantChanged() {
String sel = (String) sizeVariantComboBox.getSelectedItem();
String sizeVariant = "default".equals( sel ) ? null : sel;
updateComponentsRecur( content, (c, type) -> {
if( c instanceof JComponent )
((JComponent)c).putClientProperty( "JComponent.sizeVariant", sizeVariant );
} );
}
private void updateSizeVariantComboBox() {
LookAndFeel lookAndFeel = UIManager.getLookAndFeel();
boolean visible = lookAndFeel instanceof NimbusLookAndFeel ||
"com.apple.laf.AquaLookAndFeel".equals( lookAndFeel.getClass().getName() );
sizeVariantComboBox.setVisible( visible );
} }
private void updateComponentsRecur( Container container, BiConsumer<Component, String> action ) { private void updateComponentsRecur( Container container, BiConsumer<Component, String> action ) {
@@ -471,6 +498,7 @@ public class FlatTestFrame
explicitColorsCheckBox = new JCheckBox(); explicitColorsCheckBox = new JCheckBox();
backgroundCheckBox = new JCheckBox(); backgroundCheckBox = new JCheckBox();
opaqueTriStateCheckBox = new TriStateCheckBox(); opaqueTriStateCheckBox = new TriStateCheckBox();
sizeVariantComboBox = new JComboBox<>();
closeButton = new JButton(); closeButton = new JButton();
themesPanel = new IJThemesPanel(); themesPanel = new IJThemesPanel();
@@ -508,6 +536,7 @@ public class FlatTestFrame
"[fill]" + "[fill]" +
"[fill]" + "[fill]" +
"[fill]" + "[fill]" +
"[fill]" +
"[grow,fill]" + "[grow,fill]" +
"[button,fill]", "[button,fill]",
// rows // rows
@@ -573,9 +602,20 @@ public class FlatTestFrame
opaqueTriStateCheckBox.addActionListener(e -> opaqueChanged()); opaqueTriStateCheckBox.addActionListener(e -> opaqueChanged());
buttonBar.add(opaqueTriStateCheckBox, "cell 7 0"); buttonBar.add(opaqueTriStateCheckBox, "cell 7 0");
//---- sizeVariantComboBox ----
sizeVariantComboBox.setModel(new DefaultComboBoxModel<>(new String[] {
"mini",
"small",
"default",
"large"
}));
sizeVariantComboBox.setSelectedIndex(2);
sizeVariantComboBox.addActionListener(e -> sizeVariantChanged());
buttonBar.add(sizeVariantComboBox, "cell 8 0");
//---- closeButton ---- //---- closeButton ----
closeButton.setText("Close"); closeButton.setText("Close");
buttonBar.add(closeButton, "cell 9 0"); buttonBar.add(closeButton, "cell 10 0");
} }
dialogPane.add(buttonBar, BorderLayout.SOUTH); dialogPane.add(buttonBar, BorderLayout.SOUTH);
dialogPane.add(themesPanel, BorderLayout.EAST); dialogPane.add(themesPanel, BorderLayout.EAST);
@@ -596,6 +636,7 @@ public class FlatTestFrame
private JCheckBox explicitColorsCheckBox; private JCheckBox explicitColorsCheckBox;
private JCheckBox backgroundCheckBox; private JCheckBox backgroundCheckBox;
private TriStateCheckBox opaqueTriStateCheckBox; private TriStateCheckBox opaqueTriStateCheckBox;
private JComboBox<String> sizeVariantComboBox;
private JButton closeButton; private JButton closeButton;
private IJThemesPanel themesPanel; private IJThemesPanel themesPanel;
// JFormDesigner - End of variables declaration //GEN-END:variables // JFormDesigner - End of variables declaration //GEN-END:variables

View File

@@ -1,4 +1,4 @@
JFDML JFormDesigner: "7.0.0.0.194" Java: "13.0.1" encoding: "UTF-8" JFDML JFormDesigner: "7.0.1.0.272" Java: "13.0.2" encoding: "UTF-8"
new FormModel { new FormModel {
contentType: "form/swing" contentType: "form/swing"
@@ -21,7 +21,7 @@ new FormModel {
} ) } )
add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class net.miginfocom.swing.MigLayout ) { add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class net.miginfocom.swing.MigLayout ) {
"$layoutConstraints": "insets dialog" "$layoutConstraints": "insets dialog"
"$columnConstraints": "[fill][fill][fill][fill][fill][fill][fill][fill][grow,fill][button,fill]" "$columnConstraints": "[fill][fill][fill][fill][fill][fill][fill][fill][fill][grow,fill][button,fill]"
"$rowSpecs": "[fill]" "$rowSpecs": "[fill]"
} ) { } ) {
name: "buttonBar" name: "buttonBar"
@@ -105,11 +105,25 @@ new FormModel {
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 7 0" "value": "cell 7 0"
} ) } )
add( new FormComponent( "javax.swing.JComboBox" ) {
name: "sizeVariantComboBox"
"model": new javax.swing.DefaultComboBoxModel {
selectedItem: "mini"
addElement( "mini" )
addElement( "small" )
addElement( "default" )
addElement( "large" )
}
"selectedIndex": 2
addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "sizeVariantChanged", false ) )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 8 0"
} )
add( new FormComponent( "javax.swing.JButton" ) { add( new FormComponent( "javax.swing.JButton" ) {
name: "closeButton" name: "closeButton"
"text": "Close" "text": "Close"
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 9 0" "value": "cell 10 0"
} ) } )
}, new FormLayoutConstraints( class java.lang.String ) { }, new FormLayoutConstraints( class java.lang.String ) {
"value": "South" "value": "South"

View File

@@ -26,12 +26,15 @@ import java.io.IOException;
import java.io.PrintWriter; import java.io.PrintWriter;
import java.io.StringWriter; import java.io.StringWriter;
import java.lang.reflect.Array; import java.lang.reflect.Array;
import java.lang.reflect.Field;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.function.Predicate;
import javax.swing.Icon; import javax.swing.Icon;
import javax.swing.ImageIcon; import javax.swing.ImageIcon;
import javax.swing.InputMap; import javax.swing.InputMap;
import javax.swing.JComponent; import javax.swing.JComponent;
import javax.swing.JInternalFrame;
import javax.swing.JToolBar; import javax.swing.JToolBar;
import javax.swing.KeyStroke; import javax.swing.KeyStroke;
import javax.swing.ListCellRenderer; import javax.swing.ListCellRenderer;
@@ -43,11 +46,10 @@ import javax.swing.UIManager;
import javax.swing.border.Border; import javax.swing.border.Border;
import javax.swing.border.CompoundBorder; import javax.swing.border.CompoundBorder;
import javax.swing.border.LineBorder; import javax.swing.border.LineBorder;
import javax.swing.plaf.BorderUIResource;
import javax.swing.plaf.UIResource; import javax.swing.plaf.UIResource;
import javax.swing.plaf.basic.BasicLookAndFeel; import javax.swing.plaf.basic.BasicLookAndFeel;
import com.formdev.flatlaf.FlatDarkLaf; import com.formdev.flatlaf.*;
import com.formdev.flatlaf.FlatLaf;
import com.formdev.flatlaf.FlatLightLaf;
import com.formdev.flatlaf.util.SystemInfo; import com.formdev.flatlaf.util.SystemInfo;
/** /**
@@ -72,13 +74,29 @@ public class UIDefaultsDump
dump( FlatLightLaf.class.getName(), dir ); dump( FlatLightLaf.class.getName(), dir );
dump( FlatDarkLaf.class.getName(), dir ); dump( FlatDarkLaf.class.getName(), dir );
// dump( FlatIntelliJLaf.class.getName(), dir );
// dump( FlatDarculaLaf.class.getName(), dir );
//
// dump( MyBasicLookAndFeel.class.getName(), dir ); // dump( MyBasicLookAndFeel.class.getName(), dir );
// dump( MetalLookAndFeel.class.getName(), dir ); // dump( MetalLookAndFeel.class.getName(), dir );
// dump( NimbusLookAndFeel.class.getName(), dir );
// //
// if( SystemInfo.IS_WINDOWS ) // if( SystemInfo.IS_WINDOWS )
// dump( "com.sun.java.swing.plaf.windows.WindowsLookAndFeel", dir ); // dump( "com.sun.java.swing.plaf.windows.WindowsLookAndFeel", dir );
// else if( SystemInfo.IS_MAC ) // else if( SystemInfo.IS_MAC )
// dump( "com.apple.laf.AquaLookAndFeel", dir ); // dump( "com.apple.laf.AquaLookAndFeel", dir );
//
// dump( "com.jgoodies.looks.plastic.PlasticLookAndFeel", dir );
// dump( "com.jgoodies.looks.windows.WindowsLookAndFeel", dir );
// dump( "com.alee.laf.WebLookAndFeel", dir );
// try {
// EventQueue.invokeAndWait( () -> {
// dump( "org.pushingpixels.substance.api.skin.SubstanceGraphiteAquaLookAndFeel", dir );
// } );
// } catch( Exception ex ) {
// // TODO Auto-generated catch block
// ex.printStackTrace();
// }
} }
private static void dump( String lookAndFeelClassName, File dir ) { private static void dump( String lookAndFeelClassName, File dir ) {
@@ -91,16 +109,24 @@ public class UIDefaultsDump
LookAndFeel lookAndFeel = UIManager.getLookAndFeel(); LookAndFeel lookAndFeel = UIManager.getLookAndFeel();
dump( dir, "", lookAndFeel, key -> !key.contains( "InputMap" ) );
if( lookAndFeel.getClass() != FlatLightLaf.class )
return;
dump( dir, "_InputMap", lookAndFeel, key -> key.contains( "InputMap" ) );
}
private static void dump( File dir, String nameSuffix, LookAndFeel lookAndFeel, Predicate<String> keyFilter ) {
// dump to string // dump to string
StringWriter stringWriter = new StringWriter( 100000 ); StringWriter stringWriter = new StringWriter( 100000 );
new UIDefaultsDump( lookAndFeel ).dump( new PrintWriter( stringWriter ) ); new UIDefaultsDump( lookAndFeel ).dump( new PrintWriter( stringWriter ), keyFilter );
Class<?> lookAndFeelClass = lookAndFeel instanceof MyBasicLookAndFeel Class<?> lookAndFeelClass = lookAndFeel instanceof MyBasicLookAndFeel
? BasicLookAndFeel.class ? BasicLookAndFeel.class
: lookAndFeel.getClass(); : lookAndFeel.getClass();
String suffix = (SystemInfo.IS_MAC && lookAndFeel instanceof FlatLaf) ? "-mac" : ""; String osSuffix = (SystemInfo.IS_MAC && lookAndFeel instanceof FlatLaf) ? "-mac" : "";
File file = new File( dir, lookAndFeelClass.getSimpleName() + "_" File file = new File( dir, lookAndFeelClass.getSimpleName() + nameSuffix + "_"
+ System.getProperty( "java.version" ) + suffix + ".txt" ); + System.getProperty( "java.version" ) + osSuffix + ".txt" );
// write to file // write to file
try( FileWriter fileWriter = new FileWriter( file ) ) { try( FileWriter fileWriter = new FileWriter( file ) ) {
@@ -115,7 +141,7 @@ public class UIDefaultsDump
this.defaults = lookAndFeel.getDefaults(); this.defaults = lookAndFeel.getDefaults();
} }
private void dump( PrintWriter out ) { private void dump( PrintWriter out, Predicate<String> keyFilter ) {
Class<?> lookAndFeelClass = lookAndFeel instanceof MyBasicLookAndFeel Class<?> lookAndFeelClass = lookAndFeel instanceof MyBasicLookAndFeel
? BasicLookAndFeel.class ? BasicLookAndFeel.class
: lookAndFeel.getClass(); : lookAndFeel.getClass();
@@ -134,6 +160,9 @@ public class UIDefaultsDump
Object value = entry.getValue(); Object value = entry.getValue();
String strKey = String.valueOf( key ); String strKey = String.valueOf( key );
if( !keyFilter.test( strKey ) )
return;
int dotIndex = strKey.indexOf( '.' ); int dotIndex = strKey.indexOf( '.' );
String prefix = (dotIndex > 0) String prefix = (dotIndex > 0)
? strKey.substring( 0, dotIndex ) ? strKey.substring( 0, dotIndex )
@@ -265,8 +294,29 @@ public class UIDefaultsDump
dummyComponent = new JComponent() {}; dummyComponent = new JComponent() {};
JComponent c = dummyComponent; JComponent c = dummyComponent;
if( border.getClass().getName().equals( "com.apple.laf.AquaToolBarUI$ToolBarBorder" ) )
c = new JToolBar(); String borderClassName = border.getClass().getName();
if( border instanceof BorderUIResource ) {
try {
Field f = BorderUIResource.class.getDeclaredField( "delegate" );
f.setAccessible( true );
Object delegate = f.get( border );
borderClassName = delegate.getClass().getName();
} catch( Exception ex ) {
ex.printStackTrace();
}
}
switch( borderClassName ) {
case "com.apple.laf.AquaToolBarUI$ToolBarBorder":
case "org.pushingpixels.substance.internal.utils.border.SubstanceToolBarBorder":
c = new JToolBar();
break;
case "com.jgoodies.looks.plastic.PlasticBorders$InternalFrameBorder":
c = new JInternalFrame();
break;
}
Insets insets = border.getBorderInsets( c ); Insets insets = border.getBorderInsets( c );
out.printf( "%d,%d,%d,%d %b %s", out.printf( "%d,%d,%d,%d %b %s",
@@ -301,7 +351,8 @@ public class UIDefaultsDump
} ); } );
for( KeyStroke keyStroke : keys ) { for( KeyStroke keyStroke : keys ) {
Object value = inputMap.get( keyStroke ); Object value = inputMap.get( keyStroke );
out.printf( "%n%s%-30s %s", indent, keyStroke, value ); String strKeyStroke = keyStroke.toString().replace( "pressed ", "" );
out.printf( "%n%s%-20s %s", indent, strKeyStroke, value );
} }
} }
@@ -317,7 +368,16 @@ public class UIDefaultsDump
private void dumpActiveValue( PrintWriter out, ActiveValue value ) { private void dumpActiveValue( PrintWriter out, ActiveValue value ) {
out.print( "[active] " ); out.print( "[active] " );
dumpValue( out, value.createValue( defaults ) ); Object realValue = value.createValue( defaults );
if( realValue instanceof Font && realValue == UIManager.getFont( "defaultFont" ) ) {
// dump "$defaultFont" for the default font to make it easier to
// compare Windows/Linux dumps with macOS dumps
out.print( "$defaultFont" );
if( realValue instanceof UIResource )
out.print( " [UI]" );
} else
dumpValue( out, realValue );
} }
private String dumpClass( Object value ) { private String dumpClass( Object value ) {

View File

@@ -0,0 +1,944 @@
Class com.apple.laf.AquaLookAndFeel
ID Aqua
Name Mac OS X
Java 1.8.0_202
OS Mac OS X
#---- Button ----
Button.focusInputMap [lazy] 2 javax.swing.plaf.InputMapUIResource [UI]
SPACE pressed
released SPACE released
#---- CheckBox ----
CheckBox.focusInputMap [lazy] 2 javax.swing.plaf.InputMapUIResource [UI]
SPACE pressed
released SPACE released
#---- ComboBox ----
ComboBox.ancestorInputMap [lazy] 11 javax.swing.plaf.InputMapUIResource [UI]
DOWN aquaSelectNext
END aquaSelectEnd
ENTER enterPressed
ESCAPE aquaHidePopup
HOME aquaSelectHome
KP_DOWN aquaSelectNext
KP_UP aquaSelectPrevious
PAGE_DOWN aquaSelectPageDown
PAGE_UP aquaSelectPageUp
SPACE aquaSpacePressed
UP aquaSelectPrevious
#---- Desktop ----
Desktop.ancestorInputMap [lazy] 29 javax.swing.plaf.InputMapUIResource [UI]
ctrl alt F6 selectNextFrame
ctrl F10 maximize
ctrl F12 navigateNext
ctrl F4 close
ctrl F5 restore
ctrl F6 selectNextFrame
ctrl F7 move
ctrl F8 resize
ctrl F9 minimize
ctrl TAB selectNextFrame
DOWN down
ESCAPE escape
KP_DOWN down
KP_LEFT left
KP_RIGHT right
KP_UP up
LEFT left
RIGHT right
UP up
shift ctrl alt F6 selectPreviousFrame
shift ctrl F12 navigatePrevious
shift DOWN shrinkDown
shift KP_DOWN shrinkDown
shift KP_LEFT shrinkLeft
shift KP_RIGHT shrinkRight
shift KP_UP shrinkUp
shift LEFT shrinkLeft
shift RIGHT shrinkRight
shift UP shrinkUp
#---- EditorPane ----
EditorPane.focusInputMap [lazy] 82 javax.swing.plaf.InputMapUIResource [UI]
alt BACK_SPACE delete-previous-word
alt DELETE delete-next-word
alt KP_LEFT caret-previous-word
alt KP_RIGHT caret-next-word
alt LEFT caret-previous-word
alt RIGHT caret-next-word
ctrl A caret-begin-line
ctrl B caret-backward
ctrl D delete-next
ctrl E caret-end-line
ctrl F caret-forward
ctrl H delete-previous
ctrl N caret-down
ctrl P caret-up
ctrl V aqua-page-down
ctrl W delete-previous-word
meta A select-all
meta BACK_SLASH unselect
meta C copy-to-clipboard
meta DOWN caret-end
meta KP_DOWN caret-end
meta KP_LEFT caret-begin-line
meta KP_RIGHT caret-end-line
meta KP_UP caret-begin
meta LEFT caret-begin-line
meta RIGHT caret-end-line
meta SPACE activate-link-action
meta T next-link-action
meta UP caret-begin
meta V paste-from-clipboard
meta X cut-to-clipboard
BACK_SPACE delete-previous
COPY copy-to-clipboard
CUT cut-to-clipboard
DELETE delete-next
DOWN aqua-move-down
END caret-end
ENTER insert-break
HOME caret-begin
KP_DOWN aqua-move-down
KP_LEFT caret-backward
KP_RIGHT caret-forward
KP_UP aqua-move-up
LEFT caret-backward
PAGE_DOWN aqua-page-down
PAGE_UP aqua-page-up
PASTE paste-from-clipboard
RIGHT caret-forward
TAB insert-tab
UP aqua-move-up
shift alt DOWN selection-end-paragraph
shift alt KP_DOWN selection-end-paragraph
shift alt KP_LEFT selection-previous-word
shift alt KP_RIGHT selection-next-word
shift alt KP_UP selection-begin-paragraph
shift alt LEFT selection-previous-word
shift alt RIGHT selection-next-word
shift alt UP selection-begin-paragraph
shift ctrl O toggle-componentOrientation
shift meta DOWN selection-end
shift meta KP_DOWN selection-end
shift meta KP_LEFT selection-begin-line
shift meta KP_RIGHT selection-end-line
shift meta KP_UP selection-begin
shift meta LEFT selection-begin-line
shift meta PAGE_DOWN selection-page-right
shift meta PAGE_UP selection-page-left
shift meta RIGHT selection-end-line
shift meta T previous-link-action
shift meta UP selection-begin
shift DOWN selection-down
shift END selection-end
shift HOME selection-begin
shift KP_DOWN selection-down
shift KP_LEFT selection-backward
shift KP_RIGHT selection-forward
shift KP_UP selection-up
shift LEFT selection-backward
shift PAGE_DOWN selection-page-down
shift PAGE_UP selection-page-up
shift RIGHT selection-forward
shift UP selection-up
#---- FileChooser ----
FileChooser.ancestorInputMap [lazy] 2 javax.swing.plaf.InputMapUIResource [UI]
ESCAPE cancelSelection
F5 refresh
#---- FormattedTextField ----
FormattedTextField.focusInputMap [lazy] 75 javax.swing.plaf.InputMapUIResource [UI]
alt BACK_SPACE delete-previous-word
alt DELETE delete-next-word
alt KP_LEFT caret-previous-word
alt KP_RIGHT caret-next-word
alt LEFT caret-previous-word
alt RIGHT caret-next-word
ctrl A caret-begin-line
ctrl B caret-backward
ctrl D delete-next
ctrl E caret-end-line
ctrl F caret-forward
ctrl H delete-previous
ctrl N caret-end
ctrl P caret-begin
ctrl V caret-end
ctrl W delete-previous-word
meta A select-all
meta BACK_SLASH unselect
meta C copy-to-clipboard
meta DOWN caret-end
meta KP_DOWN caret-end
meta KP_LEFT caret-begin-line
meta KP_RIGHT caret-end-line
meta KP_UP caret-begin
meta LEFT caret-begin-line
meta RIGHT caret-end-line
meta UP caret-begin
meta V paste-from-clipboard
meta X cut-to-clipboard
BACK_SPACE delete-previous
COPY copy-to-clipboard
CUT cut-to-clipboard
DELETE delete-next
DOWN decrement
END caret-end
ENTER notify-field-accept
ESCAPE reset-field-edit
HOME caret-begin
KP_DOWN decrement
KP_LEFT caret-backward
KP_RIGHT caret-forward
KP_UP increment
LEFT caret-backward
PAGE_DOWN aqua-page-down
PAGE_UP aqua-page-up
PASTE paste-from-clipboard
RIGHT caret-forward
UP increment
shift alt KP_LEFT selection-previous-word
shift alt KP_RIGHT selection-next-word
shift alt LEFT selection-previous-word
shift alt RIGHT selection-next-word
shift ctrl O toggle-componentOrientation
shift meta DOWN selection-end
shift meta KP_DOWN selection-end
shift meta KP_LEFT selection-begin-line
shift meta KP_RIGHT selection-end-line
shift meta KP_UP selection-begin
shift meta LEFT selection-begin-line
shift meta PAGE_DOWN selection-page-right
shift meta PAGE_UP selection-page-left
shift meta RIGHT selection-end-line
shift meta UP selection-begin
shift DOWN selection-end-line
shift END selection-end
shift HOME selection-begin
shift KP_DOWN selection-end-line
shift KP_LEFT selection-backward
shift KP_RIGHT selection-forward
shift KP_UP selection-begin-line
shift LEFT selection-backward
shift PAGE_DOWN selection-page-down
shift PAGE_UP selection-page-up
shift RIGHT selection-forward
shift UP selection-begin-line
#---- List ----
List.focusInputMap.RightToLeft [lazy] 16 javax.swing.plaf.InputMapUIResource [UI]
ctrl KP_LEFT selectNextColumnChangeLead
ctrl KP_RIGHT selectPreviousColumnChangeLead
ctrl LEFT selectNextColumnChangeLead
ctrl RIGHT selectPreviousColumnChangeLead
KP_LEFT selectNextColumn
KP_RIGHT selectPreviousColumn
LEFT selectNextColumn
RIGHT selectPreviousColumn
shift ctrl KP_LEFT selectNextColumnExtendSelection
shift ctrl KP_RIGHT selectPreviousColumnExtendSelection
shift ctrl LEFT selectNextColumnExtendSelection
shift ctrl RIGHT selectPreviousColumnExtendSelection
shift KP_LEFT selectNextColumnExtendSelection
shift KP_RIGHT selectPreviousColumnExtendSelection
shift LEFT selectNextColumnExtendSelection
shift RIGHT selectPreviousColumnExtendSelection
List.focusInputMap [lazy] 29 javax.swing.plaf.InputMapUIResource [UI]
meta A selectAll
meta C copy
meta V paste
meta X cut
COPY copy
CUT cut
DOWN selectNextRow
END aquaEnd
HOME aquaHome
KP_DOWN selectNextRow
KP_LEFT selectPreviousColumn
KP_RIGHT selectNextColumn
KP_UP selectPreviousRow
LEFT selectPreviousColumn
PASTE paste
RIGHT selectNextColumn
UP selectPreviousRow
shift DOWN selectNextRowExtendSelection
shift END selectLastRowExtendSelection
shift HOME selectFirstRowExtendSelection
shift KP_DOWN selectNextRowExtendSelection
shift KP_LEFT selectPreviousColumnExtendSelection
shift KP_RIGHT selectNextColumnExtendSelection
shift KP_UP selectPreviousRowExtendSelection
shift LEFT selectPreviousColumnExtendSelection
shift PAGE_DOWN scrollDownExtendSelection
shift PAGE_UP scrollUpExtendSelection
shift RIGHT selectNextColumnExtendSelection
shift UP selectPreviousRowExtendSelection
#---- PasswordField ----
PasswordField.focusInputMap [lazy] 66 javax.swing.plaf.InputMapUIResource [UI]
alt BACK_SPACE delete-previous-word
alt DELETE delete-next-word
ctrl A caret-begin-line
ctrl B caret-backward
ctrl D delete-next
ctrl E caret-end-line
ctrl F caret-forward
ctrl H delete-previous
ctrl N caret-end
ctrl P caret-begin
ctrl V caret-end
ctrl W delete-previous-word
meta A select-all
meta BACK_SLASH unselect
meta C copy-to-clipboard
meta DOWN caret-end
meta KP_DOWN caret-end
meta KP_LEFT caret-begin-line
meta KP_RIGHT caret-end-line
meta KP_UP caret-begin
meta LEFT caret-begin-line
meta RIGHT caret-end-line
meta UP caret-begin
meta V paste-from-clipboard
meta X cut-to-clipboard
BACK_SPACE delete-previous
COPY copy-to-clipboard
CUT cut-to-clipboard
DELETE delete-next
DOWN caret-end-line
END caret-end
ENTER notify-field-accept
HOME caret-begin
KP_DOWN caret-end-line
KP_LEFT caret-backward
KP_RIGHT caret-forward
KP_UP caret-begin-line
LEFT caret-backward
PAGE_DOWN aqua-page-down
PAGE_UP aqua-page-up
PASTE paste-from-clipboard
RIGHT caret-forward
UP caret-begin-line
shift ctrl O toggle-componentOrientation
shift meta DOWN selection-end
shift meta KP_DOWN selection-end
shift meta KP_LEFT selection-begin-line
shift meta KP_RIGHT selection-end-line
shift meta KP_UP selection-begin
shift meta LEFT selection-begin-line
shift meta PAGE_DOWN selection-page-right
shift meta PAGE_UP selection-page-left
shift meta RIGHT selection-end-line
shift meta UP selection-begin
shift DOWN selection-end-line
shift END selection-end
shift HOME selection-begin
shift KP_DOWN selection-end-line
shift KP_LEFT selection-backward
shift KP_RIGHT selection-forward
shift KP_UP selection-begin-line
shift LEFT selection-backward
shift PAGE_DOWN selection-page-down
shift PAGE_UP selection-page-up
shift RIGHT selection-forward
shift UP selection-begin-line
#---- PopupMenu ----
PopupMenu.selectedWindowInputMapBindings.RightToLeft length=8 [Ljava.lang.Object;
[0] LEFT
[1] selectChild
[2] KP_LEFT
[3] selectChild
[4] RIGHT
[5] selectParent
[6] KP_RIGHT
[7] selectParent
PopupMenu.selectedWindowInputMapBindings length=24 [Ljava.lang.Object;
[0] ESCAPE
[1] cancel
[2] DOWN
[3] selectNext
[4] KP_DOWN
[5] selectNext
[6] UP
[7] selectPrevious
[8] KP_UP
[9] selectPrevious
[10] LEFT
[11] selectParent
[12] KP_LEFT
[13] selectParent
[14] RIGHT
[15] selectChild
[16] KP_RIGHT
[17] selectChild
[18] ENTER
[19] return
[20] ctrl ENTER
[21] return
[22] SPACE
[23] return
#---- RadioButton ----
RadioButton.focusInputMap [lazy] 2 javax.swing.plaf.InputMapUIResource [UI]
SPACE pressed
released SPACE released
#---- RootPane ----
RootPane.ancestorInputMap [lazy] 2 javax.swing.plaf.InputMapUIResource [UI]
CONTEXT_MENU postPopup
shift F10 postPopup
#---- ScrollBar ----
ScrollBar.ancestorInputMap.RightToLeft [lazy] 4 javax.swing.plaf.InputMapUIResource [UI]
KP_LEFT positiveUnitIncrement
KP_RIGHT negativeUnitIncrement
LEFT positiveUnitIncrement
RIGHT negativeUnitIncrement
ScrollBar.ancestorInputMap [lazy] 12 javax.swing.plaf.InputMapUIResource [UI]
DOWN positiveUnitIncrement
END maxScroll
HOME minScroll
KP_DOWN positiveUnitIncrement
KP_LEFT negativeUnitIncrement
KP_RIGHT positiveUnitIncrement
KP_UP negativeUnitIncrement
LEFT negativeUnitIncrement
PAGE_DOWN positiveBlockIncrement
PAGE_UP negativeBlockIncrement
RIGHT positiveUnitIncrement
UP negativeUnitIncrement
ScrollBar.focusInputMap.RightToLeft [lazy] 4 javax.swing.plaf.InputMapUIResource [UI]
KP_LEFT positiveUnitIncrement
KP_RIGHT negativeUnitIncrement
LEFT positiveUnitIncrement
RIGHT negativeUnitIncrement
ScrollBar.focusInputMap [lazy] 12 javax.swing.plaf.InputMapUIResource [UI]
DOWN positiveUnitIncrement
END maxScroll
HOME minScroll
KP_DOWN positiveUnitIncrement
KP_LEFT negativeUnitIncrement
KP_RIGHT positiveUnitIncrement
KP_UP negativeUnitIncrement
LEFT negativeUnitIncrement
PAGE_DOWN positiveBlockIncrement
PAGE_UP negativeBlockIncrement
RIGHT positiveUnitIncrement
UP negativeUnitIncrement
#---- ScrollPane ----
ScrollPane.ancestorInputMap.RightToLeft [lazy] 0 javax.swing.plaf.InputMapUIResource [UI]
ScrollPane.ancestorInputMap [lazy] 12 javax.swing.plaf.InputMapUIResource [UI]
DOWN unitScrollDown
END scrollEnd
HOME scrollHome
KP_DOWN unitScrollDown
KP_LEFT unitScrollLeft
KP_RIGHT unitScrollRight
KP_UP unitScrollUp
LEFT unitScrollLeft
PAGE_DOWN scrollDown
PAGE_UP scrollUp
RIGHT unitScrollRight
UP unitScrollUp
#---- Slider ----
Slider.focusInputMap.RightToLeft [lazy] 4 javax.swing.plaf.InputMapUIResource [UI]
KP_LEFT positiveUnitIncrement
KP_RIGHT negativeUnitIncrement
LEFT positiveUnitIncrement
RIGHT negativeUnitIncrement
Slider.focusInputMap [lazy] 12 javax.swing.plaf.InputMapUIResource [UI]
DOWN negativeUnitIncrement
END maxScroll
HOME minScroll
KP_DOWN negativeUnitIncrement
KP_LEFT negativeUnitIncrement
KP_RIGHT positiveUnitIncrement
KP_UP positiveUnitIncrement
LEFT negativeUnitIncrement
PAGE_DOWN negativeBlockIncrement
PAGE_UP positiveBlockIncrement
RIGHT positiveUnitIncrement
UP positiveUnitIncrement
#---- Spinner ----
Spinner.ancestorInputMap [lazy] 4 javax.swing.plaf.InputMapUIResource [UI]
DOWN decrement
KP_DOWN decrement
KP_UP increment
UP increment
#---- SplitPane ----
SplitPane.ancestorInputMap [lazy] 14 javax.swing.plaf.InputMapUIResource [UI]
ctrl TAB focusOutForward
DOWN positiveIncrement
END selectMax
F6 toggleFocus
F8 startResize
HOME selectMin
KP_DOWN positiveIncrement
KP_LEFT negativeIncrement
KP_RIGHT positiveIncrement
KP_UP negativeIncrement
LEFT negativeIncrement
RIGHT positiveIncrement
UP negativeIncrement
shift ctrl TAB focusOutBackward
#---- TabbedPane ----
TabbedPane.ancestorInputMap [lazy] 4 javax.swing.plaf.InputMapUIResource [UI]
ctrl KP_UP requestFocus
ctrl PAGE_DOWN navigatePageDown
ctrl PAGE_UP navigatePageUp
ctrl UP requestFocus
TabbedPane.focusInputMap [lazy] 10 javax.swing.plaf.InputMapUIResource [UI]
ctrl DOWN requestFocusForVisibleComponent
ctrl KP_DOWN requestFocusForVisibleComponent
DOWN navigateDown
KP_DOWN navigateDown
KP_LEFT navigateLeft
KP_RIGHT navigateRight
KP_UP navigateUp
LEFT navigateLeft
RIGHT navigateRight
UP navigateUp
#---- Table ----
Table.ancestorInputMap.RightToLeft [lazy] 12 javax.swing.plaf.InputMapUIResource [UI]
ctrl PAGE_DOWN scrollLeftChangeSelection
ctrl PAGE_UP scrollRightChangeSelection
KP_LEFT selectNextColumn
KP_RIGHT selectPreviousColumn
LEFT selectNextColumn
RIGHT selectPreviousColumn
shift ctrl PAGE_DOWN scrollLeftExtendSelection
shift ctrl PAGE_UP scrollRightExtendSelection
shift KP_LEFT selectNextColumnExtendSelection
shift KP_RIGHT selectPreviousColumnExtendSelection
shift LEFT selectNextColumnExtendSelection
shift RIGHT selectPreviousColumnExtendSelection
Table.ancestorInputMap [lazy] 38 javax.swing.plaf.InputMapUIResource [UI]
alt TAB focusHeader
meta A selectAll
meta C copy
meta V paste
meta X cut
COPY copy
CUT cut
DOWN selectNextRow
END selectLastColumn
ENTER selectNextRowCell
ESCAPE cancel
HOME selectFirstColumn
KP_DOWN selectNextRow
KP_LEFT selectPreviousColumn
KP_RIGHT selectNextColumn
KP_UP selectPreviousRow
LEFT selectPreviousColumn
PAGE_DOWN scrollDownChangeSelection
PAGE_UP scrollUpChangeSelection
PASTE paste
RIGHT selectNextColumn
TAB selectNextColumnCell
UP selectPreviousRow
shift alt TAB focusHeader
shift DOWN selectNextRowExtendSelection
shift END selectLastColumnExtendSelection
shift ENTER selectPreviousRowCell
shift HOME selectFirstColumnExtendSelection
shift KP_DOWN selectNextRowExtendSelection
shift KP_LEFT selectPreviousColumnExtendSelection
shift KP_RIGHT selectNextColumnExtendSelection
shift KP_UP selectPreviousRowExtendSelection
shift LEFT selectPreviousColumnExtendSelection
shift PAGE_DOWN scrollDownExtendSelection
shift PAGE_UP scrollUpExtendSelection
shift RIGHT selectNextColumnExtendSelection
shift TAB selectPreviousColumnCell
shift UP selectPreviousRowExtendSelection
#---- TableHeader ----
TableHeader.ancestorInputMap [lazy] 14 javax.swing.plaf.InputMapUIResource [UI]
alt KP_LEFT moveColumnLeft
alt KP_RIGHT moveColumnRight
alt LEFT moveColumnLeft
alt RIGHT moveColumnRight
ESCAPE focusTable
KP_LEFT selectColumnToLeft
KP_RIGHT selectColumnToRight
LEFT selectColumnToLeft
RIGHT selectColumnToRight
SPACE toggleSortOrder
shift alt KP_LEFT resizeLeft
shift alt KP_RIGHT resizeRight
shift alt LEFT resizeLeft
shift alt RIGHT resizeRight
#---- TextArea ----
TextArea.focusInputMap [lazy] 82 javax.swing.plaf.InputMapUIResource [UI]
alt BACK_SPACE delete-previous-word
alt DELETE delete-next-word
alt KP_LEFT caret-previous-word
alt KP_RIGHT caret-next-word
alt LEFT caret-previous-word
alt RIGHT caret-next-word
ctrl A caret-begin-line
ctrl B caret-backward
ctrl D delete-next
ctrl E caret-end-line
ctrl F caret-forward
ctrl H delete-previous
ctrl N caret-down
ctrl P caret-up
ctrl V aqua-page-down
ctrl W delete-previous-word
meta A select-all
meta BACK_SLASH unselect
meta C copy-to-clipboard
meta DOWN caret-end
meta KP_DOWN caret-end
meta KP_LEFT caret-begin-line
meta KP_RIGHT caret-end-line
meta KP_UP caret-begin
meta LEFT caret-begin-line
meta RIGHT caret-end-line
meta SPACE activate-link-action
meta T next-link-action
meta UP caret-begin
meta V paste-from-clipboard
meta X cut-to-clipboard
BACK_SPACE delete-previous
COPY copy-to-clipboard
CUT cut-to-clipboard
DELETE delete-next
DOWN aqua-move-down
END caret-end
ENTER insert-break
HOME caret-begin
KP_DOWN aqua-move-down
KP_LEFT caret-backward
KP_RIGHT caret-forward
KP_UP aqua-move-up
LEFT caret-backward
PAGE_DOWN aqua-page-down
PAGE_UP aqua-page-up
PASTE paste-from-clipboard
RIGHT caret-forward
TAB insert-tab
UP aqua-move-up
shift alt DOWN selection-end-paragraph
shift alt KP_DOWN selection-end-paragraph
shift alt KP_LEFT selection-previous-word
shift alt KP_RIGHT selection-next-word
shift alt KP_UP selection-begin-paragraph
shift alt LEFT selection-previous-word
shift alt RIGHT selection-next-word
shift alt UP selection-begin-paragraph
shift ctrl O toggle-componentOrientation
shift meta DOWN selection-end
shift meta KP_DOWN selection-end
shift meta KP_LEFT selection-begin-line
shift meta KP_RIGHT selection-end-line
shift meta KP_UP selection-begin
shift meta LEFT selection-begin-line
shift meta PAGE_DOWN selection-page-right
shift meta PAGE_UP selection-page-left
shift meta RIGHT selection-end-line
shift meta T previous-link-action
shift meta UP selection-begin
shift DOWN selection-down
shift END selection-end
shift HOME selection-begin
shift KP_DOWN selection-down
shift KP_LEFT selection-backward
shift KP_RIGHT selection-forward
shift KP_UP selection-up
shift LEFT selection-backward
shift PAGE_DOWN selection-page-down
shift PAGE_UP selection-page-up
shift RIGHT selection-forward
shift UP selection-up
#---- TextField ----
TextField.focusInputMap [lazy] 74 javax.swing.plaf.InputMapUIResource [UI]
alt BACK_SPACE delete-previous-word
alt DELETE delete-next-word
alt KP_LEFT caret-previous-word
alt KP_RIGHT caret-next-word
alt LEFT caret-previous-word
alt RIGHT caret-next-word
ctrl A caret-begin-line
ctrl B caret-backward
ctrl D delete-next
ctrl E caret-end-line
ctrl F caret-forward
ctrl H delete-previous
ctrl N caret-end
ctrl P caret-begin
ctrl V caret-end
ctrl W delete-previous-word
meta A select-all
meta BACK_SLASH unselect
meta C copy-to-clipboard
meta DOWN caret-end
meta KP_DOWN caret-end
meta KP_LEFT caret-begin-line
meta KP_RIGHT caret-end-line
meta KP_UP caret-begin
meta LEFT caret-begin-line
meta RIGHT caret-end-line
meta UP caret-begin
meta V paste-from-clipboard
meta X cut-to-clipboard
BACK_SPACE delete-previous
COPY copy-to-clipboard
CUT cut-to-clipboard
DELETE delete-next
DOWN caret-end-line
END caret-end
ENTER notify-field-accept
HOME caret-begin
KP_DOWN caret-end-line
KP_LEFT caret-backward
KP_RIGHT caret-forward
KP_UP caret-begin-line
LEFT caret-backward
PAGE_DOWN aqua-page-down
PAGE_UP aqua-page-up
PASTE paste-from-clipboard
RIGHT caret-forward
UP caret-begin-line
shift alt KP_LEFT selection-previous-word
shift alt KP_RIGHT selection-next-word
shift alt LEFT selection-previous-word
shift alt RIGHT selection-next-word
shift ctrl O toggle-componentOrientation
shift meta DOWN selection-end
shift meta KP_DOWN selection-end
shift meta KP_LEFT selection-begin-line
shift meta KP_RIGHT selection-end-line
shift meta KP_UP selection-begin
shift meta LEFT selection-begin-line
shift meta PAGE_DOWN selection-page-right
shift meta PAGE_UP selection-page-left
shift meta RIGHT selection-end-line
shift meta UP selection-begin
shift DOWN selection-end-line
shift END selection-end
shift HOME selection-begin
shift KP_DOWN selection-end-line
shift KP_LEFT selection-backward
shift KP_RIGHT selection-forward
shift KP_UP selection-begin-line
shift LEFT selection-backward
shift PAGE_DOWN selection-page-down
shift PAGE_UP selection-page-up
shift RIGHT selection-forward
shift UP selection-begin-line
#---- TextPane ----
TextPane.focusInputMap [lazy] 82 javax.swing.plaf.InputMapUIResource [UI]
alt BACK_SPACE delete-previous-word
alt DELETE delete-next-word
alt KP_LEFT caret-previous-word
alt KP_RIGHT caret-next-word
alt LEFT caret-previous-word
alt RIGHT caret-next-word
ctrl A caret-begin-line
ctrl B caret-backward
ctrl D delete-next
ctrl E caret-end-line
ctrl F caret-forward
ctrl H delete-previous
ctrl N caret-down
ctrl P caret-up
ctrl V aqua-page-down
ctrl W delete-previous-word
meta A select-all
meta BACK_SLASH unselect
meta C copy-to-clipboard
meta DOWN caret-end
meta KP_DOWN caret-end
meta KP_LEFT caret-begin-line
meta KP_RIGHT caret-end-line
meta KP_UP caret-begin
meta LEFT caret-begin-line
meta RIGHT caret-end-line
meta SPACE activate-link-action
meta T next-link-action
meta UP caret-begin
meta V paste-from-clipboard
meta X cut-to-clipboard
BACK_SPACE delete-previous
COPY copy-to-clipboard
CUT cut-to-clipboard
DELETE delete-next
DOWN aqua-move-down
END caret-end
ENTER insert-break
HOME caret-begin
KP_DOWN aqua-move-down
KP_LEFT caret-backward
KP_RIGHT caret-forward
KP_UP aqua-move-up
LEFT caret-backward
PAGE_DOWN aqua-page-down
PAGE_UP aqua-page-up
PASTE paste-from-clipboard
RIGHT caret-forward
TAB insert-tab
UP aqua-move-up
shift alt DOWN selection-end-paragraph
shift alt KP_DOWN selection-end-paragraph
shift alt KP_LEFT selection-previous-word
shift alt KP_RIGHT selection-next-word
shift alt KP_UP selection-begin-paragraph
shift alt LEFT selection-previous-word
shift alt RIGHT selection-next-word
shift alt UP selection-begin-paragraph
shift ctrl O toggle-componentOrientation
shift meta DOWN selection-end
shift meta KP_DOWN selection-end
shift meta KP_LEFT selection-begin-line
shift meta KP_RIGHT selection-end-line
shift meta KP_UP selection-begin
shift meta LEFT selection-begin-line
shift meta PAGE_DOWN selection-page-right
shift meta PAGE_UP selection-page-left
shift meta RIGHT selection-end-line
shift meta T previous-link-action
shift meta UP selection-begin
shift DOWN selection-down
shift END selection-end
shift HOME selection-begin
shift KP_DOWN selection-down
shift KP_LEFT selection-backward
shift KP_RIGHT selection-forward
shift KP_UP selection-up
shift LEFT selection-backward
shift PAGE_DOWN selection-page-down
shift PAGE_UP selection-page-up
shift RIGHT selection-forward
shift UP selection-up
#---- ToggleButton ----
ToggleButton.focusInputMap [lazy] 2 javax.swing.plaf.InputMapUIResource [UI]
SPACE pressed
released SPACE released
#---- ToolBar ----
ToolBar.ancestorInputMap [lazy] 8 javax.swing.plaf.InputMapUIResource [UI]
DOWN navigateDown
KP_DOWN navigateDown
KP_LEFT navigateLeft
KP_RIGHT navigateRight
KP_UP navigateUp
LEFT navigateLeft
RIGHT navigateRight
UP navigateUp
#---- Tree ----
Tree.ancestorInputMap [lazy] 1 javax.swing.plaf.InputMapUIResource [UI]
ESCAPE cancel
Tree.focusInputMap.RightToLeft [lazy] 12 javax.swing.plaf.InputMapUIResource [UI]
ctrl KP_LEFT aquaExpandNode
ctrl KP_RIGHT aquaCollapseNode
ctrl LEFT aquaExpandNode
ctrl RIGHT aquaCollapseNode
KP_LEFT aquaExpandNode
KP_RIGHT aquaCollapseNode
LEFT aquaExpandNode
RIGHT aquaCollapseNode
shift KP_LEFT aquaExpandNode
shift KP_RIGHT aquaCollapseNode
shift LEFT aquaExpandNode
shift RIGHT aquaCollapseNode
Tree.focusInputMap [lazy] 31 javax.swing.plaf.InputMapUIResource [UI]
alt KP_LEFT aquaFullyCollapseNode
alt KP_RIGHT aquaFullyExpandNode
alt LEFT aquaFullyCollapseNode
alt RIGHT aquaFullyExpandNode
ctrl KP_LEFT aquaCollapseNode
ctrl KP_RIGHT aquaExpandNode
ctrl LEFT aquaCollapseNode
ctrl RIGHT aquaExpandNode
meta A selectAll
meta C copy
meta V paste
meta X cut
COPY copy
CUT cut
DOWN selectNext
KP_DOWN selectNext
KP_LEFT aquaCollapseNode
KP_RIGHT aquaExpandNode
KP_UP selectPrevious
LEFT aquaCollapseNode
PASTE paste
RIGHT aquaExpandNode
UP selectPrevious
shift DOWN selectNextExtendSelection
shift KP_DOWN selectNextExtendSelection
shift KP_LEFT aquaCollapseNode
shift KP_RIGHT aquaExpandNode
shift KP_UP selectPreviousExtendSelection
shift LEFT aquaCollapseNode
shift RIGHT aquaExpandNode
shift UP selectPreviousExtendSelection

View File

@@ -0,0 +1,950 @@
Class com.apple.laf.AquaLookAndFeel
ID Aqua
Name Mac OS X
Java 13.0.2
OS Mac OS X
#---- Button ----
Button.focusInputMap [lazy] 2 javax.swing.plaf.InputMapUIResource [UI]
SPACE pressed
released SPACE released
#---- CheckBox ----
CheckBox.focusInputMap [lazy] 2 javax.swing.plaf.InputMapUIResource [UI]
SPACE pressed
released SPACE released
#---- ComboBox ----
ComboBox.ancestorInputMap [lazy] 11 javax.swing.plaf.InputMapUIResource [UI]
DOWN aquaSelectNext
END aquaSelectEnd
ENTER enterPressed
ESCAPE aquaHidePopup
HOME aquaSelectHome
KP_DOWN aquaSelectNext
KP_UP aquaSelectPrevious
PAGE_DOWN aquaSelectPageDown
PAGE_UP aquaSelectPageUp
SPACE aquaSpacePressed
UP aquaSelectPrevious
#---- Desktop ----
Desktop.ancestorInputMap [lazy] 29 javax.swing.plaf.InputMapUIResource [UI]
ctrl alt F6 selectNextFrame
ctrl F10 maximize
ctrl F12 navigateNext
ctrl F4 close
ctrl F5 restore
ctrl F6 selectNextFrame
ctrl F7 move
ctrl F8 resize
ctrl F9 minimize
ctrl TAB selectNextFrame
DOWN down
ESCAPE escape
KP_DOWN down
KP_LEFT left
KP_RIGHT right
KP_UP up
LEFT left
RIGHT right
UP up
shift ctrl alt F6 selectPreviousFrame
shift ctrl F12 navigatePrevious
shift DOWN shrinkDown
shift KP_DOWN shrinkDown
shift KP_LEFT shrinkLeft
shift KP_RIGHT shrinkRight
shift KP_UP shrinkUp
shift LEFT shrinkLeft
shift RIGHT shrinkRight
shift UP shrinkUp
#---- EditorPane ----
EditorPane.focusInputMap [lazy] 83 javax.swing.plaf.InputMapUIResource [UI]
alt BACK_SPACE delete-previous-word
alt DELETE delete-next-word
alt KP_LEFT caret-previous-word
alt KP_RIGHT caret-next-word
alt LEFT caret-previous-word
alt RIGHT caret-next-word
ctrl A caret-begin-line
ctrl B caret-backward
ctrl D delete-next
ctrl E caret-end-line
ctrl F caret-forward
ctrl H delete-previous
ctrl N caret-down
ctrl P caret-up
ctrl V aqua-page-down
ctrl W delete-previous-word
meta A select-all
meta BACK_SLASH unselect
meta C copy-to-clipboard
meta DOWN caret-end
meta KP_DOWN caret-end
meta KP_LEFT caret-begin-line
meta KP_RIGHT caret-end-line
meta KP_UP caret-begin
meta LEFT caret-begin-line
meta RIGHT caret-end-line
meta SPACE activate-link-action
meta T next-link-action
meta UP caret-begin
meta V paste-from-clipboard
meta X cut-to-clipboard
BACK_SPACE delete-previous
COPY copy-to-clipboard
CUT cut-to-clipboard
DELETE delete-next
DOWN aqua-move-down
END caret-end
ENTER insert-break
HOME caret-begin
KP_DOWN aqua-move-down
KP_LEFT caret-backward
KP_RIGHT caret-forward
KP_UP aqua-move-up
LEFT caret-backward
PAGE_DOWN aqua-page-down
PAGE_UP aqua-page-up
PASTE paste-from-clipboard
RIGHT caret-forward
TAB insert-tab
UP aqua-move-up
shift alt DOWN selection-end-paragraph
shift alt KP_DOWN selection-end-paragraph
shift alt KP_LEFT selection-previous-word
shift alt KP_RIGHT selection-next-word
shift alt KP_UP selection-begin-paragraph
shift alt LEFT selection-previous-word
shift alt RIGHT selection-next-word
shift alt UP selection-begin-paragraph
shift ctrl O toggle-componentOrientation
shift meta DOWN selection-end
shift meta KP_DOWN selection-end
shift meta KP_LEFT selection-begin-line
shift meta KP_RIGHT selection-end-line
shift meta KP_UP selection-begin
shift meta LEFT selection-begin-line
shift meta PAGE_DOWN selection-page-right
shift meta PAGE_UP selection-page-left
shift meta RIGHT selection-end-line
shift meta T previous-link-action
shift meta UP selection-begin
shift BACK_SPACE delete-previous
shift DOWN selection-down
shift END selection-end
shift HOME selection-begin
shift KP_DOWN selection-down
shift KP_LEFT selection-backward
shift KP_RIGHT selection-forward
shift KP_UP selection-up
shift LEFT selection-backward
shift PAGE_DOWN selection-page-down
shift PAGE_UP selection-page-up
shift RIGHT selection-forward
shift UP selection-up
#---- FileChooser ----
FileChooser.ancestorInputMap [lazy] 2 javax.swing.plaf.InputMapUIResource [UI]
ESCAPE cancelSelection
F5 refresh
#---- FormattedTextField ----
FormattedTextField.focusInputMap [lazy] 76 javax.swing.plaf.InputMapUIResource [UI]
alt BACK_SPACE delete-previous-word
alt DELETE delete-next-word
alt KP_LEFT caret-previous-word
alt KP_RIGHT caret-next-word
alt LEFT caret-previous-word
alt RIGHT caret-next-word
ctrl A caret-begin-line
ctrl B caret-backward
ctrl D delete-next
ctrl E caret-end-line
ctrl F caret-forward
ctrl H delete-previous
ctrl N caret-end
ctrl P caret-begin
ctrl V caret-end
ctrl W delete-previous-word
meta A select-all
meta BACK_SLASH unselect
meta C copy-to-clipboard
meta DOWN caret-end
meta KP_DOWN caret-end
meta KP_LEFT caret-begin-line
meta KP_RIGHT caret-end-line
meta KP_UP caret-begin
meta LEFT caret-begin-line
meta RIGHT caret-end-line
meta UP caret-begin
meta V paste-from-clipboard
meta X cut-to-clipboard
BACK_SPACE delete-previous
COPY copy-to-clipboard
CUT cut-to-clipboard
DELETE delete-next
DOWN decrement
END caret-end
ENTER notify-field-accept
ESCAPE reset-field-edit
HOME caret-begin
KP_DOWN decrement
KP_LEFT caret-backward
KP_RIGHT caret-forward
KP_UP increment
LEFT caret-backward
PAGE_DOWN aqua-page-down
PAGE_UP aqua-page-up
PASTE paste-from-clipboard
RIGHT caret-forward
UP increment
shift alt KP_LEFT selection-previous-word
shift alt KP_RIGHT selection-next-word
shift alt LEFT selection-previous-word
shift alt RIGHT selection-next-word
shift ctrl O toggle-componentOrientation
shift meta DOWN selection-end
shift meta KP_DOWN selection-end
shift meta KP_LEFT selection-begin-line
shift meta KP_RIGHT selection-end-line
shift meta KP_UP selection-begin
shift meta LEFT selection-begin-line
shift meta PAGE_DOWN selection-page-right
shift meta PAGE_UP selection-page-left
shift meta RIGHT selection-end-line
shift meta UP selection-begin
shift BACK_SPACE delete-previous
shift DOWN selection-end-line
shift END selection-end
shift HOME selection-begin
shift KP_DOWN selection-end-line
shift KP_LEFT selection-backward
shift KP_RIGHT selection-forward
shift KP_UP selection-begin-line
shift LEFT selection-backward
shift PAGE_DOWN selection-page-down
shift PAGE_UP selection-page-up
shift RIGHT selection-forward
shift UP selection-begin-line
#---- List ----
List.focusInputMap.RightToLeft [lazy] 16 javax.swing.plaf.InputMapUIResource [UI]
ctrl KP_LEFT selectNextColumnChangeLead
ctrl KP_RIGHT selectPreviousColumnChangeLead
ctrl LEFT selectNextColumnChangeLead
ctrl RIGHT selectPreviousColumnChangeLead
KP_LEFT selectNextColumn
KP_RIGHT selectPreviousColumn
LEFT selectNextColumn
RIGHT selectPreviousColumn
shift ctrl KP_LEFT selectNextColumnExtendSelection
shift ctrl KP_RIGHT selectPreviousColumnExtendSelection
shift ctrl LEFT selectNextColumnExtendSelection
shift ctrl RIGHT selectPreviousColumnExtendSelection
shift KP_LEFT selectNextColumnExtendSelection
shift KP_RIGHT selectPreviousColumnExtendSelection
shift LEFT selectNextColumnExtendSelection
shift RIGHT selectPreviousColumnExtendSelection
List.focusInputMap [lazy] 29 javax.swing.plaf.InputMapUIResource [UI]
meta A selectAll
meta C copy
meta V paste
meta X cut
COPY copy
CUT cut
DOWN selectNextRow
END aquaEnd
HOME aquaHome
KP_DOWN selectNextRow
KP_LEFT selectPreviousColumn
KP_RIGHT selectNextColumn
KP_UP selectPreviousRow
LEFT selectPreviousColumn
PASTE paste
RIGHT selectNextColumn
UP selectPreviousRow
shift DOWN selectNextRowExtendSelection
shift END selectLastRowExtendSelection
shift HOME selectFirstRowExtendSelection
shift KP_DOWN selectNextRowExtendSelection
shift KP_LEFT selectPreviousColumnExtendSelection
shift KP_RIGHT selectNextColumnExtendSelection
shift KP_UP selectPreviousRowExtendSelection
shift LEFT selectPreviousColumnExtendSelection
shift PAGE_DOWN scrollDownExtendSelection
shift PAGE_UP scrollUpExtendSelection
shift RIGHT selectNextColumnExtendSelection
shift UP selectPreviousRowExtendSelection
#---- PasswordField ----
PasswordField.focusInputMap [lazy] 67 javax.swing.plaf.InputMapUIResource [UI]
alt BACK_SPACE delete-previous-word
alt DELETE delete-next-word
ctrl A caret-begin-line
ctrl B caret-backward
ctrl D delete-next
ctrl E caret-end-line
ctrl F caret-forward
ctrl H delete-previous
ctrl N caret-end
ctrl P caret-begin
ctrl V caret-end
ctrl W delete-previous-word
meta A select-all
meta BACK_SLASH unselect
meta C copy-to-clipboard
meta DOWN caret-end
meta KP_DOWN caret-end
meta KP_LEFT caret-begin-line
meta KP_RIGHT caret-end-line
meta KP_UP caret-begin
meta LEFT caret-begin-line
meta RIGHT caret-end-line
meta UP caret-begin
meta V paste-from-clipboard
meta X cut-to-clipboard
BACK_SPACE delete-previous
COPY copy-to-clipboard
CUT cut-to-clipboard
DELETE delete-next
DOWN caret-end-line
END caret-end
ENTER notify-field-accept
HOME caret-begin
KP_DOWN caret-end-line
KP_LEFT caret-backward
KP_RIGHT caret-forward
KP_UP caret-begin-line
LEFT caret-backward
PAGE_DOWN aqua-page-down
PAGE_UP aqua-page-up
PASTE paste-from-clipboard
RIGHT caret-forward
UP caret-begin-line
shift ctrl O toggle-componentOrientation
shift meta DOWN selection-end
shift meta KP_DOWN selection-end
shift meta KP_LEFT selection-begin-line
shift meta KP_RIGHT selection-end-line
shift meta KP_UP selection-begin
shift meta LEFT selection-begin-line
shift meta PAGE_DOWN selection-page-right
shift meta PAGE_UP selection-page-left
shift meta RIGHT selection-end-line
shift meta UP selection-begin
shift BACK_SPACE delete-previous
shift DOWN selection-end-line
shift END selection-end
shift HOME selection-begin
shift KP_DOWN selection-end-line
shift KP_LEFT selection-backward
shift KP_RIGHT selection-forward
shift KP_UP selection-begin-line
shift LEFT selection-backward
shift PAGE_DOWN selection-page-down
shift PAGE_UP selection-page-up
shift RIGHT selection-forward
shift UP selection-begin-line
#---- PopupMenu ----
PopupMenu.selectedWindowInputMapBindings.RightToLeft length=8 [Ljava.lang.Object;
[0] LEFT
[1] selectChild
[2] KP_LEFT
[3] selectChild
[4] RIGHT
[5] selectParent
[6] KP_RIGHT
[7] selectParent
PopupMenu.selectedWindowInputMapBindings length=24 [Ljava.lang.Object;
[0] ESCAPE
[1] cancel
[2] DOWN
[3] selectNext
[4] KP_DOWN
[5] selectNext
[6] UP
[7] selectPrevious
[8] KP_UP
[9] selectPrevious
[10] LEFT
[11] selectParent
[12] KP_LEFT
[13] selectParent
[14] RIGHT
[15] selectChild
[16] KP_RIGHT
[17] selectChild
[18] ENTER
[19] return
[20] ctrl ENTER
[21] return
[22] SPACE
[23] return
#---- RadioButton ----
RadioButton.focusInputMap [lazy] 2 javax.swing.plaf.InputMapUIResource [UI]
SPACE pressed
released SPACE released
#---- RootPane ----
RootPane.ancestorInputMap [lazy] 2 javax.swing.plaf.InputMapUIResource [UI]
CONTEXT_MENU postPopup
shift F10 postPopup
#---- ScrollBar ----
ScrollBar.ancestorInputMap.RightToLeft [lazy] 4 javax.swing.plaf.InputMapUIResource [UI]
KP_LEFT positiveUnitIncrement
KP_RIGHT negativeUnitIncrement
LEFT positiveUnitIncrement
RIGHT negativeUnitIncrement
ScrollBar.ancestorInputMap [lazy] 12 javax.swing.plaf.InputMapUIResource [UI]
DOWN positiveUnitIncrement
END maxScroll
HOME minScroll
KP_DOWN positiveUnitIncrement
KP_LEFT negativeUnitIncrement
KP_RIGHT positiveUnitIncrement
KP_UP negativeUnitIncrement
LEFT negativeUnitIncrement
PAGE_DOWN positiveBlockIncrement
PAGE_UP negativeBlockIncrement
RIGHT positiveUnitIncrement
UP negativeUnitIncrement
ScrollBar.focusInputMap.RightToLeft [lazy] 4 javax.swing.plaf.InputMapUIResource [UI]
KP_LEFT positiveUnitIncrement
KP_RIGHT negativeUnitIncrement
LEFT positiveUnitIncrement
RIGHT negativeUnitIncrement
ScrollBar.focusInputMap [lazy] 12 javax.swing.plaf.InputMapUIResource [UI]
DOWN positiveUnitIncrement
END maxScroll
HOME minScroll
KP_DOWN positiveUnitIncrement
KP_LEFT negativeUnitIncrement
KP_RIGHT positiveUnitIncrement
KP_UP negativeUnitIncrement
LEFT negativeUnitIncrement
PAGE_DOWN positiveBlockIncrement
PAGE_UP negativeBlockIncrement
RIGHT positiveUnitIncrement
UP negativeUnitIncrement
#---- ScrollPane ----
ScrollPane.ancestorInputMap.RightToLeft [lazy] 0 javax.swing.plaf.InputMapUIResource [UI]
ScrollPane.ancestorInputMap [lazy] 12 javax.swing.plaf.InputMapUIResource [UI]
DOWN unitScrollDown
END scrollEnd
HOME scrollHome
KP_DOWN unitScrollDown
KP_LEFT unitScrollLeft
KP_RIGHT unitScrollRight
KP_UP unitScrollUp
LEFT unitScrollLeft
PAGE_DOWN scrollDown
PAGE_UP scrollUp
RIGHT unitScrollRight
UP unitScrollUp
#---- Slider ----
Slider.focusInputMap.RightToLeft [lazy] 4 javax.swing.plaf.InputMapUIResource [UI]
KP_LEFT positiveUnitIncrement
KP_RIGHT negativeUnitIncrement
LEFT positiveUnitIncrement
RIGHT negativeUnitIncrement
Slider.focusInputMap [lazy] 12 javax.swing.plaf.InputMapUIResource [UI]
DOWN negativeUnitIncrement
END maxScroll
HOME minScroll
KP_DOWN negativeUnitIncrement
KP_LEFT negativeUnitIncrement
KP_RIGHT positiveUnitIncrement
KP_UP positiveUnitIncrement
LEFT negativeUnitIncrement
PAGE_DOWN negativeBlockIncrement
PAGE_UP positiveBlockIncrement
RIGHT positiveUnitIncrement
UP positiveUnitIncrement
#---- Spinner ----
Spinner.ancestorInputMap [lazy] 4 javax.swing.plaf.InputMapUIResource [UI]
DOWN decrement
KP_DOWN decrement
KP_UP increment
UP increment
#---- SplitPane ----
SplitPane.ancestorInputMap [lazy] 14 javax.swing.plaf.InputMapUIResource [UI]
ctrl TAB focusOutForward
DOWN positiveIncrement
END selectMax
F6 toggleFocus
F8 startResize
HOME selectMin
KP_DOWN positiveIncrement
KP_LEFT negativeIncrement
KP_RIGHT positiveIncrement
KP_UP negativeIncrement
LEFT negativeIncrement
RIGHT positiveIncrement
UP negativeIncrement
shift ctrl TAB focusOutBackward
#---- TabbedPane ----
TabbedPane.ancestorInputMap [lazy] 4 javax.swing.plaf.InputMapUIResource [UI]
ctrl KP_UP requestFocus
ctrl PAGE_DOWN navigatePageDown
ctrl PAGE_UP navigatePageUp
ctrl UP requestFocus
TabbedPane.focusInputMap [lazy] 10 javax.swing.plaf.InputMapUIResource [UI]
ctrl DOWN requestFocusForVisibleComponent
ctrl KP_DOWN requestFocusForVisibleComponent
DOWN navigateDown
KP_DOWN navigateDown
KP_LEFT navigateLeft
KP_RIGHT navigateRight
KP_UP navigateUp
LEFT navigateLeft
RIGHT navigateRight
UP navigateUp
#---- Table ----
Table.ancestorInputMap.RightToLeft [lazy] 12 javax.swing.plaf.InputMapUIResource [UI]
ctrl PAGE_DOWN scrollLeftChangeSelection
ctrl PAGE_UP scrollRightChangeSelection
KP_LEFT selectNextColumn
KP_RIGHT selectPreviousColumn
LEFT selectNextColumn
RIGHT selectPreviousColumn
shift ctrl PAGE_DOWN scrollLeftExtendSelection
shift ctrl PAGE_UP scrollRightExtendSelection
shift KP_LEFT selectNextColumnExtendSelection
shift KP_RIGHT selectPreviousColumnExtendSelection
shift LEFT selectNextColumnExtendSelection
shift RIGHT selectPreviousColumnExtendSelection
Table.ancestorInputMap [lazy] 38 javax.swing.plaf.InputMapUIResource [UI]
alt TAB focusHeader
meta A selectAll
meta C copy
meta V paste
meta X cut
COPY copy
CUT cut
DOWN selectNextRow
END selectLastColumn
ENTER selectNextRowCell
ESCAPE cancel
HOME selectFirstColumn
KP_DOWN selectNextRow
KP_LEFT selectPreviousColumn
KP_RIGHT selectNextColumn
KP_UP selectPreviousRow
LEFT selectPreviousColumn
PAGE_DOWN scrollDownChangeSelection
PAGE_UP scrollUpChangeSelection
PASTE paste
RIGHT selectNextColumn
TAB selectNextColumnCell
UP selectPreviousRow
shift alt TAB focusHeader
shift DOWN selectNextRowExtendSelection
shift END selectLastColumnExtendSelection
shift ENTER selectPreviousRowCell
shift HOME selectFirstColumnExtendSelection
shift KP_DOWN selectNextRowExtendSelection
shift KP_LEFT selectPreviousColumnExtendSelection
shift KP_RIGHT selectNextColumnExtendSelection
shift KP_UP selectPreviousRowExtendSelection
shift LEFT selectPreviousColumnExtendSelection
shift PAGE_DOWN scrollDownExtendSelection
shift PAGE_UP scrollUpExtendSelection
shift RIGHT selectNextColumnExtendSelection
shift TAB selectPreviousColumnCell
shift UP selectPreviousRowExtendSelection
#---- TableHeader ----
TableHeader.ancestorInputMap [lazy] 14 javax.swing.plaf.InputMapUIResource [UI]
alt KP_LEFT moveColumnLeft
alt KP_RIGHT moveColumnRight
alt LEFT moveColumnLeft
alt RIGHT moveColumnRight
ESCAPE focusTable
KP_LEFT selectColumnToLeft
KP_RIGHT selectColumnToRight
LEFT selectColumnToLeft
RIGHT selectColumnToRight
SPACE toggleSortOrder
shift alt KP_LEFT resizeLeft
shift alt KP_RIGHT resizeRight
shift alt LEFT resizeLeft
shift alt RIGHT resizeRight
#---- TextArea ----
TextArea.focusInputMap [lazy] 83 javax.swing.plaf.InputMapUIResource [UI]
alt BACK_SPACE delete-previous-word
alt DELETE delete-next-word
alt KP_LEFT caret-previous-word
alt KP_RIGHT caret-next-word
alt LEFT caret-previous-word
alt RIGHT caret-next-word
ctrl A caret-begin-line
ctrl B caret-backward
ctrl D delete-next
ctrl E caret-end-line
ctrl F caret-forward
ctrl H delete-previous
ctrl N caret-down
ctrl P caret-up
ctrl V aqua-page-down
ctrl W delete-previous-word
meta A select-all
meta BACK_SLASH unselect
meta C copy-to-clipboard
meta DOWN caret-end
meta KP_DOWN caret-end
meta KP_LEFT caret-begin-line
meta KP_RIGHT caret-end-line
meta KP_UP caret-begin
meta LEFT caret-begin-line
meta RIGHT caret-end-line
meta SPACE activate-link-action
meta T next-link-action
meta UP caret-begin
meta V paste-from-clipboard
meta X cut-to-clipboard
BACK_SPACE delete-previous
COPY copy-to-clipboard
CUT cut-to-clipboard
DELETE delete-next
DOWN aqua-move-down
END caret-end
ENTER insert-break
HOME caret-begin
KP_DOWN aqua-move-down
KP_LEFT caret-backward
KP_RIGHT caret-forward
KP_UP aqua-move-up
LEFT caret-backward
PAGE_DOWN aqua-page-down
PAGE_UP aqua-page-up
PASTE paste-from-clipboard
RIGHT caret-forward
TAB insert-tab
UP aqua-move-up
shift alt DOWN selection-end-paragraph
shift alt KP_DOWN selection-end-paragraph
shift alt KP_LEFT selection-previous-word
shift alt KP_RIGHT selection-next-word
shift alt KP_UP selection-begin-paragraph
shift alt LEFT selection-previous-word
shift alt RIGHT selection-next-word
shift alt UP selection-begin-paragraph
shift ctrl O toggle-componentOrientation
shift meta DOWN selection-end
shift meta KP_DOWN selection-end
shift meta KP_LEFT selection-begin-line
shift meta KP_RIGHT selection-end-line
shift meta KP_UP selection-begin
shift meta LEFT selection-begin-line
shift meta PAGE_DOWN selection-page-right
shift meta PAGE_UP selection-page-left
shift meta RIGHT selection-end-line
shift meta T previous-link-action
shift meta UP selection-begin
shift BACK_SPACE delete-previous
shift DOWN selection-down
shift END selection-end
shift HOME selection-begin
shift KP_DOWN selection-down
shift KP_LEFT selection-backward
shift KP_RIGHT selection-forward
shift KP_UP selection-up
shift LEFT selection-backward
shift PAGE_DOWN selection-page-down
shift PAGE_UP selection-page-up
shift RIGHT selection-forward
shift UP selection-up
#---- TextField ----
TextField.focusInputMap [lazy] 75 javax.swing.plaf.InputMapUIResource [UI]
alt BACK_SPACE delete-previous-word
alt DELETE delete-next-word
alt KP_LEFT caret-previous-word
alt KP_RIGHT caret-next-word
alt LEFT caret-previous-word
alt RIGHT caret-next-word
ctrl A caret-begin-line
ctrl B caret-backward
ctrl D delete-next
ctrl E caret-end-line
ctrl F caret-forward
ctrl H delete-previous
ctrl N caret-end
ctrl P caret-begin
ctrl V caret-end
ctrl W delete-previous-word
meta A select-all
meta BACK_SLASH unselect
meta C copy-to-clipboard
meta DOWN caret-end
meta KP_DOWN caret-end
meta KP_LEFT caret-begin-line
meta KP_RIGHT caret-end-line
meta KP_UP caret-begin
meta LEFT caret-begin-line
meta RIGHT caret-end-line
meta UP caret-begin
meta V paste-from-clipboard
meta X cut-to-clipboard
BACK_SPACE delete-previous
COPY copy-to-clipboard
CUT cut-to-clipboard
DELETE delete-next
DOWN caret-end-line
END caret-end
ENTER notify-field-accept
HOME caret-begin
KP_DOWN caret-end-line
KP_LEFT caret-backward
KP_RIGHT caret-forward
KP_UP caret-begin-line
LEFT caret-backward
PAGE_DOWN aqua-page-down
PAGE_UP aqua-page-up
PASTE paste-from-clipboard
RIGHT caret-forward
UP caret-begin-line
shift alt KP_LEFT selection-previous-word
shift alt KP_RIGHT selection-next-word
shift alt LEFT selection-previous-word
shift alt RIGHT selection-next-word
shift ctrl O toggle-componentOrientation
shift meta DOWN selection-end
shift meta KP_DOWN selection-end
shift meta KP_LEFT selection-begin-line
shift meta KP_RIGHT selection-end-line
shift meta KP_UP selection-begin
shift meta LEFT selection-begin-line
shift meta PAGE_DOWN selection-page-right
shift meta PAGE_UP selection-page-left
shift meta RIGHT selection-end-line
shift meta UP selection-begin
shift BACK_SPACE delete-previous
shift DOWN selection-end-line
shift END selection-end
shift HOME selection-begin
shift KP_DOWN selection-end-line
shift KP_LEFT selection-backward
shift KP_RIGHT selection-forward
shift KP_UP selection-begin-line
shift LEFT selection-backward
shift PAGE_DOWN selection-page-down
shift PAGE_UP selection-page-up
shift RIGHT selection-forward
shift UP selection-begin-line
#---- TextPane ----
TextPane.focusInputMap [lazy] 83 javax.swing.plaf.InputMapUIResource [UI]
alt BACK_SPACE delete-previous-word
alt DELETE delete-next-word
alt KP_LEFT caret-previous-word
alt KP_RIGHT caret-next-word
alt LEFT caret-previous-word
alt RIGHT caret-next-word
ctrl A caret-begin-line
ctrl B caret-backward
ctrl D delete-next
ctrl E caret-end-line
ctrl F caret-forward
ctrl H delete-previous
ctrl N caret-down
ctrl P caret-up
ctrl V aqua-page-down
ctrl W delete-previous-word
meta A select-all
meta BACK_SLASH unselect
meta C copy-to-clipboard
meta DOWN caret-end
meta KP_DOWN caret-end
meta KP_LEFT caret-begin-line
meta KP_RIGHT caret-end-line
meta KP_UP caret-begin
meta LEFT caret-begin-line
meta RIGHT caret-end-line
meta SPACE activate-link-action
meta T next-link-action
meta UP caret-begin
meta V paste-from-clipboard
meta X cut-to-clipboard
BACK_SPACE delete-previous
COPY copy-to-clipboard
CUT cut-to-clipboard
DELETE delete-next
DOWN aqua-move-down
END caret-end
ENTER insert-break
HOME caret-begin
KP_DOWN aqua-move-down
KP_LEFT caret-backward
KP_RIGHT caret-forward
KP_UP aqua-move-up
LEFT caret-backward
PAGE_DOWN aqua-page-down
PAGE_UP aqua-page-up
PASTE paste-from-clipboard
RIGHT caret-forward
TAB insert-tab
UP aqua-move-up
shift alt DOWN selection-end-paragraph
shift alt KP_DOWN selection-end-paragraph
shift alt KP_LEFT selection-previous-word
shift alt KP_RIGHT selection-next-word
shift alt KP_UP selection-begin-paragraph
shift alt LEFT selection-previous-word
shift alt RIGHT selection-next-word
shift alt UP selection-begin-paragraph
shift ctrl O toggle-componentOrientation
shift meta DOWN selection-end
shift meta KP_DOWN selection-end
shift meta KP_LEFT selection-begin-line
shift meta KP_RIGHT selection-end-line
shift meta KP_UP selection-begin
shift meta LEFT selection-begin-line
shift meta PAGE_DOWN selection-page-right
shift meta PAGE_UP selection-page-left
shift meta RIGHT selection-end-line
shift meta T previous-link-action
shift meta UP selection-begin
shift BACK_SPACE delete-previous
shift DOWN selection-down
shift END selection-end
shift HOME selection-begin
shift KP_DOWN selection-down
shift KP_LEFT selection-backward
shift KP_RIGHT selection-forward
shift KP_UP selection-up
shift LEFT selection-backward
shift PAGE_DOWN selection-page-down
shift PAGE_UP selection-page-up
shift RIGHT selection-forward
shift UP selection-up
#---- ToggleButton ----
ToggleButton.focusInputMap [lazy] 2 javax.swing.plaf.InputMapUIResource [UI]
SPACE pressed
released SPACE released
#---- ToolBar ----
ToolBar.ancestorInputMap [lazy] 8 javax.swing.plaf.InputMapUIResource [UI]
DOWN navigateDown
KP_DOWN navigateDown
KP_LEFT navigateLeft
KP_RIGHT navigateRight
KP_UP navigateUp
LEFT navigateLeft
RIGHT navigateRight
UP navigateUp
#---- Tree ----
Tree.ancestorInputMap [lazy] 1 javax.swing.plaf.InputMapUIResource [UI]
ESCAPE cancel
Tree.focusInputMap.RightToLeft [lazy] 12 javax.swing.plaf.InputMapUIResource [UI]
ctrl KP_LEFT aquaExpandNode
ctrl KP_RIGHT aquaCollapseNode
ctrl LEFT aquaExpandNode
ctrl RIGHT aquaCollapseNode
KP_LEFT aquaExpandNode
KP_RIGHT aquaCollapseNode
LEFT aquaExpandNode
RIGHT aquaCollapseNode
shift KP_LEFT aquaExpandNode
shift KP_RIGHT aquaCollapseNode
shift LEFT aquaExpandNode
shift RIGHT aquaCollapseNode
Tree.focusInputMap [lazy] 31 javax.swing.plaf.InputMapUIResource [UI]
alt KP_LEFT aquaFullyCollapseNode
alt KP_RIGHT aquaFullyExpandNode
alt LEFT aquaFullyCollapseNode
alt RIGHT aquaFullyExpandNode
ctrl KP_LEFT aquaCollapseNode
ctrl KP_RIGHT aquaExpandNode
ctrl LEFT aquaCollapseNode
ctrl RIGHT aquaExpandNode
meta A selectAll
meta C copy
meta V paste
meta X cut
COPY copy
CUT cut
DOWN selectNext
KP_DOWN selectNext
KP_LEFT aquaCollapseNode
KP_RIGHT aquaExpandNode
KP_UP selectPrevious
LEFT aquaCollapseNode
PASTE paste
RIGHT aquaExpandNode
UP selectPrevious
shift DOWN selectNextExtendSelection
shift KP_DOWN selectNextExtendSelection
shift KP_LEFT aquaCollapseNode
shift KP_RIGHT aquaExpandNode
shift KP_UP selectPreviousExtendSelection
shift LEFT aquaCollapseNode
shift RIGHT aquaExpandNode
shift UP selectPreviousExtendSelection

View File

@@ -47,11 +47,6 @@ Button.border [lazy] javax.swing.plaf.BorderUIResource$Compound
0,0,0,0 false javax.swing.plaf.basic.BasicBorders$MarginBorder [UI] 0,0,0,0 false javax.swing.plaf.basic.BasicBorders$MarginBorder [UI]
Button.darkShadow #000000 javax.swing.plaf.ColorUIResource [UI] Button.darkShadow #000000 javax.swing.plaf.ColorUIResource [UI]
Button.defaultButtonFollowsFocus true Button.defaultButtonFollowsFocus true
Button.focusInputMap [lazy] 4 javax.swing.plaf.InputMapUIResource [UI]
pressed ENTER pressed
pressed SPACE pressed
released ENTER released
released SPACE released
Button.font [lazy] Dialog plain 12 javax.swing.plaf.FontUIResource [UI] Button.font [lazy] Dialog plain 12 javax.swing.plaf.FontUIResource [UI]
Button.foreground #000000 javax.swing.plaf.ColorUIResource [UI] Button.foreground #000000 javax.swing.plaf.ColorUIResource [UI]
Button.highlight #ffffff javax.swing.plaf.ColorUIResource [UI] Button.highlight #ffffff javax.swing.plaf.ColorUIResource [UI]
@@ -69,9 +64,6 @@ CheckBox.background #c0c0c0 javax.swing.plaf.ColorUIResource [UI]
CheckBox.border [lazy] javax.swing.plaf.BorderUIResource$CompoundBorderUIResource [UI] CheckBox.border [lazy] javax.swing.plaf.BorderUIResource$CompoundBorderUIResource [UI]
2,2,2,2 false javax.swing.plaf.basic.BasicBorders$RadioButtonBorder [UI] 2,2,2,2 false javax.swing.plaf.basic.BasicBorders$RadioButtonBorder [UI]
0,0,0,0 false javax.swing.plaf.basic.BasicBorders$MarginBorder [UI] 0,0,0,0 false javax.swing.plaf.basic.BasicBorders$MarginBorder [UI]
CheckBox.focusInputMap [lazy] 2 javax.swing.plaf.InputMapUIResource [UI]
pressed SPACE pressed
released SPACE released
CheckBox.font [lazy] Dialog plain 12 javax.swing.plaf.FontUIResource [UI] CheckBox.font [lazy] Dialog plain 12 javax.swing.plaf.FontUIResource [UI]
CheckBox.foreground #000000 javax.swing.plaf.ColorUIResource [UI] CheckBox.foreground #000000 javax.swing.plaf.ColorUIResource [UI]
CheckBox.icon [lazy] 13,13 javax.swing.plaf.basic.BasicIconFactory$CheckBoxIcon CheckBox.icon [lazy] 13,13 javax.swing.plaf.basic.BasicIconFactory$CheckBoxIcon
@@ -116,13 +108,6 @@ ColorChooserUI javax.swing.plaf.basic.BasicColorChooserUI
#---- ComboBox ---- #---- ComboBox ----
ComboBox.ancestorInputMap [lazy] 6 javax.swing.plaf.InputMapUIResource [UI]
pressed END endPassThrough
pressed ENTER enterPressed
pressed ESCAPE hidePopup
pressed HOME homePassThrough
pressed PAGE_DOWN pageDownPassThrough
pressed PAGE_UP pageUpPassThrough
ComboBox.background #ffffff javax.swing.plaf.ColorUIResource [UI] ComboBox.background #ffffff javax.swing.plaf.ColorUIResource [UI]
ComboBox.buttonBackground #c0c0c0 javax.swing.plaf.ColorUIResource [UI] ComboBox.buttonBackground #c0c0c0 javax.swing.plaf.ColorUIResource [UI]
ComboBox.buttonDarkShadow #000000 javax.swing.plaf.ColorUIResource [UI] ComboBox.buttonDarkShadow #000000 javax.swing.plaf.ColorUIResource [UI]
@@ -142,36 +127,6 @@ ComboBoxUI javax.swing.plaf.basic.BasicComboBoxUI
#---- Desktop ---- #---- Desktop ----
Desktop.ancestorInputMap [lazy] 29 javax.swing.plaf.InputMapUIResource [UI]
ctrl alt pressed F6 selectNextFrame
ctrl pressed F10 maximize
ctrl pressed F12 navigateNext
ctrl pressed F4 close
ctrl pressed F5 restore
ctrl pressed F6 selectNextFrame
ctrl pressed F7 move
ctrl pressed F8 resize
ctrl pressed F9 minimize
ctrl pressed TAB selectNextFrame
pressed DOWN down
pressed ESCAPE escape
pressed KP_DOWN down
pressed KP_LEFT left
pressed KP_RIGHT right
pressed KP_UP up
pressed LEFT left
pressed RIGHT right
pressed UP up
shift ctrl alt pressed F6 selectPreviousFrame
shift ctrl pressed F12 navigatePrevious
shift pressed DOWN shrinkDown
shift pressed KP_DOWN shrinkDown
shift pressed KP_LEFT shrinkLeft
shift pressed KP_RIGHT shrinkRight
shift pressed KP_UP shrinkUp
shift pressed LEFT shrinkLeft
shift pressed RIGHT shrinkRight
shift pressed UP shrinkUp
Desktop.background #005c5c javax.swing.plaf.ColorUIResource [UI] Desktop.background #005c5c javax.swing.plaf.ColorUIResource [UI]
Desktop.minOnScreenInsets 3,3,3,3 javax.swing.plaf.InsetsUIResource [UI] Desktop.minOnScreenInsets 3,3,3,3 javax.swing.plaf.InsetsUIResource [UI]
@@ -206,9 +161,6 @@ EditorPaneUI javax.swing.plaf.basic.BasicEditorPaneUI
#---- FileChooser ---- #---- FileChooser ----
FileChooser.ancestorInputMap [lazy] 2 javax.swing.plaf.InputMapUIResource [UI]
pressed ESCAPE cancelSelection
pressed F5 refresh
FileChooser.detailsViewIcon [lazy] null FileChooser.detailsViewIcon [lazy] null
FileChooser.homeFolderIcon [lazy] null FileChooser.homeFolderIcon [lazy] null
FileChooser.listViewIcon [lazy] null FileChooser.listViewIcon [lazy] null
@@ -235,51 +187,6 @@ FormattedTextField.background #ffffff javax.swing.plaf.ColorUIResource [UI]
FormattedTextField.border [lazy] 2,2,2,2 false javax.swing.plaf.basic.BasicBorders$FieldBorder [UI] FormattedTextField.border [lazy] 2,2,2,2 false javax.swing.plaf.basic.BasicBorders$FieldBorder [UI]
FormattedTextField.caretBlinkRate 500 FormattedTextField.caretBlinkRate 500
FormattedTextField.caretForeground #000000 javax.swing.plaf.ColorUIResource [UI] FormattedTextField.caretForeground #000000 javax.swing.plaf.ColorUIResource [UI]
FormattedTextField.focusInputMap [lazy] 44 javax.swing.plaf.InputMapUIResource [UI]
ctrl pressed A select-all
ctrl pressed BACK_SLASH unselect
ctrl pressed BACK_SPACE delete-previous-word
ctrl pressed C copy-to-clipboard
ctrl pressed DELETE delete-next-word
ctrl pressed H delete-previous
ctrl pressed INSERT copy-to-clipboard
ctrl pressed KP_LEFT caret-previous-word
ctrl pressed KP_RIGHT caret-next-word
ctrl pressed LEFT caret-previous-word
ctrl pressed RIGHT caret-next-word
ctrl pressed V paste-from-clipboard
ctrl pressed X cut-to-clipboard
pressed BACK_SPACE delete-previous
pressed COPY copy-to-clipboard
pressed CUT cut-to-clipboard
pressed DELETE delete-next
pressed DOWN decrement
pressed END caret-end-line
pressed ENTER notify-field-accept
pressed ESCAPE reset-field-edit
pressed HOME caret-begin-line
pressed KP_DOWN decrement
pressed KP_LEFT caret-backward
pressed KP_RIGHT caret-forward
pressed KP_UP increment
pressed LEFT caret-backward
pressed PASTE paste-from-clipboard
pressed RIGHT caret-forward
pressed UP increment
shift ctrl pressed KP_LEFT selection-previous-word
shift ctrl pressed KP_RIGHT selection-next-word
shift ctrl pressed LEFT selection-previous-word
shift ctrl pressed O toggle-componentOrientation
shift ctrl pressed RIGHT selection-next-word
shift pressed BACK_SPACE delete-previous
shift pressed DELETE cut-to-clipboard
shift pressed END selection-end-line
shift pressed HOME selection-begin-line
shift pressed INSERT paste-from-clipboard
shift pressed KP_LEFT selection-backward
shift pressed KP_RIGHT selection-forward
shift pressed LEFT selection-backward
shift pressed RIGHT selection-forward
FormattedTextField.font [lazy] SansSerif plain 12 javax.swing.plaf.FontUIResource [UI] FormattedTextField.font [lazy] SansSerif plain 12 javax.swing.plaf.FontUIResource [UI]
FormattedTextField.foreground #000000 javax.swing.plaf.ColorUIResource [UI] FormattedTextField.foreground #000000 javax.swing.plaf.ColorUIResource [UI]
FormattedTextField.inactiveBackground #c0c0c0 javax.swing.plaf.ColorUIResource [UI] FormattedTextField.inactiveBackground #c0c0c0 javax.swing.plaf.ColorUIResource [UI]
@@ -347,88 +254,6 @@ List.background #ffffff javax.swing.plaf.ColorUIResource [UI]
List.cellRenderer [active] javax.swing.DefaultListCellRenderer$UIResource [UI] List.cellRenderer [active] javax.swing.DefaultListCellRenderer$UIResource [UI]
List.dropLineColor #808080 javax.swing.plaf.ColorUIResource [UI] List.dropLineColor #808080 javax.swing.plaf.ColorUIResource [UI]
List.focusCellHighlightBorder [lazy] line: #ffff00 javax.swing.plaf.ColorUIResource [UI] 1 false 1,1,1,1 true javax.swing.plaf.BorderUIResource$LineBorderUIResource [UI] List.focusCellHighlightBorder [lazy] line: #ffff00 javax.swing.plaf.ColorUIResource [UI] 1 false 1,1,1,1 true javax.swing.plaf.BorderUIResource$LineBorderUIResource [UI]
List.focusInputMap.RightToLeft [lazy] 16 javax.swing.plaf.InputMapUIResource [UI]
ctrl pressed KP_LEFT selectNextColumnChangeLead
ctrl pressed KP_RIGHT selectPreviousColumnChangeLead
ctrl pressed LEFT selectNextColumnChangeLead
ctrl pressed RIGHT selectPreviousColumnChangeLead
pressed KP_LEFT selectNextColumn
pressed KP_RIGHT selectPreviousColumn
pressed LEFT selectNextColumn
pressed RIGHT selectPreviousColumn
shift ctrl pressed KP_LEFT selectNextColumnExtendSelection
shift ctrl pressed KP_RIGHT selectPreviousColumnExtendSelection
shift ctrl pressed LEFT selectNextColumnExtendSelection
shift ctrl pressed RIGHT selectPreviousColumnExtendSelection
shift pressed KP_LEFT selectNextColumnExtendSelection
shift pressed KP_RIGHT selectPreviousColumnExtendSelection
shift pressed LEFT selectNextColumnExtendSelection
shift pressed RIGHT selectPreviousColumnExtendSelection
List.focusInputMap [lazy] 64 javax.swing.plaf.InputMapUIResource [UI]
ctrl pressed A selectAll
ctrl pressed BACK_SLASH clearSelection
ctrl pressed C copy
ctrl pressed DOWN selectNextRowChangeLead
ctrl pressed END selectLastRowChangeLead
ctrl pressed HOME selectFirstRowChangeLead
ctrl pressed INSERT copy
ctrl pressed KP_DOWN selectNextRowChangeLead
ctrl pressed KP_LEFT selectPreviousColumnChangeLead
ctrl pressed KP_RIGHT selectNextColumnChangeLead
ctrl pressed KP_UP selectPreviousRowChangeLead
ctrl pressed LEFT selectPreviousColumnChangeLead
ctrl pressed PAGE_DOWN scrollDownChangeLead
ctrl pressed PAGE_UP scrollUpChangeLead
ctrl pressed RIGHT selectNextColumnChangeLead
ctrl pressed SLASH selectAll
ctrl pressed SPACE toggleAndAnchor
ctrl pressed UP selectPreviousRowChangeLead
ctrl pressed V paste
ctrl pressed X cut
pressed COPY copy
pressed CUT cut
pressed DOWN selectNextRow
pressed END selectLastRow
pressed HOME selectFirstRow
pressed KP_DOWN selectNextRow
pressed KP_LEFT selectPreviousColumn
pressed KP_RIGHT selectNextColumn
pressed KP_UP selectPreviousRow
pressed LEFT selectPreviousColumn
pressed PAGE_DOWN scrollDown
pressed PAGE_UP scrollUp
pressed PASTE paste
pressed RIGHT selectNextColumn
pressed SPACE addToSelection
pressed UP selectPreviousRow
shift ctrl pressed DOWN selectNextRowExtendSelection
shift ctrl pressed END selectLastRowExtendSelection
shift ctrl pressed HOME selectFirstRowExtendSelection
shift ctrl pressed KP_DOWN selectNextRowExtendSelection
shift ctrl pressed KP_LEFT selectPreviousColumnExtendSelection
shift ctrl pressed KP_RIGHT selectNextColumnExtendSelection
shift ctrl pressed KP_UP selectPreviousRowExtendSelection
shift ctrl pressed LEFT selectPreviousColumnExtendSelection
shift ctrl pressed PAGE_DOWN scrollDownExtendSelection
shift ctrl pressed PAGE_UP scrollUpExtendSelection
shift ctrl pressed RIGHT selectNextColumnExtendSelection
shift ctrl pressed SPACE moveSelectionTo
shift ctrl pressed UP selectPreviousRowExtendSelection
shift pressed DELETE cut
shift pressed DOWN selectNextRowExtendSelection
shift pressed END selectLastRowExtendSelection
shift pressed HOME selectFirstRowExtendSelection
shift pressed INSERT paste
shift pressed KP_DOWN selectNextRowExtendSelection
shift pressed KP_LEFT selectPreviousColumnExtendSelection
shift pressed KP_RIGHT selectNextColumnExtendSelection
shift pressed KP_UP selectPreviousRowExtendSelection
shift pressed LEFT selectPreviousColumnExtendSelection
shift pressed PAGE_DOWN scrollDownExtendSelection
shift pressed PAGE_UP scrollUpExtendSelection
shift pressed RIGHT selectNextColumnExtendSelection
shift pressed SPACE extendTo
shift pressed UP selectPreviousRowExtendSelection
List.font [lazy] Dialog plain 12 javax.swing.plaf.FontUIResource [UI] List.font [lazy] Dialog plain 12 javax.swing.plaf.FontUIResource [UI]
List.foreground #000000 javax.swing.plaf.ColorUIResource [UI] List.foreground #000000 javax.swing.plaf.ColorUIResource [UI]
List.noFocusBorder 1,1,1,1 false javax.swing.plaf.BorderUIResource$EmptyBorderUIResource [UI] List.noFocusBorder 1,1,1,1 false javax.swing.plaf.BorderUIResource$EmptyBorderUIResource [UI]
@@ -557,40 +382,6 @@ PopupMenu.border [lazy] javax.swing.plaf.BorderUIResource$Compound
PopupMenu.consumeEventOnClose false PopupMenu.consumeEventOnClose false
PopupMenu.font [lazy] Dialog plain 12 javax.swing.plaf.FontUIResource [UI] PopupMenu.font [lazy] Dialog plain 12 javax.swing.plaf.FontUIResource [UI]
PopupMenu.foreground #000000 javax.swing.plaf.ColorUIResource [UI] PopupMenu.foreground #000000 javax.swing.plaf.ColorUIResource [UI]
PopupMenu.selectedWindowInputMapBindings.RightToLeft length=8 [Ljava.lang.Object;
[0] LEFT
[1] selectChild
[2] KP_LEFT
[3] selectChild
[4] RIGHT
[5] selectParent
[6] KP_RIGHT
[7] selectParent
PopupMenu.selectedWindowInputMapBindings length=24 [Ljava.lang.Object;
[0] ESCAPE
[1] cancel
[2] DOWN
[3] selectNext
[4] KP_DOWN
[5] selectNext
[6] UP
[7] selectPrevious
[8] KP_UP
[9] selectPrevious
[10] LEFT
[11] selectParent
[12] KP_LEFT
[13] selectParent
[14] RIGHT
[15] selectChild
[16] KP_RIGHT
[17] selectChild
[18] ENTER
[19] return
[20] ctrl ENTER
[21] return
[22] SPACE
[23] return
#---- PopupMenuSeparator ---- #---- PopupMenuSeparator ----
@@ -627,9 +418,6 @@ RadioButton.border [lazy] javax.swing.plaf.BorderUIResource$Compound
2,2,2,2 false javax.swing.plaf.basic.BasicBorders$RadioButtonBorder [UI] 2,2,2,2 false javax.swing.plaf.basic.BasicBorders$RadioButtonBorder [UI]
0,0,0,0 false javax.swing.plaf.basic.BasicBorders$MarginBorder [UI] 0,0,0,0 false javax.swing.plaf.basic.BasicBorders$MarginBorder [UI]
RadioButton.darkShadow #000000 javax.swing.plaf.ColorUIResource [UI] RadioButton.darkShadow #000000 javax.swing.plaf.ColorUIResource [UI]
RadioButton.focusInputMap [lazy] 2 javax.swing.plaf.InputMapUIResource [UI]
pressed SPACE pressed
released SPACE released
RadioButton.font [lazy] Dialog plain 12 javax.swing.plaf.FontUIResource [UI] RadioButton.font [lazy] Dialog plain 12 javax.swing.plaf.FontUIResource [UI]
RadioButton.foreground #000000 javax.swing.plaf.ColorUIResource [UI] RadioButton.foreground #000000 javax.swing.plaf.ColorUIResource [UI]
RadioButton.highlight #ffffff javax.swing.plaf.ColorUIResource [UI] RadioButton.highlight #ffffff javax.swing.plaf.ColorUIResource [UI]
@@ -666,9 +454,6 @@ RadioButtonUI javax.swing.plaf.basic.BasicRadioButtonUI
#---- RootPane ---- #---- RootPane ----
RootPane.ancestorInputMap [lazy] 2 javax.swing.plaf.InputMapUIResource [UI]
pressed CONTEXT_MENU postPopup
shift pressed F10 postPopup
RootPane.defaultButtonWindowKeyBindings length=8 [Ljava.lang.Object; RootPane.defaultButtonWindowKeyBindings length=8 [Ljava.lang.Object;
[0] ENTER [0] ENTER
[1] press [1] press
@@ -683,24 +468,6 @@ RootPaneUI javax.swing.plaf.basic.BasicRootPaneUI
#---- ScrollBar ---- #---- ScrollBar ----
ScrollBar.ancestorInputMap.RightToLeft [lazy] 4 javax.swing.plaf.InputMapUIResource [UI]
pressed KP_LEFT positiveUnitIncrement
pressed KP_RIGHT negativeUnitIncrement
pressed LEFT positiveUnitIncrement
pressed RIGHT negativeUnitIncrement
ScrollBar.ancestorInputMap [lazy] 12 javax.swing.plaf.InputMapUIResource [UI]
pressed DOWN positiveUnitIncrement
pressed END maxScroll
pressed HOME minScroll
pressed KP_DOWN positiveUnitIncrement
pressed KP_LEFT negativeUnitIncrement
pressed KP_RIGHT positiveUnitIncrement
pressed KP_UP negativeUnitIncrement
pressed LEFT negativeUnitIncrement
pressed PAGE_DOWN positiveBlockIncrement
pressed PAGE_UP negativeBlockIncrement
pressed RIGHT positiveUnitIncrement
pressed UP negativeUnitIncrement
ScrollBar.background #e0e0e0 javax.swing.plaf.ColorUIResource [UI] ScrollBar.background #e0e0e0 javax.swing.plaf.ColorUIResource [UI]
ScrollBar.foreground #c0c0c0 javax.swing.plaf.ColorUIResource [UI] ScrollBar.foreground #c0c0c0 javax.swing.plaf.ColorUIResource [UI]
ScrollBar.maximumThumbSize 4096,4096 javax.swing.plaf.DimensionUIResource [UI] ScrollBar.maximumThumbSize 4096,4096 javax.swing.plaf.DimensionUIResource [UI]
@@ -717,24 +484,6 @@ ScrollBarUI javax.swing.plaf.basic.BasicScrollBarUI
#---- ScrollPane ---- #---- ScrollPane ----
ScrollPane.ancestorInputMap.RightToLeft [lazy] 2 javax.swing.plaf.InputMapUIResource [UI]
ctrl pressed PAGE_DOWN scrollLeft
ctrl pressed PAGE_UP scrollRight
ScrollPane.ancestorInputMap [lazy] 14 javax.swing.plaf.InputMapUIResource [UI]
ctrl pressed END scrollEnd
ctrl pressed HOME scrollHome
ctrl pressed PAGE_DOWN scrollRight
ctrl pressed PAGE_UP scrollLeft
pressed DOWN unitScrollDown
pressed KP_DOWN unitScrollDown
pressed KP_LEFT unitScrollLeft
pressed KP_RIGHT unitScrollRight
pressed KP_UP unitScrollUp
pressed LEFT unitScrollLeft
pressed PAGE_DOWN scrollDown
pressed PAGE_UP scrollUp
pressed RIGHT unitScrollRight
pressed UP unitScrollUp
ScrollPane.background #c0c0c0 javax.swing.plaf.ColorUIResource [UI] ScrollPane.background #c0c0c0 javax.swing.plaf.ColorUIResource [UI]
ScrollPane.border [lazy] 2,2,2,2 false javax.swing.plaf.basic.BasicBorders$FieldBorder [UI] ScrollPane.border [lazy] 2,2,2,2 false javax.swing.plaf.basic.BasicBorders$FieldBorder [UI]
ScrollPane.font [lazy] Dialog plain 12 javax.swing.plaf.FontUIResource [UI] ScrollPane.font [lazy] Dialog plain 12 javax.swing.plaf.FontUIResource [UI]
@@ -755,24 +504,6 @@ SeparatorUI javax.swing.plaf.basic.BasicSeparatorUI
Slider.background #c0c0c0 javax.swing.plaf.ColorUIResource [UI] Slider.background #c0c0c0 javax.swing.plaf.ColorUIResource [UI]
Slider.focus #000000 javax.swing.plaf.ColorUIResource [UI] Slider.focus #000000 javax.swing.plaf.ColorUIResource [UI]
Slider.focusInputMap.RightToLeft [lazy] 4 javax.swing.plaf.InputMapUIResource [UI]
pressed KP_LEFT positiveUnitIncrement
pressed KP_RIGHT negativeUnitIncrement
pressed LEFT positiveUnitIncrement
pressed RIGHT negativeUnitIncrement
Slider.focusInputMap [lazy] 12 javax.swing.plaf.InputMapUIResource [UI]
pressed DOWN negativeUnitIncrement
pressed END maxScroll
pressed HOME minScroll
pressed KP_DOWN negativeUnitIncrement
pressed KP_LEFT negativeUnitIncrement
pressed KP_RIGHT positiveUnitIncrement
pressed KP_UP positiveUnitIncrement
pressed LEFT negativeUnitIncrement
pressed PAGE_DOWN negativeBlockIncrement
pressed PAGE_UP positiveBlockIncrement
pressed RIGHT positiveUnitIncrement
pressed UP positiveUnitIncrement
Slider.focusInsets 2,2,2,2 javax.swing.plaf.InsetsUIResource [UI] Slider.focusInsets 2,2,2,2 javax.swing.plaf.InsetsUIResource [UI]
Slider.font [lazy] Dialog plain 12 javax.swing.plaf.FontUIResource [UI] Slider.font [lazy] Dialog plain 12 javax.swing.plaf.FontUIResource [UI]
Slider.foreground #c0c0c0 javax.swing.plaf.ColorUIResource [UI] Slider.foreground #c0c0c0 javax.swing.plaf.ColorUIResource [UI]
@@ -789,11 +520,6 @@ SliderUI javax.swing.plaf.basic.BasicSliderUI
#---- Spinner ---- #---- Spinner ----
Spinner.ancestorInputMap [lazy] 4 javax.swing.plaf.InputMapUIResource [UI]
pressed DOWN decrement
pressed KP_DOWN decrement
pressed KP_UP increment
pressed UP increment
Spinner.arrowButtonSize 16,5 java.awt.Dimension Spinner.arrowButtonSize 16,5 java.awt.Dimension
Spinner.background #c0c0c0 javax.swing.plaf.ColorUIResource [UI] Spinner.background #c0c0c0 javax.swing.plaf.ColorUIResource [UI]
Spinner.border [lazy] 2,2,2,2 false javax.swing.plaf.basic.BasicBorders$FieldBorder [UI] Spinner.border [lazy] 2,2,2,2 false javax.swing.plaf.basic.BasicBorders$FieldBorder [UI]
@@ -806,21 +532,6 @@ SpinnerUI javax.swing.plaf.basic.BasicSpinnerUI
#---- SplitPane ---- #---- SplitPane ----
SplitPane.ancestorInputMap [lazy] 14 javax.swing.plaf.InputMapUIResource [UI]
ctrl pressed TAB focusOutForward
pressed DOWN positiveIncrement
pressed END selectMax
pressed F6 toggleFocus
pressed F8 startResize
pressed HOME selectMin
pressed KP_DOWN positiveIncrement
pressed KP_LEFT negativeIncrement
pressed KP_RIGHT positiveIncrement
pressed KP_UP negativeIncrement
pressed LEFT negativeIncrement
pressed RIGHT positiveIncrement
pressed UP negativeIncrement
shift ctrl pressed TAB focusOutBackward
SplitPane.background #c0c0c0 javax.swing.plaf.ColorUIResource [UI] SplitPane.background #c0c0c0 javax.swing.plaf.ColorUIResource [UI]
SplitPane.border [lazy] 1,1,1,1 true javax.swing.plaf.basic.BasicBorders$SplitPaneBorder [UI] SplitPane.border [lazy] 1,1,1,1 true javax.swing.plaf.basic.BasicBorders$SplitPaneBorder [UI]
SplitPane.darkShadow #000000 javax.swing.plaf.ColorUIResource [UI] SplitPane.darkShadow #000000 javax.swing.plaf.ColorUIResource [UI]
@@ -842,27 +553,11 @@ SplitPaneUI javax.swing.plaf.basic.BasicSplitPaneUI
#---- TabbedPane ---- #---- TabbedPane ----
TabbedPane.ancestorInputMap [lazy] 4 javax.swing.plaf.InputMapUIResource [UI]
ctrl pressed KP_UP requestFocus
ctrl pressed PAGE_DOWN navigatePageDown
ctrl pressed PAGE_UP navigatePageUp
ctrl pressed UP requestFocus
TabbedPane.background #c0c0c0 javax.swing.plaf.ColorUIResource [UI] TabbedPane.background #c0c0c0 javax.swing.plaf.ColorUIResource [UI]
TabbedPane.contentBorderInsets 2,2,3,3 javax.swing.plaf.InsetsUIResource [UI] TabbedPane.contentBorderInsets 2,2,3,3 javax.swing.plaf.InsetsUIResource [UI]
TabbedPane.contentOpaque true TabbedPane.contentOpaque true
TabbedPane.darkShadow #000000 javax.swing.plaf.ColorUIResource [UI] TabbedPane.darkShadow #000000 javax.swing.plaf.ColorUIResource [UI]
TabbedPane.focus #000000 javax.swing.plaf.ColorUIResource [UI] TabbedPane.focus #000000 javax.swing.plaf.ColorUIResource [UI]
TabbedPane.focusInputMap [lazy] 10 javax.swing.plaf.InputMapUIResource [UI]
ctrl pressed DOWN requestFocusForVisibleComponent
ctrl pressed KP_DOWN requestFocusForVisibleComponent
pressed DOWN navigateDown
pressed KP_DOWN navigateDown
pressed KP_LEFT navigateLeft
pressed KP_RIGHT navigateRight
pressed KP_UP navigateUp
pressed LEFT navigateLeft
pressed RIGHT navigateRight
pressed UP navigateUp
TabbedPane.font [lazy] Dialog plain 12 javax.swing.plaf.FontUIResource [UI] TabbedPane.font [lazy] Dialog plain 12 javax.swing.plaf.FontUIResource [UI]
TabbedPane.foreground #000000 javax.swing.plaf.ColorUIResource [UI] TabbedPane.foreground #000000 javax.swing.plaf.ColorUIResource [UI]
TabbedPane.highlight #ffffff javax.swing.plaf.ColorUIResource [UI] TabbedPane.highlight #ffffff javax.swing.plaf.ColorUIResource [UI]
@@ -883,99 +578,6 @@ TabbedPaneUI javax.swing.plaf.basic.BasicTabbedPaneUI
#---- Table ---- #---- Table ----
Table.ancestorInputMap.RightToLeft [lazy] 20 javax.swing.plaf.InputMapUIResource [UI]
ctrl pressed KP_LEFT selectNextColumnChangeLead
ctrl pressed KP_RIGHT selectPreviousColumnChangeLead
ctrl pressed LEFT selectNextColumnChangeLead
ctrl pressed PAGE_DOWN scrollLeftChangeSelection
ctrl pressed PAGE_UP scrollRightChangeSelection
ctrl pressed RIGHT selectPreviousColumnChangeLead
pressed KP_LEFT selectNextColumn
pressed KP_RIGHT selectPreviousColumn
pressed LEFT selectNextColumn
pressed RIGHT selectPreviousColumn
shift ctrl pressed KP_LEFT selectNextColumnExtendSelection
shift ctrl pressed KP_RIGHT selectPreviousColumnExtendSelection
shift ctrl pressed LEFT selectNextColumnExtendSelection
shift ctrl pressed PAGE_DOWN scrollLeftExtendSelection
shift ctrl pressed PAGE_UP scrollRightExtendSelection
shift ctrl pressed RIGHT selectPreviousColumnExtendSelection
shift pressed KP_LEFT selectNextColumnExtendSelection
shift pressed KP_RIGHT selectPreviousColumnExtendSelection
shift pressed LEFT selectNextColumnExtendSelection
shift pressed RIGHT selectPreviousColumnExtendSelection
Table.ancestorInputMap [lazy] 71 javax.swing.plaf.InputMapUIResource [UI]
ctrl pressed A selectAll
ctrl pressed BACK_SLASH clearSelection
ctrl pressed C copy
ctrl pressed DOWN selectNextRowChangeLead
ctrl pressed END selectLastRow
ctrl pressed HOME selectFirstRow
ctrl pressed INSERT copy
ctrl pressed KP_DOWN selectNextRowChangeLead
ctrl pressed KP_LEFT selectPreviousColumnChangeLead
ctrl pressed KP_RIGHT selectNextColumnChangeLead
ctrl pressed KP_UP selectPreviousRowChangeLead
ctrl pressed LEFT selectPreviousColumnChangeLead
ctrl pressed PAGE_DOWN scrollRightChangeSelection
ctrl pressed PAGE_UP scrollLeftChangeSelection
ctrl pressed RIGHT selectNextColumnChangeLead
ctrl pressed SLASH selectAll
ctrl pressed SPACE toggleAndAnchor
ctrl pressed UP selectPreviousRowChangeLead
ctrl pressed V paste
ctrl pressed X cut
pressed COPY copy
pressed CUT cut
pressed DOWN selectNextRow
pressed END selectLastColumn
pressed ENTER selectNextRowCell
pressed ESCAPE cancel
pressed F2 startEditing
pressed F8 focusHeader
pressed HOME selectFirstColumn
pressed KP_DOWN selectNextRow
pressed KP_LEFT selectPreviousColumn
pressed KP_RIGHT selectNextColumn
pressed KP_UP selectPreviousRow
pressed LEFT selectPreviousColumn
pressed PAGE_DOWN scrollDownChangeSelection
pressed PAGE_UP scrollUpChangeSelection
pressed PASTE paste
pressed RIGHT selectNextColumn
pressed SPACE addToSelection
pressed TAB selectNextColumnCell
pressed UP selectPreviousRow
shift ctrl pressed DOWN selectNextRowExtendSelection
shift ctrl pressed END selectLastRowExtendSelection
shift ctrl pressed HOME selectFirstRowExtendSelection
shift ctrl pressed KP_DOWN selectNextRowExtendSelection
shift ctrl pressed KP_LEFT selectPreviousColumnExtendSelection
shift ctrl pressed KP_RIGHT selectNextColumnExtendSelection
shift ctrl pressed KP_UP selectPreviousRowExtendSelection
shift ctrl pressed LEFT selectPreviousColumnExtendSelection
shift ctrl pressed PAGE_DOWN scrollRightExtendSelection
shift ctrl pressed PAGE_UP scrollLeftExtendSelection
shift ctrl pressed RIGHT selectNextColumnExtendSelection
shift ctrl pressed SPACE moveSelectionTo
shift ctrl pressed UP selectPreviousRowExtendSelection
shift pressed DELETE cut
shift pressed DOWN selectNextRowExtendSelection
shift pressed END selectLastColumnExtendSelection
shift pressed ENTER selectPreviousRowCell
shift pressed HOME selectFirstColumnExtendSelection
shift pressed INSERT paste
shift pressed KP_DOWN selectNextRowExtendSelection
shift pressed KP_LEFT selectPreviousColumnExtendSelection
shift pressed KP_RIGHT selectNextColumnExtendSelection
shift pressed KP_UP selectPreviousRowExtendSelection
shift pressed LEFT selectPreviousColumnExtendSelection
shift pressed PAGE_DOWN scrollDownExtendSelection
shift pressed PAGE_UP scrollUpExtendSelection
shift pressed RIGHT selectNextColumnExtendSelection
shift pressed SPACE extendTo
shift pressed TAB selectPreviousColumnCell
shift pressed UP selectPreviousRowExtendSelection
Table.ascendingSortIcon [lazy] 17,7 sun.swing.icon.SortArrowIcon [UI] Table.ascendingSortIcon [lazy] 17,7 sun.swing.icon.SortArrowIcon [UI]
Table.background #ffffff javax.swing.plaf.ColorUIResource [UI] Table.background #ffffff javax.swing.plaf.ColorUIResource [UI]
Table.descendingSortIcon [lazy] 17,7 sun.swing.icon.SortArrowIcon [UI] Table.descendingSortIcon [lazy] 17,7 sun.swing.icon.SortArrowIcon [UI]
@@ -995,21 +597,6 @@ Table.sortIconColor #808080 javax.swing.plaf.ColorUIResource [UI]
#---- TableHeader ---- #---- TableHeader ----
TableHeader.ancestorInputMap [lazy] 14 javax.swing.plaf.InputMapUIResource [UI]
alt pressed KP_LEFT moveColumnLeft
alt pressed KP_RIGHT moveColumnRight
alt pressed LEFT moveColumnLeft
alt pressed RIGHT moveColumnRight
pressed ESCAPE focusTable
pressed KP_LEFT selectColumnToLeft
pressed KP_RIGHT selectColumnToRight
pressed LEFT selectColumnToLeft
pressed RIGHT selectColumnToRight
pressed SPACE toggleSortOrder
shift alt pressed KP_LEFT resizeLeft
shift alt pressed KP_RIGHT resizeRight
shift alt pressed LEFT resizeLeft
shift alt pressed RIGHT resizeRight
TableHeader.background #c0c0c0 javax.swing.plaf.ColorUIResource [UI] TableHeader.background #c0c0c0 javax.swing.plaf.ColorUIResource [UI]
TableHeader.cellBorder [lazy] 2,2,2,2 true javax.swing.plaf.BorderUIResource$BevelBorderUIResource [UI] TableHeader.cellBorder [lazy] 2,2,2,2 true javax.swing.plaf.BorderUIResource$BevelBorderUIResource [UI]
TableHeader.focusCellBackground #c0c0c0 javax.swing.plaf.ColorUIResource [UI] TableHeader.focusCellBackground #c0c0c0 javax.swing.plaf.ColorUIResource [UI]
@@ -1087,9 +674,6 @@ ToggleButton.border [lazy] javax.swing.plaf.BorderUIResource$Compound
2,2,2,2 false javax.swing.plaf.basic.BasicBorders$ToggleButtonBorder [UI] 2,2,2,2 false javax.swing.plaf.basic.BasicBorders$ToggleButtonBorder [UI]
0,0,0,0 false javax.swing.plaf.basic.BasicBorders$MarginBorder [UI] 0,0,0,0 false javax.swing.plaf.basic.BasicBorders$MarginBorder [UI]
ToggleButton.darkShadow #000000 javax.swing.plaf.ColorUIResource [UI] ToggleButton.darkShadow #000000 javax.swing.plaf.ColorUIResource [UI]
ToggleButton.focusInputMap [lazy] 2 javax.swing.plaf.InputMapUIResource [UI]
pressed SPACE pressed
released SPACE released
ToggleButton.font [lazy] Dialog plain 12 javax.swing.plaf.FontUIResource [UI] ToggleButton.font [lazy] Dialog plain 12 javax.swing.plaf.FontUIResource [UI]
ToggleButton.foreground #000000 javax.swing.plaf.ColorUIResource [UI] ToggleButton.foreground #000000 javax.swing.plaf.ColorUIResource [UI]
ToggleButton.highlight #ffffff javax.swing.plaf.ColorUIResource [UI] ToggleButton.highlight #ffffff javax.swing.plaf.ColorUIResource [UI]
@@ -1103,15 +687,6 @@ ToggleButtonUI javax.swing.plaf.basic.BasicToggleButtonUI
#---- ToolBar ---- #---- ToolBar ----
ToolBar.ancestorInputMap [lazy] 8 javax.swing.plaf.InputMapUIResource [UI]
pressed DOWN navigateDown
pressed KP_DOWN navigateDown
pressed KP_LEFT navigateLeft
pressed KP_RIGHT navigateRight
pressed KP_UP navigateUp
pressed LEFT navigateLeft
pressed RIGHT navigateRight
pressed UP navigateUp
ToolBar.background #c0c0c0 javax.swing.plaf.ColorUIResource [UI] ToolBar.background #c0c0c0 javax.swing.plaf.ColorUIResource [UI]
ToolBar.border [lazy] 2,2,2,2 true javax.swing.plaf.BorderUIResource$EtchedBorderUIResource [UI] ToolBar.border [lazy] 2,2,2,2 true javax.swing.plaf.BorderUIResource$EtchedBorderUIResource [UI]
ToolBar.darkShadow #000000 javax.swing.plaf.ColorUIResource [UI] ToolBar.darkShadow #000000 javax.swing.plaf.ColorUIResource [UI]
@@ -1157,77 +732,12 @@ ToolTipUI javax.swing.plaf.basic.BasicToolTipUI
#---- Tree ---- #---- Tree ----
Tree.ancestorInputMap [lazy] 1 javax.swing.plaf.InputMapUIResource [UI]
pressed ESCAPE cancel
Tree.background #ffffff javax.swing.plaf.ColorUIResource [UI] Tree.background #ffffff javax.swing.plaf.ColorUIResource [UI]
Tree.changeSelectionWithFocus true Tree.changeSelectionWithFocus true
Tree.closedIcon [lazy] null Tree.closedIcon [lazy] null
Tree.drawsFocusBorderAroundIcon false Tree.drawsFocusBorderAroundIcon false
Tree.dropLineColor #808080 javax.swing.plaf.ColorUIResource [UI] Tree.dropLineColor #808080 javax.swing.plaf.ColorUIResource [UI]
Tree.editorBorder [lazy] line: #000000 java.awt.Color 1 false 1,1,1,1 true javax.swing.plaf.BorderUIResource$LineBorderUIResource [UI] Tree.editorBorder [lazy] line: #000000 java.awt.Color 1 false 1,1,1,1 true javax.swing.plaf.BorderUIResource$LineBorderUIResource [UI]
Tree.focusInputMap.RightToLeft [lazy] 4 javax.swing.plaf.InputMapUIResource [UI]
pressed KP_LEFT selectChild
pressed KP_RIGHT selectParent
pressed LEFT selectChild
pressed RIGHT selectParent
Tree.focusInputMap [lazy] 57 javax.swing.plaf.InputMapUIResource [UI]
ctrl pressed A selectAll
ctrl pressed BACK_SLASH clearSelection
ctrl pressed C copy
ctrl pressed DOWN selectNextChangeLead
ctrl pressed END selectLastChangeLead
ctrl pressed HOME selectFirstChangeLead
ctrl pressed INSERT copy
ctrl pressed KP_DOWN selectNextChangeLead
ctrl pressed KP_LEFT scrollLeft
ctrl pressed KP_RIGHT scrollRight
ctrl pressed KP_UP selectPreviousChangeLead
ctrl pressed LEFT scrollLeft
ctrl pressed PAGE_DOWN scrollDownChangeLead
ctrl pressed PAGE_UP scrollUpChangeLead
ctrl pressed RIGHT scrollRight
ctrl pressed SLASH selectAll
ctrl pressed SPACE toggleAndAnchor
ctrl pressed UP selectPreviousChangeLead
ctrl pressed V paste
ctrl pressed X cut
pressed COPY copy
pressed CUT cut
pressed DOWN selectNext
pressed END selectLast
pressed F2 startEditing
pressed HOME selectFirst
pressed KP_DOWN selectNext
pressed KP_LEFT selectParent
pressed KP_RIGHT selectChild
pressed KP_UP selectPrevious
pressed LEFT selectParent
pressed PAGE_DOWN scrollDownChangeSelection
pressed PAGE_UP scrollUpChangeSelection
pressed PASTE paste
pressed RIGHT selectChild
pressed SPACE addToSelection
pressed UP selectPrevious
shift ctrl pressed DOWN selectNextExtendSelection
shift ctrl pressed END selectLastExtendSelection
shift ctrl pressed HOME selectFirstExtendSelection
shift ctrl pressed KP_DOWN selectNextExtendSelection
shift ctrl pressed KP_UP selectPreviousExtendSelection
shift ctrl pressed PAGE_DOWN scrollDownExtendSelection
shift ctrl pressed PAGE_UP scrollUpExtendSelection
shift ctrl pressed SPACE moveSelectionTo
shift ctrl pressed UP selectPreviousExtendSelection
shift pressed DELETE cut
shift pressed DOWN selectNextExtendSelection
shift pressed END selectLastExtendSelection
shift pressed HOME selectFirstExtendSelection
shift pressed INSERT paste
shift pressed KP_DOWN selectNextExtendSelection
shift pressed KP_UP selectPreviousExtendSelection
shift pressed PAGE_DOWN scrollDownExtendSelection
shift pressed PAGE_UP scrollUpExtendSelection
shift pressed SPACE extendTo
shift pressed UP selectPreviousExtendSelection
Tree.font [lazy] Dialog plain 12 javax.swing.plaf.FontUIResource [UI] Tree.font [lazy] Dialog plain 12 javax.swing.plaf.FontUIResource [UI]
Tree.foreground #000000 javax.swing.plaf.ColorUIResource [UI] Tree.foreground #000000 javax.swing.plaf.ColorUIResource [UI]
Tree.hash #808080 javax.swing.plaf.ColorUIResource [UI] Tree.hash #808080 javax.swing.plaf.ColorUIResource [UI]

View File

@@ -47,11 +47,6 @@ Button.border [lazy] javax.swing.plaf.BorderUIResource$Compound
0,0,0,0 false javax.swing.plaf.basic.BasicBorders$MarginBorder [UI] 0,0,0,0 false javax.swing.plaf.basic.BasicBorders$MarginBorder [UI]
Button.darkShadow #000000 javax.swing.plaf.ColorUIResource [UI] Button.darkShadow #000000 javax.swing.plaf.ColorUIResource [UI]
Button.defaultButtonFollowsFocus true Button.defaultButtonFollowsFocus true
Button.focusInputMap [lazy] 4 javax.swing.plaf.InputMapUIResource [UI]
pressed ENTER pressed
pressed SPACE pressed
released ENTER released
released SPACE released
Button.font [lazy] Dialog plain 12 javax.swing.plaf.FontUIResource [UI] Button.font [lazy] Dialog plain 12 javax.swing.plaf.FontUIResource [UI]
Button.foreground #000000 javax.swing.plaf.ColorUIResource [UI] Button.foreground #000000 javax.swing.plaf.ColorUIResource [UI]
Button.highlight #ffffff javax.swing.plaf.ColorUIResource [UI] Button.highlight #ffffff javax.swing.plaf.ColorUIResource [UI]
@@ -69,9 +64,6 @@ CheckBox.background #c0c0c0 javax.swing.plaf.ColorUIResource [UI]
CheckBox.border [lazy] javax.swing.plaf.BorderUIResource$CompoundBorderUIResource [UI] CheckBox.border [lazy] javax.swing.plaf.BorderUIResource$CompoundBorderUIResource [UI]
2,2,2,2 false javax.swing.plaf.basic.BasicBorders$RadioButtonBorder [UI] 2,2,2,2 false javax.swing.plaf.basic.BasicBorders$RadioButtonBorder [UI]
0,0,0,0 false javax.swing.plaf.basic.BasicBorders$MarginBorder [UI] 0,0,0,0 false javax.swing.plaf.basic.BasicBorders$MarginBorder [UI]
CheckBox.focusInputMap [lazy] 2 javax.swing.plaf.InputMapUIResource [UI]
pressed SPACE pressed
released SPACE released
CheckBox.font [lazy] Dialog plain 12 javax.swing.plaf.FontUIResource [UI] CheckBox.font [lazy] Dialog plain 12 javax.swing.plaf.FontUIResource [UI]
CheckBox.foreground #000000 javax.swing.plaf.ColorUIResource [UI] CheckBox.foreground #000000 javax.swing.plaf.ColorUIResource [UI]
CheckBox.icon [lazy] 13,13 javax.swing.plaf.basic.BasicIconFactory$CheckBoxIcon CheckBox.icon [lazy] 13,13 javax.swing.plaf.basic.BasicIconFactory$CheckBoxIcon
@@ -116,13 +108,6 @@ ColorChooserUI javax.swing.plaf.basic.BasicColorChooserUI
#---- ComboBox ---- #---- ComboBox ----
ComboBox.ancestorInputMap [lazy] 6 javax.swing.plaf.InputMapUIResource [UI]
pressed END endPassThrough
pressed ENTER enterPressed
pressed ESCAPE hidePopup
pressed HOME homePassThrough
pressed PAGE_DOWN pageDownPassThrough
pressed PAGE_UP pageUpPassThrough
ComboBox.background #ffffff javax.swing.plaf.ColorUIResource [UI] ComboBox.background #ffffff javax.swing.plaf.ColorUIResource [UI]
ComboBox.buttonBackground #c0c0c0 javax.swing.plaf.ColorUIResource [UI] ComboBox.buttonBackground #c0c0c0 javax.swing.plaf.ColorUIResource [UI]
ComboBox.buttonDarkShadow #000000 javax.swing.plaf.ColorUIResource [UI] ComboBox.buttonDarkShadow #000000 javax.swing.plaf.ColorUIResource [UI]
@@ -142,36 +127,6 @@ ComboBoxUI javax.swing.plaf.basic.BasicComboBoxUI
#---- Desktop ---- #---- Desktop ----
Desktop.ancestorInputMap [lazy] 29 javax.swing.plaf.InputMapUIResource [UI]
ctrl alt pressed F6 selectNextFrame
ctrl pressed F10 maximize
ctrl pressed F12 navigateNext
ctrl pressed F4 close
ctrl pressed F5 restore
ctrl pressed F6 selectNextFrame
ctrl pressed F7 move
ctrl pressed F8 resize
ctrl pressed F9 minimize
ctrl pressed TAB selectNextFrame
pressed DOWN down
pressed ESCAPE escape
pressed KP_DOWN down
pressed KP_LEFT left
pressed KP_RIGHT right
pressed KP_UP up
pressed LEFT left
pressed RIGHT right
pressed UP up
shift ctrl alt pressed F6 selectPreviousFrame
shift ctrl pressed F12 navigatePrevious
shift pressed DOWN shrinkDown
shift pressed KP_DOWN shrinkDown
shift pressed KP_LEFT shrinkLeft
shift pressed KP_RIGHT shrinkRight
shift pressed KP_UP shrinkUp
shift pressed LEFT shrinkLeft
shift pressed RIGHT shrinkRight
shift pressed UP shrinkUp
Desktop.background #005c5c javax.swing.plaf.ColorUIResource [UI] Desktop.background #005c5c javax.swing.plaf.ColorUIResource [UI]
Desktop.minOnScreenInsets 3,3,3,3 javax.swing.plaf.InsetsUIResource [UI] Desktop.minOnScreenInsets 3,3,3,3 javax.swing.plaf.InsetsUIResource [UI]
@@ -206,9 +161,6 @@ EditorPaneUI javax.swing.plaf.basic.BasicEditorPaneUI
#---- FileChooser ---- #---- FileChooser ----
FileChooser.ancestorInputMap [lazy] 2 javax.swing.plaf.InputMapUIResource [UI]
pressed ESCAPE cancelSelection
pressed F5 refresh
FileChooser.detailsViewIcon [lazy] null FileChooser.detailsViewIcon [lazy] null
FileChooser.homeFolderIcon [lazy] null FileChooser.homeFolderIcon [lazy] null
FileChooser.listViewIcon [lazy] null FileChooser.listViewIcon [lazy] null
@@ -235,51 +187,6 @@ FormattedTextField.background #ffffff javax.swing.plaf.ColorUIResource [UI]
FormattedTextField.border [lazy] 2,2,2,2 false javax.swing.plaf.basic.BasicBorders$FieldBorder [UI] FormattedTextField.border [lazy] 2,2,2,2 false javax.swing.plaf.basic.BasicBorders$FieldBorder [UI]
FormattedTextField.caretBlinkRate 500 FormattedTextField.caretBlinkRate 500
FormattedTextField.caretForeground #000000 javax.swing.plaf.ColorUIResource [UI] FormattedTextField.caretForeground #000000 javax.swing.plaf.ColorUIResource [UI]
FormattedTextField.focusInputMap [lazy] 44 javax.swing.plaf.InputMapUIResource [UI]
ctrl pressed A select-all
ctrl pressed BACK_SLASH unselect
ctrl pressed BACK_SPACE delete-previous-word
ctrl pressed C copy-to-clipboard
ctrl pressed DELETE delete-next-word
ctrl pressed H delete-previous
ctrl pressed INSERT copy-to-clipboard
ctrl pressed KP_LEFT caret-previous-word
ctrl pressed KP_RIGHT caret-next-word
ctrl pressed LEFT caret-previous-word
ctrl pressed RIGHT caret-next-word
ctrl pressed V paste-from-clipboard
ctrl pressed X cut-to-clipboard
pressed BACK_SPACE delete-previous
pressed COPY copy-to-clipboard
pressed CUT cut-to-clipboard
pressed DELETE delete-next
pressed DOWN decrement
pressed END caret-end-line
pressed ENTER notify-field-accept
pressed ESCAPE reset-field-edit
pressed HOME caret-begin-line
pressed KP_DOWN decrement
pressed KP_LEFT caret-backward
pressed KP_RIGHT caret-forward
pressed KP_UP increment
pressed LEFT caret-backward
pressed PASTE paste-from-clipboard
pressed RIGHT caret-forward
pressed UP increment
shift ctrl pressed KP_LEFT selection-previous-word
shift ctrl pressed KP_RIGHT selection-next-word
shift ctrl pressed LEFT selection-previous-word
shift ctrl pressed O toggle-componentOrientation
shift ctrl pressed RIGHT selection-next-word
shift pressed BACK_SPACE delete-previous
shift pressed DELETE cut-to-clipboard
shift pressed END selection-end-line
shift pressed HOME selection-begin-line
shift pressed INSERT paste-from-clipboard
shift pressed KP_LEFT selection-backward
shift pressed KP_RIGHT selection-forward
shift pressed LEFT selection-backward
shift pressed RIGHT selection-forward
FormattedTextField.font [lazy] SansSerif plain 12 javax.swing.plaf.FontUIResource [UI] FormattedTextField.font [lazy] SansSerif plain 12 javax.swing.plaf.FontUIResource [UI]
FormattedTextField.foreground #000000 javax.swing.plaf.ColorUIResource [UI] FormattedTextField.foreground #000000 javax.swing.plaf.ColorUIResource [UI]
FormattedTextField.inactiveBackground #c0c0c0 javax.swing.plaf.ColorUIResource [UI] FormattedTextField.inactiveBackground #c0c0c0 javax.swing.plaf.ColorUIResource [UI]
@@ -347,88 +254,6 @@ List.background #ffffff javax.swing.plaf.ColorUIResource [UI]
List.cellRenderer [active] javax.swing.DefaultListCellRenderer$UIResource [UI] List.cellRenderer [active] javax.swing.DefaultListCellRenderer$UIResource [UI]
List.dropLineColor #808080 javax.swing.plaf.ColorUIResource [UI] List.dropLineColor #808080 javax.swing.plaf.ColorUIResource [UI]
List.focusCellHighlightBorder [lazy] line: #ffff00 javax.swing.plaf.ColorUIResource [UI] 1 false 1,1,1,1 true javax.swing.plaf.BorderUIResource$LineBorderUIResource [UI] List.focusCellHighlightBorder [lazy] line: #ffff00 javax.swing.plaf.ColorUIResource [UI] 1 false 1,1,1,1 true javax.swing.plaf.BorderUIResource$LineBorderUIResource [UI]
List.focusInputMap.RightToLeft [lazy] 16 javax.swing.plaf.InputMapUIResource [UI]
ctrl pressed KP_LEFT selectNextColumnChangeLead
ctrl pressed KP_RIGHT selectPreviousColumnChangeLead
ctrl pressed LEFT selectNextColumnChangeLead
ctrl pressed RIGHT selectPreviousColumnChangeLead
pressed KP_LEFT selectNextColumn
pressed KP_RIGHT selectPreviousColumn
pressed LEFT selectNextColumn
pressed RIGHT selectPreviousColumn
shift ctrl pressed KP_LEFT selectNextColumnExtendSelection
shift ctrl pressed KP_RIGHT selectPreviousColumnExtendSelection
shift ctrl pressed LEFT selectNextColumnExtendSelection
shift ctrl pressed RIGHT selectPreviousColumnExtendSelection
shift pressed KP_LEFT selectNextColumnExtendSelection
shift pressed KP_RIGHT selectPreviousColumnExtendSelection
shift pressed LEFT selectNextColumnExtendSelection
shift pressed RIGHT selectPreviousColumnExtendSelection
List.focusInputMap [lazy] 64 javax.swing.plaf.InputMapUIResource [UI]
ctrl pressed A selectAll
ctrl pressed BACK_SLASH clearSelection
ctrl pressed C copy
ctrl pressed DOWN selectNextRowChangeLead
ctrl pressed END selectLastRowChangeLead
ctrl pressed HOME selectFirstRowChangeLead
ctrl pressed INSERT copy
ctrl pressed KP_DOWN selectNextRowChangeLead
ctrl pressed KP_LEFT selectPreviousColumnChangeLead
ctrl pressed KP_RIGHT selectNextColumnChangeLead
ctrl pressed KP_UP selectPreviousRowChangeLead
ctrl pressed LEFT selectPreviousColumnChangeLead
ctrl pressed PAGE_DOWN scrollDownChangeLead
ctrl pressed PAGE_UP scrollUpChangeLead
ctrl pressed RIGHT selectNextColumnChangeLead
ctrl pressed SLASH selectAll
ctrl pressed SPACE toggleAndAnchor
ctrl pressed UP selectPreviousRowChangeLead
ctrl pressed V paste
ctrl pressed X cut
pressed COPY copy
pressed CUT cut
pressed DOWN selectNextRow
pressed END selectLastRow
pressed HOME selectFirstRow
pressed KP_DOWN selectNextRow
pressed KP_LEFT selectPreviousColumn
pressed KP_RIGHT selectNextColumn
pressed KP_UP selectPreviousRow
pressed LEFT selectPreviousColumn
pressed PAGE_DOWN scrollDown
pressed PAGE_UP scrollUp
pressed PASTE paste
pressed RIGHT selectNextColumn
pressed SPACE addToSelection
pressed UP selectPreviousRow
shift ctrl pressed DOWN selectNextRowExtendSelection
shift ctrl pressed END selectLastRowExtendSelection
shift ctrl pressed HOME selectFirstRowExtendSelection
shift ctrl pressed KP_DOWN selectNextRowExtendSelection
shift ctrl pressed KP_LEFT selectPreviousColumnExtendSelection
shift ctrl pressed KP_RIGHT selectNextColumnExtendSelection
shift ctrl pressed KP_UP selectPreviousRowExtendSelection
shift ctrl pressed LEFT selectPreviousColumnExtendSelection
shift ctrl pressed PAGE_DOWN scrollDownExtendSelection
shift ctrl pressed PAGE_UP scrollUpExtendSelection
shift ctrl pressed RIGHT selectNextColumnExtendSelection
shift ctrl pressed SPACE moveSelectionTo
shift ctrl pressed UP selectPreviousRowExtendSelection
shift pressed DELETE cut
shift pressed DOWN selectNextRowExtendSelection
shift pressed END selectLastRowExtendSelection
shift pressed HOME selectFirstRowExtendSelection
shift pressed INSERT paste
shift pressed KP_DOWN selectNextRowExtendSelection
shift pressed KP_LEFT selectPreviousColumnExtendSelection
shift pressed KP_RIGHT selectNextColumnExtendSelection
shift pressed KP_UP selectPreviousRowExtendSelection
shift pressed LEFT selectPreviousColumnExtendSelection
shift pressed PAGE_DOWN scrollDownExtendSelection
shift pressed PAGE_UP scrollUpExtendSelection
shift pressed RIGHT selectNextColumnExtendSelection
shift pressed SPACE extendTo
shift pressed UP selectPreviousRowExtendSelection
List.font [lazy] Dialog plain 12 javax.swing.plaf.FontUIResource [UI] List.font [lazy] Dialog plain 12 javax.swing.plaf.FontUIResource [UI]
List.foreground #000000 javax.swing.plaf.ColorUIResource [UI] List.foreground #000000 javax.swing.plaf.ColorUIResource [UI]
List.noFocusBorder 1,1,1,1 false javax.swing.plaf.BorderUIResource$EmptyBorderUIResource [UI] List.noFocusBorder 1,1,1,1 false javax.swing.plaf.BorderUIResource$EmptyBorderUIResource [UI]
@@ -558,40 +383,6 @@ PopupMenu.border [lazy] javax.swing.plaf.BorderUIResource$Compound
PopupMenu.consumeEventOnClose false PopupMenu.consumeEventOnClose false
PopupMenu.font [lazy] Dialog plain 12 javax.swing.plaf.FontUIResource [UI] PopupMenu.font [lazy] Dialog plain 12 javax.swing.plaf.FontUIResource [UI]
PopupMenu.foreground #000000 javax.swing.plaf.ColorUIResource [UI] PopupMenu.foreground #000000 javax.swing.plaf.ColorUIResource [UI]
PopupMenu.selectedWindowInputMapBindings.RightToLeft length=8 [Ljava.lang.Object;
[0] LEFT
[1] selectChild
[2] KP_LEFT
[3] selectChild
[4] RIGHT
[5] selectParent
[6] KP_RIGHT
[7] selectParent
PopupMenu.selectedWindowInputMapBindings length=24 [Ljava.lang.Object;
[0] ESCAPE
[1] cancel
[2] DOWN
[3] selectNext
[4] KP_DOWN
[5] selectNext
[6] UP
[7] selectPrevious
[8] KP_UP
[9] selectPrevious
[10] LEFT
[11] selectParent
[12] KP_LEFT
[13] selectParent
[14] RIGHT
[15] selectChild
[16] KP_RIGHT
[17] selectChild
[18] ENTER
[19] return
[20] ctrl ENTER
[21] return
[22] SPACE
[23] return
#---- PopupMenuSeparator ---- #---- PopupMenuSeparator ----
@@ -628,9 +419,6 @@ RadioButton.border [lazy] javax.swing.plaf.BorderUIResource$Compound
2,2,2,2 false javax.swing.plaf.basic.BasicBorders$RadioButtonBorder [UI] 2,2,2,2 false javax.swing.plaf.basic.BasicBorders$RadioButtonBorder [UI]
0,0,0,0 false javax.swing.plaf.basic.BasicBorders$MarginBorder [UI] 0,0,0,0 false javax.swing.plaf.basic.BasicBorders$MarginBorder [UI]
RadioButton.darkShadow #000000 javax.swing.plaf.ColorUIResource [UI] RadioButton.darkShadow #000000 javax.swing.plaf.ColorUIResource [UI]
RadioButton.focusInputMap [lazy] 2 javax.swing.plaf.InputMapUIResource [UI]
pressed SPACE pressed
released SPACE released
RadioButton.font [lazy] Dialog plain 12 javax.swing.plaf.FontUIResource [UI] RadioButton.font [lazy] Dialog plain 12 javax.swing.plaf.FontUIResource [UI]
RadioButton.foreground #000000 javax.swing.plaf.ColorUIResource [UI] RadioButton.foreground #000000 javax.swing.plaf.ColorUIResource [UI]
RadioButton.highlight #ffffff javax.swing.plaf.ColorUIResource [UI] RadioButton.highlight #ffffff javax.swing.plaf.ColorUIResource [UI]
@@ -667,9 +455,6 @@ RadioButtonUI javax.swing.plaf.basic.BasicRadioButtonUI
#---- RootPane ---- #---- RootPane ----
RootPane.ancestorInputMap [lazy] 2 javax.swing.plaf.InputMapUIResource [UI]
pressed CONTEXT_MENU postPopup
shift pressed F10 postPopup
RootPane.defaultButtonWindowKeyBindings length=8 [Ljava.lang.Object; RootPane.defaultButtonWindowKeyBindings length=8 [Ljava.lang.Object;
[0] ENTER [0] ENTER
[1] press [1] press
@@ -684,24 +469,6 @@ RootPaneUI javax.swing.plaf.basic.BasicRootPaneUI
#---- ScrollBar ---- #---- ScrollBar ----
ScrollBar.ancestorInputMap.RightToLeft [lazy] 4 javax.swing.plaf.InputMapUIResource [UI]
pressed KP_LEFT positiveUnitIncrement
pressed KP_RIGHT negativeUnitIncrement
pressed LEFT positiveUnitIncrement
pressed RIGHT negativeUnitIncrement
ScrollBar.ancestorInputMap [lazy] 12 javax.swing.plaf.InputMapUIResource [UI]
pressed DOWN positiveUnitIncrement
pressed END maxScroll
pressed HOME minScroll
pressed KP_DOWN positiveUnitIncrement
pressed KP_LEFT negativeUnitIncrement
pressed KP_RIGHT positiveUnitIncrement
pressed KP_UP negativeUnitIncrement
pressed LEFT negativeUnitIncrement
pressed PAGE_DOWN positiveBlockIncrement
pressed PAGE_UP negativeBlockIncrement
pressed RIGHT positiveUnitIncrement
pressed UP negativeUnitIncrement
ScrollBar.background #e0e0e0 javax.swing.plaf.ColorUIResource [UI] ScrollBar.background #e0e0e0 javax.swing.plaf.ColorUIResource [UI]
ScrollBar.foreground #c0c0c0 javax.swing.plaf.ColorUIResource [UI] ScrollBar.foreground #c0c0c0 javax.swing.plaf.ColorUIResource [UI]
ScrollBar.maximumThumbSize 4096,4096 javax.swing.plaf.DimensionUIResource [UI] ScrollBar.maximumThumbSize 4096,4096 javax.swing.plaf.DimensionUIResource [UI]
@@ -718,24 +485,6 @@ ScrollBarUI javax.swing.plaf.basic.BasicScrollBarUI
#---- ScrollPane ---- #---- ScrollPane ----
ScrollPane.ancestorInputMap.RightToLeft [lazy] 2 javax.swing.plaf.InputMapUIResource [UI]
ctrl pressed PAGE_DOWN scrollLeft
ctrl pressed PAGE_UP scrollRight
ScrollPane.ancestorInputMap [lazy] 14 javax.swing.plaf.InputMapUIResource [UI]
ctrl pressed END scrollEnd
ctrl pressed HOME scrollHome
ctrl pressed PAGE_DOWN scrollRight
ctrl pressed PAGE_UP scrollLeft
pressed DOWN unitScrollDown
pressed KP_DOWN unitScrollDown
pressed KP_LEFT unitScrollLeft
pressed KP_RIGHT unitScrollRight
pressed KP_UP unitScrollUp
pressed LEFT unitScrollLeft
pressed PAGE_DOWN scrollDown
pressed PAGE_UP scrollUp
pressed RIGHT unitScrollRight
pressed UP unitScrollUp
ScrollPane.background #c0c0c0 javax.swing.plaf.ColorUIResource [UI] ScrollPane.background #c0c0c0 javax.swing.plaf.ColorUIResource [UI]
ScrollPane.border [lazy] 2,2,2,2 false javax.swing.plaf.basic.BasicBorders$FieldBorder [UI] ScrollPane.border [lazy] 2,2,2,2 false javax.swing.plaf.basic.BasicBorders$FieldBorder [UI]
ScrollPane.font [lazy] Dialog plain 12 javax.swing.plaf.FontUIResource [UI] ScrollPane.font [lazy] Dialog plain 12 javax.swing.plaf.FontUIResource [UI]
@@ -756,24 +505,6 @@ SeparatorUI javax.swing.plaf.basic.BasicSeparatorUI
Slider.background #c0c0c0 javax.swing.plaf.ColorUIResource [UI] Slider.background #c0c0c0 javax.swing.plaf.ColorUIResource [UI]
Slider.focus #000000 javax.swing.plaf.ColorUIResource [UI] Slider.focus #000000 javax.swing.plaf.ColorUIResource [UI]
Slider.focusInputMap.RightToLeft [lazy] 4 javax.swing.plaf.InputMapUIResource [UI]
pressed KP_LEFT positiveUnitIncrement
pressed KP_RIGHT negativeUnitIncrement
pressed LEFT positiveUnitIncrement
pressed RIGHT negativeUnitIncrement
Slider.focusInputMap [lazy] 12 javax.swing.plaf.InputMapUIResource [UI]
pressed DOWN negativeUnitIncrement
pressed END maxScroll
pressed HOME minScroll
pressed KP_DOWN negativeUnitIncrement
pressed KP_LEFT negativeUnitIncrement
pressed KP_RIGHT positiveUnitIncrement
pressed KP_UP positiveUnitIncrement
pressed LEFT negativeUnitIncrement
pressed PAGE_DOWN negativeBlockIncrement
pressed PAGE_UP positiveBlockIncrement
pressed RIGHT positiveUnitIncrement
pressed UP positiveUnitIncrement
Slider.focusInsets 2,2,2,2 javax.swing.plaf.InsetsUIResource [UI] Slider.focusInsets 2,2,2,2 javax.swing.plaf.InsetsUIResource [UI]
Slider.font [lazy] Dialog plain 12 javax.swing.plaf.FontUIResource [UI] Slider.font [lazy] Dialog plain 12 javax.swing.plaf.FontUIResource [UI]
Slider.foreground #c0c0c0 javax.swing.plaf.ColorUIResource [UI] Slider.foreground #c0c0c0 javax.swing.plaf.ColorUIResource [UI]
@@ -790,11 +521,6 @@ SliderUI javax.swing.plaf.basic.BasicSliderUI
#---- Spinner ---- #---- Spinner ----
Spinner.ancestorInputMap [lazy] 4 javax.swing.plaf.InputMapUIResource [UI]
pressed DOWN decrement
pressed KP_DOWN decrement
pressed KP_UP increment
pressed UP increment
Spinner.arrowButtonSize 16,5 java.awt.Dimension Spinner.arrowButtonSize 16,5 java.awt.Dimension
Spinner.background #c0c0c0 javax.swing.plaf.ColorUIResource [UI] Spinner.background #c0c0c0 javax.swing.plaf.ColorUIResource [UI]
Spinner.border [lazy] 2,2,2,2 false javax.swing.plaf.basic.BasicBorders$FieldBorder [UI] Spinner.border [lazy] 2,2,2,2 false javax.swing.plaf.basic.BasicBorders$FieldBorder [UI]
@@ -807,21 +533,6 @@ SpinnerUI javax.swing.plaf.basic.BasicSpinnerUI
#---- SplitPane ---- #---- SplitPane ----
SplitPane.ancestorInputMap [lazy] 14 javax.swing.plaf.InputMapUIResource [UI]
ctrl pressed TAB focusOutForward
pressed DOWN positiveIncrement
pressed END selectMax
pressed F6 toggleFocus
pressed F8 startResize
pressed HOME selectMin
pressed KP_DOWN positiveIncrement
pressed KP_LEFT negativeIncrement
pressed KP_RIGHT positiveIncrement
pressed KP_UP negativeIncrement
pressed LEFT negativeIncrement
pressed RIGHT positiveIncrement
pressed UP negativeIncrement
shift ctrl pressed TAB focusOutBackward
SplitPane.background #c0c0c0 javax.swing.plaf.ColorUIResource [UI] SplitPane.background #c0c0c0 javax.swing.plaf.ColorUIResource [UI]
SplitPane.border [lazy] 1,1,1,1 true javax.swing.plaf.basic.BasicBorders$SplitPaneBorder [UI] SplitPane.border [lazy] 1,1,1,1 true javax.swing.plaf.basic.BasicBorders$SplitPaneBorder [UI]
SplitPane.darkShadow #000000 javax.swing.plaf.ColorUIResource [UI] SplitPane.darkShadow #000000 javax.swing.plaf.ColorUIResource [UI]
@@ -843,27 +554,11 @@ SplitPaneUI javax.swing.plaf.basic.BasicSplitPaneUI
#---- TabbedPane ---- #---- TabbedPane ----
TabbedPane.ancestorInputMap [lazy] 4 javax.swing.plaf.InputMapUIResource [UI]
ctrl pressed KP_UP requestFocus
ctrl pressed PAGE_DOWN navigatePageDown
ctrl pressed PAGE_UP navigatePageUp
ctrl pressed UP requestFocus
TabbedPane.background #c0c0c0 javax.swing.plaf.ColorUIResource [UI] TabbedPane.background #c0c0c0 javax.swing.plaf.ColorUIResource [UI]
TabbedPane.contentBorderInsets 2,2,3,3 javax.swing.plaf.InsetsUIResource [UI] TabbedPane.contentBorderInsets 2,2,3,3 javax.swing.plaf.InsetsUIResource [UI]
TabbedPane.contentOpaque true TabbedPane.contentOpaque true
TabbedPane.darkShadow #000000 javax.swing.plaf.ColorUIResource [UI] TabbedPane.darkShadow #000000 javax.swing.plaf.ColorUIResource [UI]
TabbedPane.focus #000000 javax.swing.plaf.ColorUIResource [UI] TabbedPane.focus #000000 javax.swing.plaf.ColorUIResource [UI]
TabbedPane.focusInputMap [lazy] 10 javax.swing.plaf.InputMapUIResource [UI]
ctrl pressed DOWN requestFocusForVisibleComponent
ctrl pressed KP_DOWN requestFocusForVisibleComponent
pressed DOWN navigateDown
pressed KP_DOWN navigateDown
pressed KP_LEFT navigateLeft
pressed KP_RIGHT navigateRight
pressed KP_UP navigateUp
pressed LEFT navigateLeft
pressed RIGHT navigateRight
pressed UP navigateUp
TabbedPane.font [lazy] Dialog plain 12 javax.swing.plaf.FontUIResource [UI] TabbedPane.font [lazy] Dialog plain 12 javax.swing.plaf.FontUIResource [UI]
TabbedPane.foreground #000000 javax.swing.plaf.ColorUIResource [UI] TabbedPane.foreground #000000 javax.swing.plaf.ColorUIResource [UI]
TabbedPane.highlight #ffffff javax.swing.plaf.ColorUIResource [UI] TabbedPane.highlight #ffffff javax.swing.plaf.ColorUIResource [UI]
@@ -884,99 +579,6 @@ TabbedPaneUI javax.swing.plaf.basic.BasicTabbedPaneUI
#---- Table ---- #---- Table ----
Table.ancestorInputMap.RightToLeft [lazy] 20 javax.swing.plaf.InputMapUIResource [UI]
ctrl pressed KP_LEFT selectNextColumnChangeLead
ctrl pressed KP_RIGHT selectPreviousColumnChangeLead
ctrl pressed LEFT selectNextColumnChangeLead
ctrl pressed PAGE_DOWN scrollLeftChangeSelection
ctrl pressed PAGE_UP scrollRightChangeSelection
ctrl pressed RIGHT selectPreviousColumnChangeLead
pressed KP_LEFT selectNextColumn
pressed KP_RIGHT selectPreviousColumn
pressed LEFT selectNextColumn
pressed RIGHT selectPreviousColumn
shift ctrl pressed KP_LEFT selectNextColumnExtendSelection
shift ctrl pressed KP_RIGHT selectPreviousColumnExtendSelection
shift ctrl pressed LEFT selectNextColumnExtendSelection
shift ctrl pressed PAGE_DOWN scrollLeftExtendSelection
shift ctrl pressed PAGE_UP scrollRightExtendSelection
shift ctrl pressed RIGHT selectPreviousColumnExtendSelection
shift pressed KP_LEFT selectNextColumnExtendSelection
shift pressed KP_RIGHT selectPreviousColumnExtendSelection
shift pressed LEFT selectNextColumnExtendSelection
shift pressed RIGHT selectPreviousColumnExtendSelection
Table.ancestorInputMap [lazy] 71 javax.swing.plaf.InputMapUIResource [UI]
ctrl pressed A selectAll
ctrl pressed BACK_SLASH clearSelection
ctrl pressed C copy
ctrl pressed DOWN selectNextRowChangeLead
ctrl pressed END selectLastRow
ctrl pressed HOME selectFirstRow
ctrl pressed INSERT copy
ctrl pressed KP_DOWN selectNextRowChangeLead
ctrl pressed KP_LEFT selectPreviousColumnChangeLead
ctrl pressed KP_RIGHT selectNextColumnChangeLead
ctrl pressed KP_UP selectPreviousRowChangeLead
ctrl pressed LEFT selectPreviousColumnChangeLead
ctrl pressed PAGE_DOWN scrollRightChangeSelection
ctrl pressed PAGE_UP scrollLeftChangeSelection
ctrl pressed RIGHT selectNextColumnChangeLead
ctrl pressed SLASH selectAll
ctrl pressed SPACE toggleAndAnchor
ctrl pressed UP selectPreviousRowChangeLead
ctrl pressed V paste
ctrl pressed X cut
pressed COPY copy
pressed CUT cut
pressed DOWN selectNextRow
pressed END selectLastColumn
pressed ENTER selectNextRowCell
pressed ESCAPE cancel
pressed F2 startEditing
pressed F8 focusHeader
pressed HOME selectFirstColumn
pressed KP_DOWN selectNextRow
pressed KP_LEFT selectPreviousColumn
pressed KP_RIGHT selectNextColumn
pressed KP_UP selectPreviousRow
pressed LEFT selectPreviousColumn
pressed PAGE_DOWN scrollDownChangeSelection
pressed PAGE_UP scrollUpChangeSelection
pressed PASTE paste
pressed RIGHT selectNextColumn
pressed SPACE addToSelection
pressed TAB selectNextColumnCell
pressed UP selectPreviousRow
shift ctrl pressed DOWN selectNextRowExtendSelection
shift ctrl pressed END selectLastRowExtendSelection
shift ctrl pressed HOME selectFirstRowExtendSelection
shift ctrl pressed KP_DOWN selectNextRowExtendSelection
shift ctrl pressed KP_LEFT selectPreviousColumnExtendSelection
shift ctrl pressed KP_RIGHT selectNextColumnExtendSelection
shift ctrl pressed KP_UP selectPreviousRowExtendSelection
shift ctrl pressed LEFT selectPreviousColumnExtendSelection
shift ctrl pressed PAGE_DOWN scrollRightExtendSelection
shift ctrl pressed PAGE_UP scrollLeftExtendSelection
shift ctrl pressed RIGHT selectNextColumnExtendSelection
shift ctrl pressed SPACE moveSelectionTo
shift ctrl pressed UP selectPreviousRowExtendSelection
shift pressed DELETE cut
shift pressed DOWN selectNextRowExtendSelection
shift pressed END selectLastColumnExtendSelection
shift pressed ENTER selectPreviousRowCell
shift pressed HOME selectFirstColumnExtendSelection
shift pressed INSERT paste
shift pressed KP_DOWN selectNextRowExtendSelection
shift pressed KP_LEFT selectPreviousColumnExtendSelection
shift pressed KP_RIGHT selectNextColumnExtendSelection
shift pressed KP_UP selectPreviousRowExtendSelection
shift pressed LEFT selectPreviousColumnExtendSelection
shift pressed PAGE_DOWN scrollDownExtendSelection
shift pressed PAGE_UP scrollUpExtendSelection
shift pressed RIGHT selectNextColumnExtendSelection
shift pressed SPACE extendTo
shift pressed TAB selectPreviousColumnCell
shift pressed UP selectPreviousRowExtendSelection
Table.ascendingSortIcon [lazy] 17,7 sun.swing.icon.SortArrowIcon [UI] Table.ascendingSortIcon [lazy] 17,7 sun.swing.icon.SortArrowIcon [UI]
Table.background #ffffff javax.swing.plaf.ColorUIResource [UI] Table.background #ffffff javax.swing.plaf.ColorUIResource [UI]
Table.descendingSortIcon [lazy] 17,7 sun.swing.icon.SortArrowIcon [UI] Table.descendingSortIcon [lazy] 17,7 sun.swing.icon.SortArrowIcon [UI]
@@ -996,21 +598,6 @@ Table.sortIconColor #808080 javax.swing.plaf.ColorUIResource [UI]
#---- TableHeader ---- #---- TableHeader ----
TableHeader.ancestorInputMap [lazy] 14 javax.swing.plaf.InputMapUIResource [UI]
alt pressed KP_LEFT moveColumnLeft
alt pressed KP_RIGHT moveColumnRight
alt pressed LEFT moveColumnLeft
alt pressed RIGHT moveColumnRight
pressed ESCAPE focusTable
pressed KP_LEFT selectColumnToLeft
pressed KP_RIGHT selectColumnToRight
pressed LEFT selectColumnToLeft
pressed RIGHT selectColumnToRight
pressed SPACE toggleSortOrder
shift alt pressed KP_LEFT resizeLeft
shift alt pressed KP_RIGHT resizeRight
shift alt pressed LEFT resizeLeft
shift alt pressed RIGHT resizeRight
TableHeader.background #c0c0c0 javax.swing.plaf.ColorUIResource [UI] TableHeader.background #c0c0c0 javax.swing.plaf.ColorUIResource [UI]
TableHeader.cellBorder [lazy] 2,2,2,2 true javax.swing.plaf.BorderUIResource$BevelBorderUIResource [UI] TableHeader.cellBorder [lazy] 2,2,2,2 true javax.swing.plaf.BorderUIResource$BevelBorderUIResource [UI]
TableHeader.focusCellBackground #c0c0c0 javax.swing.plaf.ColorUIResource [UI] TableHeader.focusCellBackground #c0c0c0 javax.swing.plaf.ColorUIResource [UI]
@@ -1088,9 +675,6 @@ ToggleButton.border [lazy] javax.swing.plaf.BorderUIResource$Compound
2,2,2,2 false javax.swing.plaf.basic.BasicBorders$ToggleButtonBorder [UI] 2,2,2,2 false javax.swing.plaf.basic.BasicBorders$ToggleButtonBorder [UI]
0,0,0,0 false javax.swing.plaf.basic.BasicBorders$MarginBorder [UI] 0,0,0,0 false javax.swing.plaf.basic.BasicBorders$MarginBorder [UI]
ToggleButton.darkShadow #000000 javax.swing.plaf.ColorUIResource [UI] ToggleButton.darkShadow #000000 javax.swing.plaf.ColorUIResource [UI]
ToggleButton.focusInputMap [lazy] 2 javax.swing.plaf.InputMapUIResource [UI]
pressed SPACE pressed
released SPACE released
ToggleButton.font [lazy] Dialog plain 12 javax.swing.plaf.FontUIResource [UI] ToggleButton.font [lazy] Dialog plain 12 javax.swing.plaf.FontUIResource [UI]
ToggleButton.foreground #000000 javax.swing.plaf.ColorUIResource [UI] ToggleButton.foreground #000000 javax.swing.plaf.ColorUIResource [UI]
ToggleButton.highlight #ffffff javax.swing.plaf.ColorUIResource [UI] ToggleButton.highlight #ffffff javax.swing.plaf.ColorUIResource [UI]
@@ -1104,15 +688,6 @@ ToggleButtonUI javax.swing.plaf.basic.BasicToggleButtonUI
#---- ToolBar ---- #---- ToolBar ----
ToolBar.ancestorInputMap [lazy] 8 javax.swing.plaf.InputMapUIResource [UI]
pressed DOWN navigateDown
pressed KP_DOWN navigateDown
pressed KP_LEFT navigateLeft
pressed KP_RIGHT navigateRight
pressed KP_UP navigateUp
pressed LEFT navigateLeft
pressed RIGHT navigateRight
pressed UP navigateUp
ToolBar.background #c0c0c0 javax.swing.plaf.ColorUIResource [UI] ToolBar.background #c0c0c0 javax.swing.plaf.ColorUIResource [UI]
ToolBar.border [lazy] 2,2,2,2 true javax.swing.plaf.BorderUIResource$EtchedBorderUIResource [UI] ToolBar.border [lazy] 2,2,2,2 true javax.swing.plaf.BorderUIResource$EtchedBorderUIResource [UI]
ToolBar.darkShadow #000000 javax.swing.plaf.ColorUIResource [UI] ToolBar.darkShadow #000000 javax.swing.plaf.ColorUIResource [UI]
@@ -1158,77 +733,12 @@ ToolTipUI javax.swing.plaf.basic.BasicToolTipUI
#---- Tree ---- #---- Tree ----
Tree.ancestorInputMap [lazy] 1 javax.swing.plaf.InputMapUIResource [UI]
pressed ESCAPE cancel
Tree.background #ffffff javax.swing.plaf.ColorUIResource [UI] Tree.background #ffffff javax.swing.plaf.ColorUIResource [UI]
Tree.changeSelectionWithFocus true Tree.changeSelectionWithFocus true
Tree.closedIcon [lazy] null Tree.closedIcon [lazy] null
Tree.drawsFocusBorderAroundIcon false Tree.drawsFocusBorderAroundIcon false
Tree.dropLineColor #808080 javax.swing.plaf.ColorUIResource [UI] Tree.dropLineColor #808080 javax.swing.plaf.ColorUIResource [UI]
Tree.editorBorder [lazy] line: #000000 java.awt.Color 1 false 1,1,1,1 true javax.swing.plaf.BorderUIResource$LineBorderUIResource [UI] Tree.editorBorder [lazy] line: #000000 java.awt.Color 1 false 1,1,1,1 true javax.swing.plaf.BorderUIResource$LineBorderUIResource [UI]
Tree.focusInputMap.RightToLeft [lazy] 4 javax.swing.plaf.InputMapUIResource [UI]
pressed KP_LEFT selectChild
pressed KP_RIGHT selectParent
pressed LEFT selectChild
pressed RIGHT selectParent
Tree.focusInputMap [lazy] 57 javax.swing.plaf.InputMapUIResource [UI]
ctrl pressed A selectAll
ctrl pressed BACK_SLASH clearSelection
ctrl pressed C copy
ctrl pressed DOWN selectNextChangeLead
ctrl pressed END selectLastChangeLead
ctrl pressed HOME selectFirstChangeLead
ctrl pressed INSERT copy
ctrl pressed KP_DOWN selectNextChangeLead
ctrl pressed KP_LEFT scrollLeft
ctrl pressed KP_RIGHT scrollRight
ctrl pressed KP_UP selectPreviousChangeLead
ctrl pressed LEFT scrollLeft
ctrl pressed PAGE_DOWN scrollDownChangeLead
ctrl pressed PAGE_UP scrollUpChangeLead
ctrl pressed RIGHT scrollRight
ctrl pressed SLASH selectAll
ctrl pressed SPACE toggleAndAnchor
ctrl pressed UP selectPreviousChangeLead
ctrl pressed V paste
ctrl pressed X cut
pressed COPY copy
pressed CUT cut
pressed DOWN selectNext
pressed END selectLast
pressed F2 startEditing
pressed HOME selectFirst
pressed KP_DOWN selectNext
pressed KP_LEFT selectParent
pressed KP_RIGHT selectChild
pressed KP_UP selectPrevious
pressed LEFT selectParent
pressed PAGE_DOWN scrollDownChangeSelection
pressed PAGE_UP scrollUpChangeSelection
pressed PASTE paste
pressed RIGHT selectChild
pressed SPACE addToSelection
pressed UP selectPrevious
shift ctrl pressed DOWN selectNextExtendSelection
shift ctrl pressed END selectLastExtendSelection
shift ctrl pressed HOME selectFirstExtendSelection
shift ctrl pressed KP_DOWN selectNextExtendSelection
shift ctrl pressed KP_UP selectPreviousExtendSelection
shift ctrl pressed PAGE_DOWN scrollDownExtendSelection
shift ctrl pressed PAGE_UP scrollUpExtendSelection
shift ctrl pressed SPACE moveSelectionTo
shift ctrl pressed UP selectPreviousExtendSelection
shift pressed DELETE cut
shift pressed DOWN selectNextExtendSelection
shift pressed END selectLastExtendSelection
shift pressed HOME selectFirstExtendSelection
shift pressed INSERT paste
shift pressed KP_DOWN selectNextExtendSelection
shift pressed KP_UP selectPreviousExtendSelection
shift pressed PAGE_DOWN scrollDownExtendSelection
shift pressed PAGE_UP scrollUpExtendSelection
shift pressed SPACE extendTo
shift pressed UP selectPreviousExtendSelection
Tree.font [lazy] Dialog plain 12 javax.swing.plaf.FontUIResource [UI] Tree.font [lazy] Dialog plain 12 javax.swing.plaf.FontUIResource [UI]
Tree.foreground #000000 javax.swing.plaf.ColorUIResource [UI] Tree.foreground #000000 javax.swing.plaf.ColorUIResource [UI]
Tree.hash #808080 javax.swing.plaf.ColorUIResource [UI] Tree.hash #808080 javax.swing.plaf.ColorUIResource [UI]

View File

@@ -0,0 +1,579 @@
Class javax.swing.plaf.basic.BasicLookAndFeel
ID Basic
Name Basic
Java 1.8.0_202
OS Windows 10
#---- Button ----
Button.focusInputMap [lazy] 4 javax.swing.plaf.InputMapUIResource [UI]
ENTER pressed
SPACE pressed
released ENTER released
released SPACE released
#---- CheckBox ----
CheckBox.focusInputMap [lazy] 2 javax.swing.plaf.InputMapUIResource [UI]
SPACE pressed
released SPACE released
#---- ComboBox ----
ComboBox.ancestorInputMap [lazy] 6 javax.swing.plaf.InputMapUIResource [UI]
END endPassThrough
ENTER enterPressed
ESCAPE hidePopup
HOME homePassThrough
PAGE_DOWN pageDownPassThrough
PAGE_UP pageUpPassThrough
#---- Desktop ----
Desktop.ancestorInputMap [lazy] 29 javax.swing.plaf.InputMapUIResource [UI]
ctrl alt F6 selectNextFrame
ctrl F10 maximize
ctrl F12 navigateNext
ctrl F4 close
ctrl F5 restore
ctrl F6 selectNextFrame
ctrl F7 move
ctrl F8 resize
ctrl F9 minimize
ctrl TAB selectNextFrame
DOWN down
ESCAPE escape
KP_DOWN down
KP_LEFT left
KP_RIGHT right
KP_UP up
LEFT left
RIGHT right
UP up
shift ctrl alt F6 selectPreviousFrame
shift ctrl F12 navigatePrevious
shift DOWN shrinkDown
shift KP_DOWN shrinkDown
shift KP_LEFT shrinkLeft
shift KP_RIGHT shrinkRight
shift KP_UP shrinkUp
shift LEFT shrinkLeft
shift RIGHT shrinkRight
shift UP shrinkUp
#---- FileChooser ----
FileChooser.ancestorInputMap [lazy] 2 javax.swing.plaf.InputMapUIResource [UI]
ESCAPE cancelSelection
F5 refresh
#---- FormattedTextField ----
FormattedTextField.focusInputMap [lazy] 44 javax.swing.plaf.InputMapUIResource [UI]
ctrl A select-all
ctrl BACK_SLASH unselect
ctrl BACK_SPACE delete-previous-word
ctrl C copy-to-clipboard
ctrl DELETE delete-next-word
ctrl H delete-previous
ctrl INSERT copy-to-clipboard
ctrl KP_LEFT caret-previous-word
ctrl KP_RIGHT caret-next-word
ctrl LEFT caret-previous-word
ctrl RIGHT caret-next-word
ctrl V paste-from-clipboard
ctrl X cut-to-clipboard
BACK_SPACE delete-previous
COPY copy-to-clipboard
CUT cut-to-clipboard
DELETE delete-next
DOWN decrement
END caret-end-line
ENTER notify-field-accept
ESCAPE reset-field-edit
HOME caret-begin-line
KP_DOWN decrement
KP_LEFT caret-backward
KP_RIGHT caret-forward
KP_UP increment
LEFT caret-backward
PASTE paste-from-clipboard
RIGHT caret-forward
UP increment
shift ctrl KP_LEFT selection-previous-word
shift ctrl KP_RIGHT selection-next-word
shift ctrl LEFT selection-previous-word
shift ctrl O toggle-componentOrientation
shift ctrl RIGHT selection-next-word
shift BACK_SPACE delete-previous
shift DELETE cut-to-clipboard
shift END selection-end-line
shift HOME selection-begin-line
shift INSERT paste-from-clipboard
shift KP_LEFT selection-backward
shift KP_RIGHT selection-forward
shift LEFT selection-backward
shift RIGHT selection-forward
#---- List ----
List.focusInputMap.RightToLeft [lazy] 16 javax.swing.plaf.InputMapUIResource [UI]
ctrl KP_LEFT selectNextColumnChangeLead
ctrl KP_RIGHT selectPreviousColumnChangeLead
ctrl LEFT selectNextColumnChangeLead
ctrl RIGHT selectPreviousColumnChangeLead
KP_LEFT selectNextColumn
KP_RIGHT selectPreviousColumn
LEFT selectNextColumn
RIGHT selectPreviousColumn
shift ctrl KP_LEFT selectNextColumnExtendSelection
shift ctrl KP_RIGHT selectPreviousColumnExtendSelection
shift ctrl LEFT selectNextColumnExtendSelection
shift ctrl RIGHT selectPreviousColumnExtendSelection
shift KP_LEFT selectNextColumnExtendSelection
shift KP_RIGHT selectPreviousColumnExtendSelection
shift LEFT selectNextColumnExtendSelection
shift RIGHT selectPreviousColumnExtendSelection
List.focusInputMap [lazy] 64 javax.swing.plaf.InputMapUIResource [UI]
ctrl A selectAll
ctrl BACK_SLASH clearSelection
ctrl C copy
ctrl DOWN selectNextRowChangeLead
ctrl END selectLastRowChangeLead
ctrl HOME selectFirstRowChangeLead
ctrl INSERT copy
ctrl KP_DOWN selectNextRowChangeLead
ctrl KP_LEFT selectPreviousColumnChangeLead
ctrl KP_RIGHT selectNextColumnChangeLead
ctrl KP_UP selectPreviousRowChangeLead
ctrl LEFT selectPreviousColumnChangeLead
ctrl PAGE_DOWN scrollDownChangeLead
ctrl PAGE_UP scrollUpChangeLead
ctrl RIGHT selectNextColumnChangeLead
ctrl SLASH selectAll
ctrl SPACE toggleAndAnchor
ctrl UP selectPreviousRowChangeLead
ctrl V paste
ctrl X cut
COPY copy
CUT cut
DOWN selectNextRow
END selectLastRow
HOME selectFirstRow
KP_DOWN selectNextRow
KP_LEFT selectPreviousColumn
KP_RIGHT selectNextColumn
KP_UP selectPreviousRow
LEFT selectPreviousColumn
PAGE_DOWN scrollDown
PAGE_UP scrollUp
PASTE paste
RIGHT selectNextColumn
SPACE addToSelection
UP selectPreviousRow
shift ctrl DOWN selectNextRowExtendSelection
shift ctrl END selectLastRowExtendSelection
shift ctrl HOME selectFirstRowExtendSelection
shift ctrl KP_DOWN selectNextRowExtendSelection
shift ctrl KP_LEFT selectPreviousColumnExtendSelection
shift ctrl KP_RIGHT selectNextColumnExtendSelection
shift ctrl KP_UP selectPreviousRowExtendSelection
shift ctrl LEFT selectPreviousColumnExtendSelection
shift ctrl PAGE_DOWN scrollDownExtendSelection
shift ctrl PAGE_UP scrollUpExtendSelection
shift ctrl RIGHT selectNextColumnExtendSelection
shift ctrl SPACE moveSelectionTo
shift ctrl UP selectPreviousRowExtendSelection
shift DELETE cut
shift DOWN selectNextRowExtendSelection
shift END selectLastRowExtendSelection
shift HOME selectFirstRowExtendSelection
shift INSERT paste
shift KP_DOWN selectNextRowExtendSelection
shift KP_LEFT selectPreviousColumnExtendSelection
shift KP_RIGHT selectNextColumnExtendSelection
shift KP_UP selectPreviousRowExtendSelection
shift LEFT selectPreviousColumnExtendSelection
shift PAGE_DOWN scrollDownExtendSelection
shift PAGE_UP scrollUpExtendSelection
shift RIGHT selectNextColumnExtendSelection
shift SPACE extendTo
shift UP selectPreviousRowExtendSelection
#---- PopupMenu ----
PopupMenu.selectedWindowInputMapBindings.RightToLeft length=8 [Ljava.lang.Object;
[0] LEFT
[1] selectChild
[2] KP_LEFT
[3] selectChild
[4] RIGHT
[5] selectParent
[6] KP_RIGHT
[7] selectParent
PopupMenu.selectedWindowInputMapBindings length=24 [Ljava.lang.Object;
[0] ESCAPE
[1] cancel
[2] DOWN
[3] selectNext
[4] KP_DOWN
[5] selectNext
[6] UP
[7] selectPrevious
[8] KP_UP
[9] selectPrevious
[10] LEFT
[11] selectParent
[12] KP_LEFT
[13] selectParent
[14] RIGHT
[15] selectChild
[16] KP_RIGHT
[17] selectChild
[18] ENTER
[19] return
[20] ctrl ENTER
[21] return
[22] SPACE
[23] return
#---- RadioButton ----
RadioButton.focusInputMap [lazy] 2 javax.swing.plaf.InputMapUIResource [UI]
SPACE pressed
released SPACE released
#---- RootPane ----
RootPane.ancestorInputMap [lazy] 2 javax.swing.plaf.InputMapUIResource [UI]
CONTEXT_MENU postPopup
shift F10 postPopup
#---- ScrollBar ----
ScrollBar.ancestorInputMap.RightToLeft [lazy] 4 javax.swing.plaf.InputMapUIResource [UI]
KP_LEFT positiveUnitIncrement
KP_RIGHT negativeUnitIncrement
LEFT positiveUnitIncrement
RIGHT negativeUnitIncrement
ScrollBar.ancestorInputMap [lazy] 12 javax.swing.plaf.InputMapUIResource [UI]
DOWN positiveUnitIncrement
END maxScroll
HOME minScroll
KP_DOWN positiveUnitIncrement
KP_LEFT negativeUnitIncrement
KP_RIGHT positiveUnitIncrement
KP_UP negativeUnitIncrement
LEFT negativeUnitIncrement
PAGE_DOWN positiveBlockIncrement
PAGE_UP negativeBlockIncrement
RIGHT positiveUnitIncrement
UP negativeUnitIncrement
#---- ScrollPane ----
ScrollPane.ancestorInputMap.RightToLeft [lazy] 2 javax.swing.plaf.InputMapUIResource [UI]
ctrl PAGE_DOWN scrollLeft
ctrl PAGE_UP scrollRight
ScrollPane.ancestorInputMap [lazy] 14 javax.swing.plaf.InputMapUIResource [UI]
ctrl END scrollEnd
ctrl HOME scrollHome
ctrl PAGE_DOWN scrollRight
ctrl PAGE_UP scrollLeft
DOWN unitScrollDown
KP_DOWN unitScrollDown
KP_LEFT unitScrollLeft
KP_RIGHT unitScrollRight
KP_UP unitScrollUp
LEFT unitScrollLeft
PAGE_DOWN scrollDown
PAGE_UP scrollUp
RIGHT unitScrollRight
UP unitScrollUp
#---- Slider ----
Slider.focusInputMap.RightToLeft [lazy] 4 javax.swing.plaf.InputMapUIResource [UI]
KP_LEFT positiveUnitIncrement
KP_RIGHT negativeUnitIncrement
LEFT positiveUnitIncrement
RIGHT negativeUnitIncrement
Slider.focusInputMap [lazy] 12 javax.swing.plaf.InputMapUIResource [UI]
DOWN negativeUnitIncrement
END maxScroll
HOME minScroll
KP_DOWN negativeUnitIncrement
KP_LEFT negativeUnitIncrement
KP_RIGHT positiveUnitIncrement
KP_UP positiveUnitIncrement
LEFT negativeUnitIncrement
PAGE_DOWN negativeBlockIncrement
PAGE_UP positiveBlockIncrement
RIGHT positiveUnitIncrement
UP positiveUnitIncrement
#---- Spinner ----
Spinner.ancestorInputMap [lazy] 4 javax.swing.plaf.InputMapUIResource [UI]
DOWN decrement
KP_DOWN decrement
KP_UP increment
UP increment
#---- SplitPane ----
SplitPane.ancestorInputMap [lazy] 14 javax.swing.plaf.InputMapUIResource [UI]
ctrl TAB focusOutForward
DOWN positiveIncrement
END selectMax
F6 toggleFocus
F8 startResize
HOME selectMin
KP_DOWN positiveIncrement
KP_LEFT negativeIncrement
KP_RIGHT positiveIncrement
KP_UP negativeIncrement
LEFT negativeIncrement
RIGHT positiveIncrement
UP negativeIncrement
shift ctrl TAB focusOutBackward
#---- TabbedPane ----
TabbedPane.ancestorInputMap [lazy] 4 javax.swing.plaf.InputMapUIResource [UI]
ctrl KP_UP requestFocus
ctrl PAGE_DOWN navigatePageDown
ctrl PAGE_UP navigatePageUp
ctrl UP requestFocus
TabbedPane.focusInputMap [lazy] 10 javax.swing.plaf.InputMapUIResource [UI]
ctrl DOWN requestFocusForVisibleComponent
ctrl KP_DOWN requestFocusForVisibleComponent
DOWN navigateDown
KP_DOWN navigateDown
KP_LEFT navigateLeft
KP_RIGHT navigateRight
KP_UP navigateUp
LEFT navigateLeft
RIGHT navigateRight
UP navigateUp
#---- Table ----
Table.ancestorInputMap.RightToLeft [lazy] 20 javax.swing.plaf.InputMapUIResource [UI]
ctrl KP_LEFT selectNextColumnChangeLead
ctrl KP_RIGHT selectPreviousColumnChangeLead
ctrl LEFT selectNextColumnChangeLead
ctrl PAGE_DOWN scrollLeftChangeSelection
ctrl PAGE_UP scrollRightChangeSelection
ctrl RIGHT selectPreviousColumnChangeLead
KP_LEFT selectNextColumn
KP_RIGHT selectPreviousColumn
LEFT selectNextColumn
RIGHT selectPreviousColumn
shift ctrl KP_LEFT selectNextColumnExtendSelection
shift ctrl KP_RIGHT selectPreviousColumnExtendSelection
shift ctrl LEFT selectNextColumnExtendSelection
shift ctrl PAGE_DOWN scrollLeftExtendSelection
shift ctrl PAGE_UP scrollRightExtendSelection
shift ctrl RIGHT selectPreviousColumnExtendSelection
shift KP_LEFT selectNextColumnExtendSelection
shift KP_RIGHT selectPreviousColumnExtendSelection
shift LEFT selectNextColumnExtendSelection
shift RIGHT selectPreviousColumnExtendSelection
Table.ancestorInputMap [lazy] 71 javax.swing.plaf.InputMapUIResource [UI]
ctrl A selectAll
ctrl BACK_SLASH clearSelection
ctrl C copy
ctrl DOWN selectNextRowChangeLead
ctrl END selectLastRow
ctrl HOME selectFirstRow
ctrl INSERT copy
ctrl KP_DOWN selectNextRowChangeLead
ctrl KP_LEFT selectPreviousColumnChangeLead
ctrl KP_RIGHT selectNextColumnChangeLead
ctrl KP_UP selectPreviousRowChangeLead
ctrl LEFT selectPreviousColumnChangeLead
ctrl PAGE_DOWN scrollRightChangeSelection
ctrl PAGE_UP scrollLeftChangeSelection
ctrl RIGHT selectNextColumnChangeLead
ctrl SLASH selectAll
ctrl SPACE toggleAndAnchor
ctrl UP selectPreviousRowChangeLead
ctrl V paste
ctrl X cut
COPY copy
CUT cut
DOWN selectNextRow
END selectLastColumn
ENTER selectNextRowCell
ESCAPE cancel
F2 startEditing
F8 focusHeader
HOME selectFirstColumn
KP_DOWN selectNextRow
KP_LEFT selectPreviousColumn
KP_RIGHT selectNextColumn
KP_UP selectPreviousRow
LEFT selectPreviousColumn
PAGE_DOWN scrollDownChangeSelection
PAGE_UP scrollUpChangeSelection
PASTE paste
RIGHT selectNextColumn
SPACE addToSelection
TAB selectNextColumnCell
UP selectPreviousRow
shift ctrl DOWN selectNextRowExtendSelection
shift ctrl END selectLastRowExtendSelection
shift ctrl HOME selectFirstRowExtendSelection
shift ctrl KP_DOWN selectNextRowExtendSelection
shift ctrl KP_LEFT selectPreviousColumnExtendSelection
shift ctrl KP_RIGHT selectNextColumnExtendSelection
shift ctrl KP_UP selectPreviousRowExtendSelection
shift ctrl LEFT selectPreviousColumnExtendSelection
shift ctrl PAGE_DOWN scrollRightExtendSelection
shift ctrl PAGE_UP scrollLeftExtendSelection
shift ctrl RIGHT selectNextColumnExtendSelection
shift ctrl SPACE moveSelectionTo
shift ctrl UP selectPreviousRowExtendSelection
shift DELETE cut
shift DOWN selectNextRowExtendSelection
shift END selectLastColumnExtendSelection
shift ENTER selectPreviousRowCell
shift HOME selectFirstColumnExtendSelection
shift INSERT paste
shift KP_DOWN selectNextRowExtendSelection
shift KP_LEFT selectPreviousColumnExtendSelection
shift KP_RIGHT selectNextColumnExtendSelection
shift KP_UP selectPreviousRowExtendSelection
shift LEFT selectPreviousColumnExtendSelection
shift PAGE_DOWN scrollDownExtendSelection
shift PAGE_UP scrollUpExtendSelection
shift RIGHT selectNextColumnExtendSelection
shift SPACE extendTo
shift TAB selectPreviousColumnCell
shift UP selectPreviousRowExtendSelection
#---- TableHeader ----
TableHeader.ancestorInputMap [lazy] 14 javax.swing.plaf.InputMapUIResource [UI]
alt KP_LEFT moveColumnLeft
alt KP_RIGHT moveColumnRight
alt LEFT moveColumnLeft
alt RIGHT moveColumnRight
ESCAPE focusTable
KP_LEFT selectColumnToLeft
KP_RIGHT selectColumnToRight
LEFT selectColumnToLeft
RIGHT selectColumnToRight
SPACE toggleSortOrder
shift alt KP_LEFT resizeLeft
shift alt KP_RIGHT resizeRight
shift alt LEFT resizeLeft
shift alt RIGHT resizeRight
#---- ToggleButton ----
ToggleButton.focusInputMap [lazy] 2 javax.swing.plaf.InputMapUIResource [UI]
SPACE pressed
released SPACE released
#---- ToolBar ----
ToolBar.ancestorInputMap [lazy] 8 javax.swing.plaf.InputMapUIResource [UI]
DOWN navigateDown
KP_DOWN navigateDown
KP_LEFT navigateLeft
KP_RIGHT navigateRight
KP_UP navigateUp
LEFT navigateLeft
RIGHT navigateRight
UP navigateUp
#---- Tree ----
Tree.ancestorInputMap [lazy] 1 javax.swing.plaf.InputMapUIResource [UI]
ESCAPE cancel
Tree.focusInputMap.RightToLeft [lazy] 4 javax.swing.plaf.InputMapUIResource [UI]
KP_LEFT selectChild
KP_RIGHT selectParent
LEFT selectChild
RIGHT selectParent
Tree.focusInputMap [lazy] 57 javax.swing.plaf.InputMapUIResource [UI]
ctrl A selectAll
ctrl BACK_SLASH clearSelection
ctrl C copy
ctrl DOWN selectNextChangeLead
ctrl END selectLastChangeLead
ctrl HOME selectFirstChangeLead
ctrl INSERT copy
ctrl KP_DOWN selectNextChangeLead
ctrl KP_LEFT scrollLeft
ctrl KP_RIGHT scrollRight
ctrl KP_UP selectPreviousChangeLead
ctrl LEFT scrollLeft
ctrl PAGE_DOWN scrollDownChangeLead
ctrl PAGE_UP scrollUpChangeLead
ctrl RIGHT scrollRight
ctrl SLASH selectAll
ctrl SPACE toggleAndAnchor
ctrl UP selectPreviousChangeLead
ctrl V paste
ctrl X cut
COPY copy
CUT cut
DOWN selectNext
END selectLast
F2 startEditing
HOME selectFirst
KP_DOWN selectNext
KP_LEFT selectParent
KP_RIGHT selectChild
KP_UP selectPrevious
LEFT selectParent
PAGE_DOWN scrollDownChangeSelection
PAGE_UP scrollUpChangeSelection
PASTE paste
RIGHT selectChild
SPACE addToSelection
UP selectPrevious
shift ctrl DOWN selectNextExtendSelection
shift ctrl END selectLastExtendSelection
shift ctrl HOME selectFirstExtendSelection
shift ctrl KP_DOWN selectNextExtendSelection
shift ctrl KP_UP selectPreviousExtendSelection
shift ctrl PAGE_DOWN scrollDownExtendSelection
shift ctrl PAGE_UP scrollUpExtendSelection
shift ctrl SPACE moveSelectionTo
shift ctrl UP selectPreviousExtendSelection
shift DELETE cut
shift DOWN selectNextExtendSelection
shift END selectLastExtendSelection
shift HOME selectFirstExtendSelection
shift INSERT paste
shift KP_DOWN selectNextExtendSelection
shift KP_UP selectPreviousExtendSelection
shift PAGE_DOWN scrollDownExtendSelection
shift PAGE_UP scrollUpExtendSelection
shift SPACE extendTo
shift UP selectPreviousExtendSelection

View File

@@ -0,0 +1,924 @@
Class com.formdev.flatlaf.FlatLightLaf
ID FlatLaf - Flat Light
Name Flat Light
Java 1.8.0_202
OS Mac OS X
#---- Button ----
Button.focusInputMap [lazy] 2 javax.swing.plaf.InputMapUIResource [UI]
SPACE pressed
released SPACE released
#---- CheckBox ----
CheckBox.focusInputMap [lazy] 2 javax.swing.plaf.InputMapUIResource [UI]
SPACE pressed
released SPACE released
#---- ComboBox ----
ComboBox.ancestorInputMap [lazy] 11 javax.swing.plaf.InputMapUIResource [UI]
DOWN selectNext
END endPassThrough
ENTER enterPressed
ESCAPE hidePopup
HOME homePassThrough
KP_DOWN selectNext
KP_UP selectPrevious
PAGE_DOWN pageDownPassThrough
PAGE_UP pageUpPassThrough
SPACE spacePopup
UP selectPrevious
#---- Desktop ----
Desktop.ancestorInputMap [lazy] 29 javax.swing.plaf.InputMapUIResource [UI]
ctrl alt F6 selectNextFrame
ctrl F10 maximize
ctrl F12 navigateNext
ctrl F4 close
ctrl F5 restore
ctrl F6 selectNextFrame
ctrl F7 move
ctrl F8 resize
ctrl F9 minimize
ctrl TAB selectNextFrame
DOWN down
ESCAPE escape
KP_DOWN down
KP_LEFT left
KP_RIGHT right
KP_UP up
LEFT left
RIGHT right
UP up
shift ctrl alt F6 selectPreviousFrame
shift ctrl F12 navigatePrevious
shift DOWN shrinkDown
shift KP_DOWN shrinkDown
shift KP_LEFT shrinkLeft
shift KP_RIGHT shrinkRight
shift KP_UP shrinkUp
shift LEFT shrinkLeft
shift RIGHT shrinkRight
shift UP shrinkUp
#---- EditorPane ----
EditorPane.focusInputMap [lazy] 83 javax.swing.plaf.InputMapUIResource [UI]
alt BACK_SPACE delete-previous-word
alt DELETE delete-next-word
alt KP_LEFT caret-previous-word
alt KP_RIGHT caret-next-word
alt LEFT caret-previous-word
alt RIGHT caret-next-word
ctrl A caret-begin-line
ctrl B caret-backward
ctrl D delete-next
ctrl E caret-end-line
ctrl F caret-forward
ctrl H delete-previous
ctrl N caret-down
ctrl P caret-up
ctrl V page-down
ctrl W delete-previous-word
meta A select-all
meta BACK_SLASH unselect
meta C copy-to-clipboard
meta DOWN caret-end
meta KP_DOWN caret-end
meta KP_LEFT caret-begin-line
meta KP_RIGHT caret-end-line
meta KP_UP caret-begin
meta LEFT caret-begin-line
meta RIGHT caret-end-line
meta SPACE activate-link-action
meta T next-link-action
meta UP caret-begin
meta V paste-from-clipboard
meta X cut-to-clipboard
BACK_SPACE delete-previous
COPY copy-to-clipboard
CUT cut-to-clipboard
DELETE delete-next
DOWN caret-down
END caret-end
ENTER insert-break
HOME caret-begin
KP_DOWN caret-down
KP_LEFT caret-backward
KP_RIGHT caret-forward
KP_UP caret-up
LEFT caret-backward
PAGE_DOWN page-down
PAGE_UP page-up
PASTE paste-from-clipboard
RIGHT caret-forward
TAB insert-tab
UP caret-up
shift alt DOWN selection-end-paragraph
shift alt KP_DOWN selection-end-paragraph
shift alt KP_LEFT selection-previous-word
shift alt KP_RIGHT selection-next-word
shift alt KP_UP selection-begin-paragraph
shift alt LEFT selection-previous-word
shift alt RIGHT selection-next-word
shift alt UP selection-begin-paragraph
shift ctrl O toggle-componentOrientation
shift meta DOWN selection-end
shift meta KP_DOWN selection-end
shift meta KP_LEFT selection-begin-line
shift meta KP_RIGHT selection-end-line
shift meta KP_UP selection-begin
shift meta LEFT selection-begin-line
shift meta PAGE_DOWN selection-page-right
shift meta PAGE_UP selection-page-left
shift meta RIGHT selection-end-line
shift meta T previous-link-action
shift meta UP selection-begin
shift BACK_SPACE delete-previous
shift DOWN selection-down
shift END selection-end
shift HOME selection-begin
shift KP_DOWN selection-down
shift KP_LEFT selection-backward
shift KP_RIGHT selection-forward
shift KP_UP selection-up
shift LEFT selection-backward
shift PAGE_DOWN selection-page-down
shift PAGE_UP selection-page-up
shift RIGHT selection-forward
shift UP selection-up
#---- FileChooser ----
FileChooser.ancestorInputMap [lazy] 2 javax.swing.plaf.InputMapUIResource [UI]
ESCAPE cancelSelection
F5 refresh
#---- FormattedTextField ----
FormattedTextField.focusInputMap [lazy] 70 javax.swing.plaf.InputMapUIResource [UI]
alt BACK_SPACE delete-previous-word
alt DELETE delete-next-word
alt KP_LEFT caret-previous-word
alt KP_RIGHT caret-next-word
alt LEFT caret-previous-word
alt RIGHT caret-next-word
ctrl A caret-begin-line
ctrl B caret-backward
ctrl D delete-next
ctrl E caret-end-line
ctrl F caret-forward
ctrl H delete-previous
ctrl N caret-end
ctrl P caret-begin
ctrl V caret-end
ctrl W delete-previous-word
meta A select-all
meta BACK_SLASH unselect
meta C copy-to-clipboard
meta DOWN caret-end
meta KP_DOWN caret-end
meta KP_LEFT caret-begin-line
meta KP_RIGHT caret-end-line
meta KP_UP caret-begin
meta LEFT caret-begin-line
meta RIGHT caret-end-line
meta UP caret-begin
meta V paste-from-clipboard
meta X cut-to-clipboard
BACK_SPACE delete-previous
COPY copy-to-clipboard
CUT cut-to-clipboard
DELETE delete-next
DOWN decrement
END caret-end
ENTER notify-field-accept
ESCAPE reset-field-edit
HOME caret-begin
KP_DOWN decrement
KP_LEFT caret-backward
KP_RIGHT caret-forward
KP_UP increment
LEFT caret-backward
PASTE paste-from-clipboard
RIGHT caret-forward
UP increment
shift alt KP_LEFT selection-previous-word
shift alt KP_RIGHT selection-next-word
shift alt LEFT selection-previous-word
shift alt RIGHT selection-next-word
shift ctrl O toggle-componentOrientation
shift meta DOWN selection-end
shift meta KP_DOWN selection-end
shift meta KP_LEFT selection-begin-line
shift meta KP_RIGHT selection-end-line
shift meta KP_UP selection-begin
shift meta LEFT selection-begin-line
shift meta RIGHT selection-end-line
shift meta UP selection-begin
shift BACK_SPACE delete-previous
shift DOWN selection-end-line
shift END selection-end
shift HOME selection-begin
shift KP_DOWN selection-end-line
shift KP_LEFT selection-backward
shift KP_RIGHT selection-forward
shift KP_UP selection-begin-line
shift LEFT selection-backward
shift RIGHT selection-forward
shift UP selection-begin-line
#---- List ----
List.focusInputMap.RightToLeft [lazy] 8 javax.swing.plaf.InputMapUIResource [UI]
KP_LEFT selectNextColumn
KP_RIGHT selectPreviousColumn
LEFT selectNextColumn
RIGHT selectPreviousColumn
shift KP_LEFT selectNextColumnExtendSelection
shift KP_RIGHT selectPreviousColumnExtendSelection
shift LEFT selectNextColumnExtendSelection
shift RIGHT selectPreviousColumnExtendSelection
List.focusInputMap [lazy] 27 javax.swing.plaf.InputMapUIResource [UI]
meta A selectAll
meta C copy
meta V paste
meta X cut
COPY copy
CUT cut
DOWN selectNextRow
KP_DOWN selectNextRow
KP_LEFT selectPreviousColumn
KP_RIGHT selectNextColumn
KP_UP selectPreviousRow
LEFT selectPreviousColumn
PASTE paste
RIGHT selectNextColumn
UP selectPreviousRow
shift DOWN selectNextRowExtendSelection
shift END selectLastRowExtendSelection
shift HOME selectFirstRowExtendSelection
shift KP_DOWN selectNextRowExtendSelection
shift KP_LEFT selectPreviousColumnExtendSelection
shift KP_RIGHT selectNextColumnExtendSelection
shift KP_UP selectPreviousRowExtendSelection
shift LEFT selectPreviousColumnExtendSelection
shift PAGE_DOWN scrollDownExtendSelection
shift PAGE_UP scrollUpExtendSelection
shift RIGHT selectNextColumnExtendSelection
shift UP selectPreviousRowExtendSelection
#---- PasswordField ----
PasswordField.focusInputMap [lazy] 67 javax.swing.plaf.InputMapUIResource [UI]
alt KP_LEFT caret-begin-line
alt KP_RIGHT caret-end-line
alt LEFT caret-begin-line
alt RIGHT caret-end-line
ctrl A caret-begin-line
ctrl B caret-backward
ctrl D delete-next
ctrl E caret-end-line
ctrl F caret-forward
ctrl H delete-previous
ctrl N caret-end
ctrl P caret-begin
ctrl V caret-end
ctrl W delete-previous-word
meta A select-all
meta BACK_SLASH unselect
meta C copy-to-clipboard
meta DOWN caret-end
meta KP_DOWN caret-end
meta KP_LEFT caret-begin-line
meta KP_RIGHT caret-end-line
meta KP_UP caret-begin
meta LEFT caret-begin-line
meta RIGHT caret-end-line
meta UP caret-begin
meta V paste-from-clipboard
meta X cut-to-clipboard
BACK_SPACE delete-previous
COPY copy-to-clipboard
CUT cut-to-clipboard
DELETE delete-next
DOWN caret-end-line
END caret-end
ENTER notify-field-accept
HOME caret-begin
KP_DOWN caret-end-line
KP_LEFT caret-backward
KP_RIGHT caret-forward
KP_UP caret-begin-line
LEFT caret-backward
PASTE paste-from-clipboard
RIGHT caret-forward
UP caret-begin-line
shift alt KP_LEFT selection-begin-line
shift alt KP_RIGHT selection-end-line
shift alt LEFT selection-begin-line
shift alt RIGHT selection-end-line
shift ctrl O toggle-componentOrientation
shift meta DOWN selection-end
shift meta KP_DOWN selection-end
shift meta KP_LEFT selection-begin-line
shift meta KP_RIGHT selection-end-line
shift meta KP_UP selection-begin
shift meta LEFT selection-begin-line
shift meta RIGHT selection-end-line
shift meta UP selection-begin
shift BACK_SPACE delete-previous
shift DOWN selection-end-line
shift END selection-end
shift HOME selection-begin
shift KP_DOWN selection-end-line
shift KP_LEFT selection-backward
shift KP_RIGHT selection-forward
shift KP_UP selection-begin-line
shift LEFT selection-backward
shift RIGHT selection-forward
shift UP selection-begin-line
#---- PopupMenu ----
PopupMenu.selectedWindowInputMapBindings.RightToLeft length=32 [Ljava.lang.Object;
[0] ESCAPE
[1] cancel
[2] DOWN
[3] selectNext
[4] KP_DOWN
[5] selectNext
[6] UP
[7] selectPrevious
[8] KP_UP
[9] selectPrevious
[10] LEFT
[11] selectParent
[12] KP_LEFT
[13] selectParent
[14] RIGHT
[15] selectChild
[16] KP_RIGHT
[17] selectChild
[18] ENTER
[19] return
[20] ctrl ENTER
[21] return
[22] SPACE
[23] return
[24] LEFT
[25] selectChild
[26] KP_LEFT
[27] selectChild
[28] RIGHT
[29] selectParent
[30] KP_RIGHT
[31] selectParent
PopupMenu.selectedWindowInputMapBindings length=24 [Ljava.lang.Object;
[0] ESCAPE
[1] cancel
[2] DOWN
[3] selectNext
[4] KP_DOWN
[5] selectNext
[6] UP
[7] selectPrevious
[8] KP_UP
[9] selectPrevious
[10] LEFT
[11] selectParent
[12] KP_LEFT
[13] selectParent
[14] RIGHT
[15] selectChild
[16] KP_RIGHT
[17] selectChild
[18] ENTER
[19] return
[20] ctrl ENTER
[21] return
[22] SPACE
[23] return
#---- RadioButton ----
RadioButton.focusInputMap [lazy] 2 javax.swing.plaf.InputMapUIResource [UI]
SPACE pressed
released SPACE released
#---- RootPane ----
RootPane.ancestorInputMap [lazy] 2 javax.swing.plaf.InputMapUIResource [UI]
CONTEXT_MENU postPopup
shift F10 postPopup
#---- ScrollBar ----
ScrollBar.ancestorInputMap.RightToLeft [lazy] 4 javax.swing.plaf.InputMapUIResource [UI]
KP_LEFT positiveUnitIncrement
KP_RIGHT negativeUnitIncrement
LEFT positiveUnitIncrement
RIGHT negativeUnitIncrement
ScrollBar.ancestorInputMap [lazy] 12 javax.swing.plaf.InputMapUIResource [UI]
DOWN positiveUnitIncrement
END maxScroll
HOME minScroll
KP_DOWN positiveUnitIncrement
KP_LEFT negativeUnitIncrement
KP_RIGHT positiveUnitIncrement
KP_UP negativeUnitIncrement
LEFT negativeUnitIncrement
PAGE_DOWN positiveBlockIncrement
PAGE_UP negativeBlockIncrement
RIGHT positiveUnitIncrement
UP negativeUnitIncrement
#---- ScrollPane ----
ScrollPane.ancestorInputMap.RightToLeft [lazy] 0 javax.swing.plaf.InputMapUIResource [UI]
ScrollPane.ancestorInputMap [lazy] 12 javax.swing.plaf.InputMapUIResource [UI]
DOWN unitScrollDown
END scrollEnd
HOME scrollHome
KP_DOWN unitScrollDown
KP_LEFT unitScrollLeft
KP_RIGHT unitScrollRight
KP_UP unitScrollUp
LEFT unitScrollLeft
PAGE_DOWN scrollDown
PAGE_UP scrollUp
RIGHT unitScrollRight
UP unitScrollUp
#---- Slider ----
Slider.focusInputMap.RightToLeft [lazy] 4 javax.swing.plaf.InputMapUIResource [UI]
KP_LEFT positiveUnitIncrement
KP_RIGHT negativeUnitIncrement
LEFT positiveUnitIncrement
RIGHT negativeUnitIncrement
Slider.focusInputMap [lazy] 12 javax.swing.plaf.InputMapUIResource [UI]
DOWN negativeUnitIncrement
END maxScroll
HOME minScroll
KP_DOWN negativeUnitIncrement
KP_LEFT negativeUnitIncrement
KP_RIGHT positiveUnitIncrement
KP_UP positiveUnitIncrement
LEFT negativeUnitIncrement
PAGE_DOWN negativeBlockIncrement
PAGE_UP positiveBlockIncrement
RIGHT positiveUnitIncrement
UP positiveUnitIncrement
#---- Spinner ----
Spinner.ancestorInputMap [lazy] 4 javax.swing.plaf.InputMapUIResource [UI]
DOWN decrement
KP_DOWN decrement
KP_UP increment
UP increment
#---- SplitPane ----
SplitPane.ancestorInputMap [lazy] 14 javax.swing.plaf.InputMapUIResource [UI]
ctrl TAB focusOutForward
DOWN positiveIncrement
END selectMax
F6 toggleFocus
F8 startResize
HOME selectMin
KP_DOWN positiveIncrement
KP_LEFT negativeIncrement
KP_RIGHT positiveIncrement
KP_UP negativeIncrement
LEFT negativeIncrement
RIGHT positiveIncrement
UP negativeIncrement
shift ctrl TAB focusOutBackward
#---- TabbedPane ----
TabbedPane.ancestorInputMap [lazy] 4 javax.swing.plaf.InputMapUIResource [UI]
ctrl PAGE_DOWN navigatePageDown
ctrl PAGE_UP navigatePageUp
ctrl TAB navigateNext
shift ctrl TAB navigatePrevious
TabbedPane.focusInputMap [lazy] 8 javax.swing.plaf.InputMapUIResource [UI]
DOWN navigateDown
KP_DOWN navigateDown
KP_LEFT navigateLeft
KP_RIGHT navigateRight
KP_UP navigateUp
LEFT navigateLeft
RIGHT navigateRight
UP navigateUp
#---- Table ----
Table.ancestorInputMap.RightToLeft [lazy] 12 javax.swing.plaf.InputMapUIResource [UI]
ctrl PAGE_DOWN scrollLeftChangeSelection
ctrl PAGE_UP scrollRightChangeSelection
KP_LEFT selectNextColumn
KP_RIGHT selectPreviousColumn
LEFT selectNextColumn
RIGHT selectPreviousColumn
shift ctrl PAGE_DOWN scrollLeftExtendSelection
shift ctrl PAGE_UP scrollRightExtendSelection
shift KP_LEFT selectNextColumnExtendSelection
shift KP_RIGHT selectPreviousColumnExtendSelection
shift LEFT selectNextColumnExtendSelection
shift RIGHT selectPreviousColumnExtendSelection
Table.ancestorInputMap [lazy] 34 javax.swing.plaf.InputMapUIResource [UI]
alt TAB focusHeader
meta A selectAll
meta C copy
meta V paste
meta X cut
COPY copy
CUT cut
DOWN selectNextRow
ENTER selectNextRowCell
ESCAPE cancel
KP_DOWN selectNextRow
KP_LEFT selectPreviousColumn
KP_RIGHT selectNextColumn
KP_UP selectPreviousRow
LEFT selectPreviousColumn
PASTE paste
RIGHT selectNextColumn
TAB selectNextColumnCell
UP selectPreviousRow
shift alt TAB focusHeader
shift DOWN selectNextRowExtendSelection
shift END selectLastColumnExtendSelection
shift ENTER selectPreviousRowCell
shift HOME selectFirstColumnExtendSelection
shift KP_DOWN selectNextRowExtendSelection
shift KP_LEFT selectPreviousColumnExtendSelection
shift KP_RIGHT selectNextColumnExtendSelection
shift KP_UP selectPreviousRowExtendSelection
shift LEFT selectPreviousColumnExtendSelection
shift PAGE_DOWN scrollDownExtendSelection
shift PAGE_UP scrollUpExtendSelection
shift RIGHT selectNextColumnExtendSelection
shift TAB selectPreviousColumnCell
shift UP selectPreviousRowExtendSelection
#---- TableHeader ----
TableHeader.ancestorInputMap [lazy] 14 javax.swing.plaf.InputMapUIResource [UI]
alt KP_LEFT moveColumnLeft
alt KP_RIGHT moveColumnRight
alt LEFT moveColumnLeft
alt RIGHT moveColumnRight
ESCAPE focusTable
KP_LEFT selectColumnToLeft
KP_RIGHT selectColumnToRight
LEFT selectColumnToLeft
RIGHT selectColumnToRight
SPACE toggleSortOrder
shift alt KP_LEFT resizeLeft
shift alt KP_RIGHT resizeRight
shift alt LEFT resizeLeft
shift alt RIGHT resizeRight
#---- TextArea ----
TextArea.focusInputMap [lazy] 83 javax.swing.plaf.InputMapUIResource [UI]
alt BACK_SPACE delete-previous-word
alt DELETE delete-next-word
alt KP_LEFT caret-previous-word
alt KP_RIGHT caret-next-word
alt LEFT caret-previous-word
alt RIGHT caret-next-word
ctrl A caret-begin-line
ctrl B caret-backward
ctrl D delete-next
ctrl E caret-end-line
ctrl F caret-forward
ctrl H delete-previous
ctrl N caret-down
ctrl P caret-up
ctrl V page-down
ctrl W delete-previous-word
meta A select-all
meta BACK_SLASH unselect
meta C copy-to-clipboard
meta DOWN caret-end
meta KP_DOWN caret-end
meta KP_LEFT caret-begin-line
meta KP_RIGHT caret-end-line
meta KP_UP caret-begin
meta LEFT caret-begin-line
meta RIGHT caret-end-line
meta SPACE activate-link-action
meta T next-link-action
meta UP caret-begin
meta V paste-from-clipboard
meta X cut-to-clipboard
BACK_SPACE delete-previous
COPY copy-to-clipboard
CUT cut-to-clipboard
DELETE delete-next
DOWN caret-down
END caret-end
ENTER insert-break
HOME caret-begin
KP_DOWN caret-down
KP_LEFT caret-backward
KP_RIGHT caret-forward
KP_UP caret-up
LEFT caret-backward
PAGE_DOWN page-down
PAGE_UP page-up
PASTE paste-from-clipboard
RIGHT caret-forward
TAB insert-tab
UP caret-up
shift alt DOWN selection-end-paragraph
shift alt KP_DOWN selection-end-paragraph
shift alt KP_LEFT selection-previous-word
shift alt KP_RIGHT selection-next-word
shift alt KP_UP selection-begin-paragraph
shift alt LEFT selection-previous-word
shift alt RIGHT selection-next-word
shift alt UP selection-begin-paragraph
shift ctrl O toggle-componentOrientation
shift meta DOWN selection-end
shift meta KP_DOWN selection-end
shift meta KP_LEFT selection-begin-line
shift meta KP_RIGHT selection-end-line
shift meta KP_UP selection-begin
shift meta LEFT selection-begin-line
shift meta PAGE_DOWN selection-page-right
shift meta PAGE_UP selection-page-left
shift meta RIGHT selection-end-line
shift meta T previous-link-action
shift meta UP selection-begin
shift BACK_SPACE delete-previous
shift DOWN selection-down
shift END selection-end
shift HOME selection-begin
shift KP_DOWN selection-down
shift KP_LEFT selection-backward
shift KP_RIGHT selection-forward
shift KP_UP selection-up
shift LEFT selection-backward
shift PAGE_DOWN selection-page-down
shift PAGE_UP selection-page-up
shift RIGHT selection-forward
shift UP selection-up
#---- TextField ----
TextField.focusInputMap [lazy] 69 javax.swing.plaf.InputMapUIResource [UI]
alt BACK_SPACE delete-previous-word
alt DELETE delete-next-word
alt KP_LEFT caret-previous-word
alt KP_RIGHT caret-next-word
alt LEFT caret-previous-word
alt RIGHT caret-next-word
ctrl A caret-begin-line
ctrl B caret-backward
ctrl D delete-next
ctrl E caret-end-line
ctrl F caret-forward
ctrl H delete-previous
ctrl N caret-end
ctrl P caret-begin
ctrl V caret-end
ctrl W delete-previous-word
meta A select-all
meta BACK_SLASH unselect
meta C copy-to-clipboard
meta DOWN caret-end
meta KP_DOWN caret-end
meta KP_LEFT caret-begin-line
meta KP_RIGHT caret-end-line
meta KP_UP caret-begin
meta LEFT caret-begin-line
meta RIGHT caret-end-line
meta UP caret-begin
meta V paste-from-clipboard
meta X cut-to-clipboard
BACK_SPACE delete-previous
COPY copy-to-clipboard
CUT cut-to-clipboard
DELETE delete-next
DOWN caret-end-line
END caret-end
ENTER notify-field-accept
HOME caret-begin
KP_DOWN caret-end-line
KP_LEFT caret-backward
KP_RIGHT caret-forward
KP_UP caret-begin-line
LEFT caret-backward
PASTE paste-from-clipboard
RIGHT caret-forward
UP caret-begin-line
shift alt KP_LEFT selection-previous-word
shift alt KP_RIGHT selection-next-word
shift alt LEFT selection-previous-word
shift alt RIGHT selection-next-word
shift ctrl O toggle-componentOrientation
shift meta DOWN selection-end
shift meta KP_DOWN selection-end
shift meta KP_LEFT selection-begin-line
shift meta KP_RIGHT selection-end-line
shift meta KP_UP selection-begin
shift meta LEFT selection-begin-line
shift meta RIGHT selection-end-line
shift meta UP selection-begin
shift BACK_SPACE delete-previous
shift DOWN selection-end-line
shift END selection-end
shift HOME selection-begin
shift KP_DOWN selection-end-line
shift KP_LEFT selection-backward
shift KP_RIGHT selection-forward
shift KP_UP selection-begin-line
shift LEFT selection-backward
shift RIGHT selection-forward
shift UP selection-begin-line
#---- TextPane ----
TextPane.focusInputMap [lazy] 83 javax.swing.plaf.InputMapUIResource [UI]
alt BACK_SPACE delete-previous-word
alt DELETE delete-next-word
alt KP_LEFT caret-previous-word
alt KP_RIGHT caret-next-word
alt LEFT caret-previous-word
alt RIGHT caret-next-word
ctrl A caret-begin-line
ctrl B caret-backward
ctrl D delete-next
ctrl E caret-end-line
ctrl F caret-forward
ctrl H delete-previous
ctrl N caret-down
ctrl P caret-up
ctrl V page-down
ctrl W delete-previous-word
meta A select-all
meta BACK_SLASH unselect
meta C copy-to-clipboard
meta DOWN caret-end
meta KP_DOWN caret-end
meta KP_LEFT caret-begin-line
meta KP_RIGHT caret-end-line
meta KP_UP caret-begin
meta LEFT caret-begin-line
meta RIGHT caret-end-line
meta SPACE activate-link-action
meta T next-link-action
meta UP caret-begin
meta V paste-from-clipboard
meta X cut-to-clipboard
BACK_SPACE delete-previous
COPY copy-to-clipboard
CUT cut-to-clipboard
DELETE delete-next
DOWN caret-down
END caret-end
ENTER insert-break
HOME caret-begin
KP_DOWN caret-down
KP_LEFT caret-backward
KP_RIGHT caret-forward
KP_UP caret-up
LEFT caret-backward
PAGE_DOWN page-down
PAGE_UP page-up
PASTE paste-from-clipboard
RIGHT caret-forward
TAB insert-tab
UP caret-up
shift alt DOWN selection-end-paragraph
shift alt KP_DOWN selection-end-paragraph
shift alt KP_LEFT selection-previous-word
shift alt KP_RIGHT selection-next-word
shift alt KP_UP selection-begin-paragraph
shift alt LEFT selection-previous-word
shift alt RIGHT selection-next-word
shift alt UP selection-begin-paragraph
shift ctrl O toggle-componentOrientation
shift meta DOWN selection-end
shift meta KP_DOWN selection-end
shift meta KP_LEFT selection-begin-line
shift meta KP_RIGHT selection-end-line
shift meta KP_UP selection-begin
shift meta LEFT selection-begin-line
shift meta PAGE_DOWN selection-page-right
shift meta PAGE_UP selection-page-left
shift meta RIGHT selection-end-line
shift meta T previous-link-action
shift meta UP selection-begin
shift BACK_SPACE delete-previous
shift DOWN selection-down
shift END selection-end
shift HOME selection-begin
shift KP_DOWN selection-down
shift KP_LEFT selection-backward
shift KP_RIGHT selection-forward
shift KP_UP selection-up
shift LEFT selection-backward
shift PAGE_DOWN selection-page-down
shift PAGE_UP selection-page-up
shift RIGHT selection-forward
shift UP selection-up
#---- ToggleButton ----
ToggleButton.focusInputMap [lazy] 2 javax.swing.plaf.InputMapUIResource [UI]
SPACE pressed
released SPACE released
#---- ToolBar ----
ToolBar.ancestorInputMap [lazy] 8 javax.swing.plaf.InputMapUIResource [UI]
DOWN navigateDown
KP_DOWN navigateDown
KP_LEFT navigateLeft
KP_RIGHT navigateRight
KP_UP navigateUp
LEFT navigateLeft
RIGHT navigateRight
UP navigateUp
#---- Tree ----
Tree.ancestorInputMap [lazy] 1 javax.swing.plaf.InputMapUIResource [UI]
ESCAPE cancel
Tree.focusInputMap.RightToLeft [lazy] 12 javax.swing.plaf.InputMapUIResource [UI]
alt KP_LEFT selectChild
alt KP_RIGHT selectParent
alt LEFT selectChild
alt RIGHT selectParent
KP_LEFT selectChild
KP_RIGHT selectParent
LEFT selectChild
RIGHT selectParent
shift KP_LEFT selectChild
shift KP_RIGHT selectParent
shift LEFT selectChild
shift RIGHT selectParent
Tree.focusInputMap [lazy] 27 javax.swing.plaf.InputMapUIResource [UI]
alt KP_LEFT selectParent
alt KP_RIGHT selectChild
alt LEFT selectParent
alt RIGHT selectChild
meta A selectAll
meta C copy
meta V paste
meta X cut
COPY copy
CUT cut
DOWN selectNext
KP_DOWN selectNext
KP_LEFT selectParent
KP_RIGHT selectChild
KP_UP selectPrevious
LEFT selectParent
PASTE paste
RIGHT selectChild
UP selectPrevious
shift DOWN selectNextExtendSelection
shift KP_DOWN selectNextExtendSelection
shift KP_LEFT selectParent
shift KP_RIGHT selectChild
shift KP_UP selectPreviousExtendSelection
shift LEFT selectParent
shift RIGHT selectChild
shift UP selectPreviousExtendSelection

View File

@@ -0,0 +1,900 @@
Class com.formdev.flatlaf.FlatLightLaf
ID FlatLaf - Flat Light
Name Flat Light
Java 1.8.0_202
OS Windows 10
#---- Button ----
Button.focusInputMap [lazy] 2 javax.swing.plaf.InputMapUIResource [UI]
SPACE pressed
released SPACE released
#---- CheckBox ----
CheckBox.focusInputMap [lazy] 2 javax.swing.plaf.InputMapUIResource [UI]
SPACE pressed
released SPACE released
#---- ComboBox ----
ComboBox.ancestorInputMap [lazy] 15 javax.swing.plaf.InputMapUIResource [UI]
alt DOWN togglePopup
alt KP_DOWN togglePopup
alt KP_UP togglePopup
alt UP togglePopup
DOWN selectNext2
END endPassThrough
ENTER enterPressed
ESCAPE hidePopup
HOME homePassThrough
KP_DOWN selectNext2
KP_UP selectPrevious2
PAGE_DOWN pageDownPassThrough
PAGE_UP pageUpPassThrough
SPACE spacePopup
UP selectPrevious2
#---- Desktop ----
Desktop.ancestorInputMap [lazy] 29 javax.swing.plaf.InputMapUIResource [UI]
ctrl alt F6 selectNextFrame
ctrl F10 maximize
ctrl F12 navigateNext
ctrl F4 close
ctrl F5 restore
ctrl F6 selectNextFrame
ctrl F7 move
ctrl F8 resize
ctrl F9 minimize
ctrl TAB selectNextFrame
DOWN down
ESCAPE escape
KP_DOWN down
KP_LEFT left
KP_RIGHT right
KP_UP up
LEFT left
RIGHT right
UP up
shift ctrl alt F6 selectPreviousFrame
shift ctrl F12 navigatePrevious
shift DOWN shrinkDown
shift KP_DOWN shrinkDown
shift KP_LEFT shrinkLeft
shift KP_RIGHT shrinkRight
shift KP_UP shrinkUp
shift LEFT shrinkLeft
shift RIGHT shrinkRight
shift UP shrinkUp
#---- EditorPane ----
EditorPane.focusInputMap [lazy] 61 javax.swing.plaf.InputMapUIResource [UI]
ctrl A select-all
ctrl BACK_SLASH unselect
ctrl BACK_SPACE delete-previous-word
ctrl C copy-to-clipboard
ctrl DELETE delete-next-word
ctrl END caret-end
ctrl H delete-previous
ctrl HOME caret-begin
ctrl INSERT copy-to-clipboard
ctrl KP_LEFT caret-previous-word
ctrl KP_RIGHT caret-next-word
ctrl LEFT caret-previous-word
ctrl RIGHT caret-next-word
ctrl SPACE activate-link-action
ctrl T next-link-action
ctrl V paste-from-clipboard
ctrl X cut-to-clipboard
BACK_SPACE delete-previous
COPY copy-to-clipboard
CUT cut-to-clipboard
DELETE delete-next
DOWN caret-down
END caret-end-line
ENTER insert-break
HOME caret-begin-line
KP_DOWN caret-down
KP_LEFT caret-backward
KP_RIGHT caret-forward
KP_UP caret-up
LEFT caret-backward
PAGE_DOWN page-down
PAGE_UP page-up
PASTE paste-from-clipboard
RIGHT caret-forward
TAB insert-tab
UP caret-up
shift ctrl END selection-end
shift ctrl HOME selection-begin
shift ctrl KP_LEFT selection-previous-word
shift ctrl KP_RIGHT selection-next-word
shift ctrl LEFT selection-previous-word
shift ctrl O toggle-componentOrientation
shift ctrl PAGE_DOWN selection-page-right
shift ctrl PAGE_UP selection-page-left
shift ctrl RIGHT selection-next-word
shift ctrl T previous-link-action
shift BACK_SPACE delete-previous
shift DELETE cut-to-clipboard
shift DOWN selection-down
shift END selection-end-line
shift HOME selection-begin-line
shift INSERT paste-from-clipboard
shift KP_DOWN selection-down
shift KP_LEFT selection-backward
shift KP_RIGHT selection-forward
shift KP_UP selection-up
shift LEFT selection-backward
shift PAGE_DOWN selection-page-down
shift PAGE_UP selection-page-up
shift RIGHT selection-forward
shift UP selection-up
#---- FileChooser ----
FileChooser.ancestorInputMap [lazy] 4 javax.swing.plaf.InputMapUIResource [UI]
BACK_SPACE Go Up
ESCAPE cancelSelection
F2 editFileName
F5 refresh
#---- FormattedTextField ----
FormattedTextField.focusInputMap [lazy] 44 javax.swing.plaf.InputMapUIResource [UI]
ctrl A select-all
ctrl BACK_SLASH unselect
ctrl BACK_SPACE delete-previous-word
ctrl C copy-to-clipboard
ctrl DELETE delete-next-word
ctrl H delete-previous
ctrl INSERT copy-to-clipboard
ctrl KP_LEFT caret-previous-word
ctrl KP_RIGHT caret-next-word
ctrl LEFT caret-previous-word
ctrl RIGHT caret-next-word
ctrl V paste-from-clipboard
ctrl X cut-to-clipboard
BACK_SPACE delete-previous
COPY copy-to-clipboard
CUT cut-to-clipboard
DELETE delete-next
DOWN decrement
END caret-end-line
ENTER notify-field-accept
ESCAPE reset-field-edit
HOME caret-begin-line
KP_DOWN decrement
KP_LEFT caret-backward
KP_RIGHT caret-forward
KP_UP increment
LEFT caret-backward
PASTE paste-from-clipboard
RIGHT caret-forward
UP increment
shift ctrl KP_LEFT selection-previous-word
shift ctrl KP_RIGHT selection-next-word
shift ctrl LEFT selection-previous-word
shift ctrl O toggle-componentOrientation
shift ctrl RIGHT selection-next-word
shift BACK_SPACE delete-previous
shift DELETE cut-to-clipboard
shift END selection-end-line
shift HOME selection-begin-line
shift INSERT paste-from-clipboard
shift KP_LEFT selection-backward
shift KP_RIGHT selection-forward
shift LEFT selection-backward
shift RIGHT selection-forward
#---- List ----
List.focusInputMap.RightToLeft [lazy] 16 javax.swing.plaf.InputMapUIResource [UI]
ctrl KP_LEFT selectNextColumnChangeLead
ctrl KP_RIGHT selectPreviousColumnChangeLead
ctrl LEFT selectNextColumnChangeLead
ctrl RIGHT selectPreviousColumnChangeLead
KP_LEFT selectNextColumn
KP_RIGHT selectPreviousColumn
LEFT selectNextColumn
RIGHT selectPreviousColumn
shift ctrl KP_LEFT selectNextColumnExtendSelection
shift ctrl KP_RIGHT selectPreviousColumnExtendSelection
shift ctrl LEFT selectNextColumnExtendSelection
shift ctrl RIGHT selectPreviousColumnExtendSelection
shift KP_LEFT selectNextColumnExtendSelection
shift KP_RIGHT selectPreviousColumnExtendSelection
shift LEFT selectNextColumnExtendSelection
shift RIGHT selectPreviousColumnExtendSelection
List.focusInputMap [lazy] 64 javax.swing.plaf.InputMapUIResource [UI]
ctrl A selectAll
ctrl BACK_SLASH clearSelection
ctrl C copy
ctrl DOWN selectNextRowChangeLead
ctrl END selectLastRowChangeLead
ctrl HOME selectFirstRowChangeLead
ctrl INSERT copy
ctrl KP_DOWN selectNextRowChangeLead
ctrl KP_LEFT selectPreviousColumnChangeLead
ctrl KP_RIGHT selectNextColumnChangeLead
ctrl KP_UP selectPreviousRowChangeLead
ctrl LEFT selectPreviousColumnChangeLead
ctrl PAGE_DOWN scrollDownChangeLead
ctrl PAGE_UP scrollUpChangeLead
ctrl RIGHT selectNextColumnChangeLead
ctrl SLASH selectAll
ctrl SPACE toggleAndAnchor
ctrl UP selectPreviousRowChangeLead
ctrl V paste
ctrl X cut
COPY copy
CUT cut
DOWN selectNextRow
END selectLastRow
HOME selectFirstRow
KP_DOWN selectNextRow
KP_LEFT selectPreviousColumn
KP_RIGHT selectNextColumn
KP_UP selectPreviousRow
LEFT selectPreviousColumn
PAGE_DOWN scrollDown
PAGE_UP scrollUp
PASTE paste
RIGHT selectNextColumn
SPACE addToSelection
UP selectPreviousRow
shift ctrl DOWN selectNextRowExtendSelection
shift ctrl END selectLastRowExtendSelection
shift ctrl HOME selectFirstRowExtendSelection
shift ctrl KP_DOWN selectNextRowExtendSelection
shift ctrl KP_LEFT selectPreviousColumnExtendSelection
shift ctrl KP_RIGHT selectNextColumnExtendSelection
shift ctrl KP_UP selectPreviousRowExtendSelection
shift ctrl LEFT selectPreviousColumnExtendSelection
shift ctrl PAGE_DOWN scrollDownExtendSelection
shift ctrl PAGE_UP scrollUpExtendSelection
shift ctrl RIGHT selectNextColumnExtendSelection
shift ctrl SPACE moveSelectionTo
shift ctrl UP selectPreviousRowExtendSelection
shift DELETE cut
shift DOWN selectNextRowExtendSelection
shift END selectLastRowExtendSelection
shift HOME selectFirstRowExtendSelection
shift INSERT paste
shift KP_DOWN selectNextRowExtendSelection
shift KP_LEFT selectPreviousColumnExtendSelection
shift KP_RIGHT selectNextColumnExtendSelection
shift KP_UP selectPreviousRowExtendSelection
shift LEFT selectPreviousColumnExtendSelection
shift PAGE_DOWN scrollDownExtendSelection
shift PAGE_UP scrollUpExtendSelection
shift RIGHT selectNextColumnExtendSelection
shift SPACE extendTo
shift UP selectPreviousRowExtendSelection
#---- PasswordField ----
PasswordField.focusInputMap [lazy] 37 javax.swing.plaf.InputMapUIResource [UI]
ctrl A select-all
ctrl BACK_SLASH unselect
ctrl C copy-to-clipboard
ctrl H delete-previous
ctrl INSERT copy-to-clipboard
ctrl KP_LEFT caret-begin-line
ctrl KP_RIGHT caret-end-line
ctrl LEFT caret-begin-line
ctrl RIGHT caret-end-line
ctrl V paste-from-clipboard
ctrl X cut-to-clipboard
BACK_SPACE delete-previous
COPY copy-to-clipboard
CUT cut-to-clipboard
DELETE delete-next
END caret-end-line
ENTER notify-field-accept
HOME caret-begin-line
KP_LEFT caret-backward
KP_RIGHT caret-forward
LEFT caret-backward
PASTE paste-from-clipboard
RIGHT caret-forward
shift ctrl KP_LEFT selection-begin-line
shift ctrl KP_RIGHT selection-end-line
shift ctrl LEFT selection-begin-line
shift ctrl O toggle-componentOrientation
shift ctrl RIGHT selection-end-line
shift BACK_SPACE delete-previous
shift DELETE cut-to-clipboard
shift END selection-end-line
shift HOME selection-begin-line
shift INSERT paste-from-clipboard
shift KP_LEFT selection-backward
shift KP_RIGHT selection-forward
shift LEFT selection-backward
shift RIGHT selection-forward
#---- PopupMenu ----
PopupMenu.selectedWindowInputMapBindings.RightToLeft length=32 [Ljava.lang.Object;
[0] ESCAPE
[1] cancel
[2] DOWN
[3] selectNext
[4] KP_DOWN
[5] selectNext
[6] UP
[7] selectPrevious
[8] KP_UP
[9] selectPrevious
[10] LEFT
[11] selectParent
[12] KP_LEFT
[13] selectParent
[14] RIGHT
[15] selectChild
[16] KP_RIGHT
[17] selectChild
[18] ENTER
[19] return
[20] ctrl ENTER
[21] return
[22] SPACE
[23] return
[24] LEFT
[25] selectChild
[26] KP_LEFT
[27] selectChild
[28] RIGHT
[29] selectParent
[30] KP_RIGHT
[31] selectParent
PopupMenu.selectedWindowInputMapBindings length=24 [Ljava.lang.Object;
[0] ESCAPE
[1] cancel
[2] DOWN
[3] selectNext
[4] KP_DOWN
[5] selectNext
[6] UP
[7] selectPrevious
[8] KP_UP
[9] selectPrevious
[10] LEFT
[11] selectParent
[12] KP_LEFT
[13] selectParent
[14] RIGHT
[15] selectChild
[16] KP_RIGHT
[17] selectChild
[18] ENTER
[19] return
[20] ctrl ENTER
[21] return
[22] SPACE
[23] return
#---- RadioButton ----
RadioButton.focusInputMap [lazy] 2 javax.swing.plaf.InputMapUIResource [UI]
SPACE pressed
released SPACE released
#---- RootPane ----
RootPane.ancestorInputMap [lazy] 2 javax.swing.plaf.InputMapUIResource [UI]
CONTEXT_MENU postPopup
shift F10 postPopup
#---- ScrollBar ----
ScrollBar.ancestorInputMap.RightToLeft [lazy] 4 javax.swing.plaf.InputMapUIResource [UI]
KP_LEFT positiveUnitIncrement
KP_RIGHT negativeUnitIncrement
LEFT positiveUnitIncrement
RIGHT negativeUnitIncrement
ScrollBar.ancestorInputMap [lazy] 12 javax.swing.plaf.InputMapUIResource [UI]
DOWN positiveUnitIncrement
END maxScroll
HOME minScroll
KP_DOWN positiveUnitIncrement
KP_LEFT negativeUnitIncrement
KP_RIGHT positiveUnitIncrement
KP_UP negativeUnitIncrement
LEFT negativeUnitIncrement
PAGE_DOWN positiveBlockIncrement
PAGE_UP negativeBlockIncrement
RIGHT positiveUnitIncrement
UP negativeUnitIncrement
#---- ScrollPane ----
ScrollPane.ancestorInputMap.RightToLeft [lazy] 2 javax.swing.plaf.InputMapUIResource [UI]
ctrl PAGE_DOWN scrollLeft
ctrl PAGE_UP scrollRight
ScrollPane.ancestorInputMap [lazy] 14 javax.swing.plaf.InputMapUIResource [UI]
ctrl END scrollEnd
ctrl HOME scrollHome
ctrl PAGE_DOWN scrollRight
ctrl PAGE_UP scrollLeft
DOWN unitScrollDown
KP_DOWN unitScrollDown
KP_LEFT unitScrollLeft
KP_RIGHT unitScrollRight
KP_UP unitScrollUp
LEFT unitScrollLeft
PAGE_DOWN scrollDown
PAGE_UP scrollUp
RIGHT unitScrollRight
UP unitScrollUp
#---- Slider ----
Slider.focusInputMap.RightToLeft [lazy] 4 javax.swing.plaf.InputMapUIResource [UI]
KP_LEFT positiveUnitIncrement
KP_RIGHT negativeUnitIncrement
LEFT positiveUnitIncrement
RIGHT negativeUnitIncrement
Slider.focusInputMap [lazy] 12 javax.swing.plaf.InputMapUIResource [UI]
DOWN negativeUnitIncrement
END maxScroll
HOME minScroll
KP_DOWN negativeUnitIncrement
KP_LEFT negativeUnitIncrement
KP_RIGHT positiveUnitIncrement
KP_UP positiveUnitIncrement
LEFT negativeUnitIncrement
PAGE_DOWN negativeBlockIncrement
PAGE_UP positiveBlockIncrement
RIGHT positiveUnitIncrement
UP positiveUnitIncrement
#---- Spinner ----
Spinner.ancestorInputMap [lazy] 4 javax.swing.plaf.InputMapUIResource [UI]
DOWN decrement
KP_DOWN decrement
KP_UP increment
UP increment
#---- SplitPane ----
SplitPane.ancestorInputMap [lazy] 14 javax.swing.plaf.InputMapUIResource [UI]
ctrl TAB focusOutForward
DOWN positiveIncrement
END selectMax
F6 toggleFocus
F8 startResize
HOME selectMin
KP_DOWN positiveIncrement
KP_LEFT negativeIncrement
KP_RIGHT positiveIncrement
KP_UP negativeIncrement
LEFT negativeIncrement
RIGHT positiveIncrement
UP negativeIncrement
shift ctrl TAB focusOutBackward
#---- TabbedPane ----
TabbedPane.ancestorInputMap [lazy] 6 javax.swing.plaf.InputMapUIResource [UI]
ctrl KP_UP requestFocus
ctrl PAGE_DOWN navigatePageDown
ctrl PAGE_UP navigatePageUp
ctrl TAB navigateNext
ctrl UP requestFocus
shift ctrl TAB navigatePrevious
TabbedPane.focusInputMap [lazy] 10 javax.swing.plaf.InputMapUIResource [UI]
ctrl DOWN requestFocusForVisibleComponent
ctrl KP_DOWN requestFocusForVisibleComponent
DOWN navigateDown
KP_DOWN navigateDown
KP_LEFT navigateLeft
KP_RIGHT navigateRight
KP_UP navigateUp
LEFT navigateLeft
RIGHT navigateRight
UP navigateUp
#---- Table ----
Table.ancestorInputMap.RightToLeft [lazy] 20 javax.swing.plaf.InputMapUIResource [UI]
ctrl KP_LEFT selectNextColumnChangeLead
ctrl KP_RIGHT selectPreviousColumnChangeLead
ctrl LEFT selectNextColumnChangeLead
ctrl PAGE_DOWN scrollLeftChangeSelection
ctrl PAGE_UP scrollRightChangeSelection
ctrl RIGHT selectPreviousColumnChangeLead
KP_LEFT selectNextColumn
KP_RIGHT selectPreviousColumn
LEFT selectNextColumn
RIGHT selectPreviousColumn
shift ctrl KP_LEFT selectNextColumnExtendSelection
shift ctrl KP_RIGHT selectPreviousColumnExtendSelection
shift ctrl LEFT selectNextColumnExtendSelection
shift ctrl PAGE_DOWN scrollLeftExtendSelection
shift ctrl PAGE_UP scrollRightExtendSelection
shift ctrl RIGHT selectPreviousColumnExtendSelection
shift KP_LEFT selectNextColumnExtendSelection
shift KP_RIGHT selectPreviousColumnExtendSelection
shift LEFT selectNextColumnExtendSelection
shift RIGHT selectPreviousColumnExtendSelection
Table.ancestorInputMap [lazy] 71 javax.swing.plaf.InputMapUIResource [UI]
ctrl A selectAll
ctrl BACK_SLASH clearSelection
ctrl C copy
ctrl DOWN selectNextRowChangeLead
ctrl END selectLastColumn
ctrl HOME selectFirstColumn
ctrl INSERT copy
ctrl KP_DOWN selectNextRowChangeLead
ctrl KP_LEFT selectPreviousColumnChangeLead
ctrl KP_RIGHT selectNextColumnChangeLead
ctrl KP_UP selectPreviousRowChangeLead
ctrl LEFT selectPreviousColumnChangeLead
ctrl PAGE_DOWN scrollRightChangeSelection
ctrl PAGE_UP scrollLeftChangeSelection
ctrl RIGHT selectNextColumnChangeLead
ctrl SLASH selectAll
ctrl SPACE toggleAndAnchor
ctrl UP selectPreviousRowChangeLead
ctrl V paste
ctrl X cut
COPY copy
CUT cut
DOWN selectNextRow
END selectLastRow
ENTER selectNextRowCell
ESCAPE cancel
F2 startEditing
F8 focusHeader
HOME selectFirstRow
KP_DOWN selectNextRow
KP_LEFT selectPreviousColumn
KP_RIGHT selectNextColumn
KP_UP selectPreviousRow
LEFT selectPreviousColumn
PAGE_DOWN scrollDownChangeSelection
PAGE_UP scrollUpChangeSelection
PASTE paste
RIGHT selectNextColumn
SPACE addToSelection
TAB selectNextColumnCell
UP selectPreviousRow
shift ctrl DOWN selectNextRowExtendSelection
shift ctrl END selectLastRowExtendSelection
shift ctrl HOME selectFirstRowExtendSelection
shift ctrl KP_DOWN selectNextRowExtendSelection
shift ctrl KP_LEFT selectPreviousColumnExtendSelection
shift ctrl KP_RIGHT selectNextColumnExtendSelection
shift ctrl KP_UP selectPreviousRowExtendSelection
shift ctrl LEFT selectPreviousColumnExtendSelection
shift ctrl PAGE_DOWN scrollRightExtendSelection
shift ctrl PAGE_UP scrollLeftExtendSelection
shift ctrl RIGHT selectNextColumnExtendSelection
shift ctrl SPACE moveSelectionTo
shift ctrl UP selectPreviousRowExtendSelection
shift DELETE cut
shift DOWN selectNextRowExtendSelection
shift END selectLastColumnExtendSelection
shift ENTER selectPreviousRowCell
shift HOME selectFirstColumnExtendSelection
shift INSERT paste
shift KP_DOWN selectNextRowExtendSelection
shift KP_LEFT selectPreviousColumnExtendSelection
shift KP_RIGHT selectNextColumnExtendSelection
shift KP_UP selectPreviousRowExtendSelection
shift LEFT selectPreviousColumnExtendSelection
shift PAGE_DOWN scrollDownExtendSelection
shift PAGE_UP scrollUpExtendSelection
shift RIGHT selectNextColumnExtendSelection
shift SPACE extendTo
shift TAB selectPreviousColumnCell
shift UP selectPreviousRowExtendSelection
#---- TableHeader ----
TableHeader.ancestorInputMap [lazy] 14 javax.swing.plaf.InputMapUIResource [UI]
alt KP_LEFT moveColumnLeft
alt KP_RIGHT moveColumnRight
alt LEFT moveColumnLeft
alt RIGHT moveColumnRight
ESCAPE focusTable
KP_LEFT selectColumnToLeft
KP_RIGHT selectColumnToRight
LEFT selectColumnToLeft
RIGHT selectColumnToRight
SPACE toggleSortOrder
shift alt KP_LEFT resizeLeft
shift alt KP_RIGHT resizeRight
shift alt LEFT resizeLeft
shift alt RIGHT resizeRight
#---- TextArea ----
TextArea.focusInputMap [lazy] 61 javax.swing.plaf.InputMapUIResource [UI]
ctrl A select-all
ctrl BACK_SLASH unselect
ctrl BACK_SPACE delete-previous-word
ctrl C copy-to-clipboard
ctrl DELETE delete-next-word
ctrl END caret-end
ctrl H delete-previous
ctrl HOME caret-begin
ctrl INSERT copy-to-clipboard
ctrl KP_LEFT caret-previous-word
ctrl KP_RIGHT caret-next-word
ctrl LEFT caret-previous-word
ctrl RIGHT caret-next-word
ctrl SPACE activate-link-action
ctrl T next-link-action
ctrl V paste-from-clipboard
ctrl X cut-to-clipboard
BACK_SPACE delete-previous
COPY copy-to-clipboard
CUT cut-to-clipboard
DELETE delete-next
DOWN caret-down
END caret-end-line
ENTER insert-break
HOME caret-begin-line
KP_DOWN caret-down
KP_LEFT caret-backward
KP_RIGHT caret-forward
KP_UP caret-up
LEFT caret-backward
PAGE_DOWN page-down
PAGE_UP page-up
PASTE paste-from-clipboard
RIGHT caret-forward
TAB insert-tab
UP caret-up
shift ctrl END selection-end
shift ctrl HOME selection-begin
shift ctrl KP_LEFT selection-previous-word
shift ctrl KP_RIGHT selection-next-word
shift ctrl LEFT selection-previous-word
shift ctrl O toggle-componentOrientation
shift ctrl PAGE_DOWN selection-page-right
shift ctrl PAGE_UP selection-page-left
shift ctrl RIGHT selection-next-word
shift ctrl T previous-link-action
shift BACK_SPACE delete-previous
shift DELETE cut-to-clipboard
shift DOWN selection-down
shift END selection-end-line
shift HOME selection-begin-line
shift INSERT paste-from-clipboard
shift KP_DOWN selection-down
shift KP_LEFT selection-backward
shift KP_RIGHT selection-forward
shift KP_UP selection-up
shift LEFT selection-backward
shift PAGE_DOWN selection-page-down
shift PAGE_UP selection-page-up
shift RIGHT selection-forward
shift UP selection-up
#---- TextField ----
TextField.focusInputMap [lazy] 39 javax.swing.plaf.InputMapUIResource [UI]
ctrl A select-all
ctrl BACK_SLASH unselect
ctrl BACK_SPACE delete-previous-word
ctrl C copy-to-clipboard
ctrl DELETE delete-next-word
ctrl H delete-previous
ctrl INSERT copy-to-clipboard
ctrl KP_LEFT caret-previous-word
ctrl KP_RIGHT caret-next-word
ctrl LEFT caret-previous-word
ctrl RIGHT caret-next-word
ctrl V paste-from-clipboard
ctrl X cut-to-clipboard
BACK_SPACE delete-previous
COPY copy-to-clipboard
CUT cut-to-clipboard
DELETE delete-next
END caret-end-line
ENTER notify-field-accept
HOME caret-begin-line
KP_LEFT caret-backward
KP_RIGHT caret-forward
LEFT caret-backward
PASTE paste-from-clipboard
RIGHT caret-forward
shift ctrl KP_LEFT selection-previous-word
shift ctrl KP_RIGHT selection-next-word
shift ctrl LEFT selection-previous-word
shift ctrl O toggle-componentOrientation
shift ctrl RIGHT selection-next-word
shift BACK_SPACE delete-previous
shift DELETE cut-to-clipboard
shift END selection-end-line
shift HOME selection-begin-line
shift INSERT paste-from-clipboard
shift KP_LEFT selection-backward
shift KP_RIGHT selection-forward
shift LEFT selection-backward
shift RIGHT selection-forward
#---- TextPane ----
TextPane.focusInputMap [lazy] 61 javax.swing.plaf.InputMapUIResource [UI]
ctrl A select-all
ctrl BACK_SLASH unselect
ctrl BACK_SPACE delete-previous-word
ctrl C copy-to-clipboard
ctrl DELETE delete-next-word
ctrl END caret-end
ctrl H delete-previous
ctrl HOME caret-begin
ctrl INSERT copy-to-clipboard
ctrl KP_LEFT caret-previous-word
ctrl KP_RIGHT caret-next-word
ctrl LEFT caret-previous-word
ctrl RIGHT caret-next-word
ctrl SPACE activate-link-action
ctrl T next-link-action
ctrl V paste-from-clipboard
ctrl X cut-to-clipboard
BACK_SPACE delete-previous
COPY copy-to-clipboard
CUT cut-to-clipboard
DELETE delete-next
DOWN caret-down
END caret-end-line
ENTER insert-break
HOME caret-begin-line
KP_DOWN caret-down
KP_LEFT caret-backward
KP_RIGHT caret-forward
KP_UP caret-up
LEFT caret-backward
PAGE_DOWN page-down
PAGE_UP page-up
PASTE paste-from-clipboard
RIGHT caret-forward
TAB insert-tab
UP caret-up
shift ctrl END selection-end
shift ctrl HOME selection-begin
shift ctrl KP_LEFT selection-previous-word
shift ctrl KP_RIGHT selection-next-word
shift ctrl LEFT selection-previous-word
shift ctrl O toggle-componentOrientation
shift ctrl PAGE_DOWN selection-page-right
shift ctrl PAGE_UP selection-page-left
shift ctrl RIGHT selection-next-word
shift ctrl T previous-link-action
shift BACK_SPACE delete-previous
shift DELETE cut-to-clipboard
shift DOWN selection-down
shift END selection-end-line
shift HOME selection-begin-line
shift INSERT paste-from-clipboard
shift KP_DOWN selection-down
shift KP_LEFT selection-backward
shift KP_RIGHT selection-forward
shift KP_UP selection-up
shift LEFT selection-backward
shift PAGE_DOWN selection-page-down
shift PAGE_UP selection-page-up
shift RIGHT selection-forward
shift UP selection-up
#---- ToggleButton ----
ToggleButton.focusInputMap [lazy] 2 javax.swing.plaf.InputMapUIResource [UI]
SPACE pressed
released SPACE released
#---- ToolBar ----
ToolBar.ancestorInputMap [lazy] 8 javax.swing.plaf.InputMapUIResource [UI]
DOWN navigateDown
KP_DOWN navigateDown
KP_LEFT navigateLeft
KP_RIGHT navigateRight
KP_UP navigateUp
LEFT navigateLeft
RIGHT navigateRight
UP navigateUp
#---- Tree ----
Tree.ancestorInputMap [lazy] 1 javax.swing.plaf.InputMapUIResource [UI]
ESCAPE cancel
Tree.focusInputMap.RightToLeft [lazy] 4 javax.swing.plaf.InputMapUIResource [UI]
KP_LEFT selectChild
KP_RIGHT selectParent
LEFT selectChild
RIGHT selectParent
Tree.focusInputMap [lazy] 59 javax.swing.plaf.InputMapUIResource [UI]
ctrl A selectAll
ctrl BACK_SLASH clearSelection
ctrl C copy
ctrl DOWN selectNextChangeLead
ctrl END selectLastChangeLead
ctrl HOME selectFirstChangeLead
ctrl INSERT copy
ctrl KP_DOWN selectNextChangeLead
ctrl KP_LEFT scrollLeft
ctrl KP_RIGHT scrollRight
ctrl KP_UP selectPreviousChangeLead
ctrl LEFT scrollLeft
ctrl PAGE_DOWN scrollDownChangeLead
ctrl PAGE_UP scrollUpChangeLead
ctrl RIGHT scrollRight
ctrl SLASH selectAll
ctrl SPACE toggleAndAnchor
ctrl UP selectPreviousChangeLead
ctrl V paste
ctrl X cut
ADD expand
COPY copy
CUT cut
DOWN selectNext
END selectLast
F2 startEditing
HOME selectFirst
KP_DOWN selectNext
KP_LEFT selectParent
KP_RIGHT selectChild
KP_UP selectPrevious
LEFT selectParent
PAGE_DOWN scrollDownChangeSelection
PAGE_UP scrollUpChangeSelection
PASTE paste
RIGHT selectChild
SPACE addToSelection
SUBTRACT collapse
UP selectPrevious
shift ctrl DOWN selectNextExtendSelection
shift ctrl END selectLastExtendSelection
shift ctrl HOME selectFirstExtendSelection
shift ctrl KP_DOWN selectNextExtendSelection
shift ctrl KP_UP selectPreviousExtendSelection
shift ctrl PAGE_DOWN scrollDownExtendSelection
shift ctrl PAGE_UP scrollUpExtendSelection
shift ctrl SPACE moveSelectionTo
shift ctrl UP selectPreviousExtendSelection
shift DELETE cut
shift DOWN selectNextExtendSelection
shift END selectLastExtendSelection
shift HOME selectFirstExtendSelection
shift INSERT paste
shift KP_DOWN selectNextExtendSelection
shift KP_UP selectPreviousExtendSelection
shift PAGE_DOWN scrollDownExtendSelection
shift PAGE_UP scrollUpExtendSelection
shift SPACE extendTo
shift UP selectPreviousExtendSelection

View File

@@ -60,9 +60,6 @@ Button.defaultButtonFollowsFocus false
Button.disabledText #999999 javax.swing.plaf.ColorUIResource [UI] Button.disabledText #999999 javax.swing.plaf.ColorUIResource [UI]
Button.disabledToolBarBorderBackground #cccccc javax.swing.plaf.ColorUIResource [UI] Button.disabledToolBarBorderBackground #cccccc javax.swing.plaf.ColorUIResource [UI]
Button.focus #a3b8cc javax.swing.plaf.ColorUIResource [UI] Button.focus #a3b8cc javax.swing.plaf.ColorUIResource [UI]
Button.focusInputMap [lazy] 2 javax.swing.plaf.InputMapUIResource [UI]
pressed SPACE pressed
released SPACE released
Button.font [active] Dialog bold 12 javax.swing.plaf.FontUIResource [UI] Button.font [active] Dialog bold 12 javax.swing.plaf.FontUIResource [UI]
Button.foreground #333333 sun.swing.PrintColorUIResource [UI] Button.foreground #333333 sun.swing.PrintColorUIResource [UI]
Button.gradient size=5 java.util.Arrays$ArrayList Button.gradient size=5 java.util.Arrays$ArrayList
@@ -92,9 +89,6 @@ CheckBox.border [lazy] javax.swing.plaf.BorderUIResource$Compound
0,0,0,0 false javax.swing.plaf.basic.BasicBorders$MarginBorder [UI] 0,0,0,0 false javax.swing.plaf.basic.BasicBorders$MarginBorder [UI]
CheckBox.disabledText #999999 javax.swing.plaf.ColorUIResource [UI] CheckBox.disabledText #999999 javax.swing.plaf.ColorUIResource [UI]
CheckBox.focus #a3b8cc javax.swing.plaf.ColorUIResource [UI] CheckBox.focus #a3b8cc javax.swing.plaf.ColorUIResource [UI]
CheckBox.focusInputMap [lazy] 2 javax.swing.plaf.InputMapUIResource [UI]
pressed SPACE pressed
released SPACE released
CheckBox.font [active] Dialog bold 12 javax.swing.plaf.FontUIResource [UI] CheckBox.font [active] Dialog bold 12 javax.swing.plaf.FontUIResource [UI]
CheckBox.foreground #333333 sun.swing.PrintColorUIResource [UI] CheckBox.foreground #333333 sun.swing.PrintColorUIResource [UI]
CheckBox.gradient size=5 java.util.Arrays$ArrayList CheckBox.gradient size=5 java.util.Arrays$ArrayList
@@ -160,22 +154,6 @@ ColorChooserUI javax.swing.plaf.basic.BasicColorChooserUI
#---- ComboBox ---- #---- ComboBox ----
ComboBox.ancestorInputMap [lazy] 15 javax.swing.plaf.InputMapUIResource [UI]
alt pressed DOWN togglePopup
alt pressed KP_DOWN togglePopup
alt pressed KP_UP togglePopup
alt pressed UP togglePopup
pressed DOWN selectNext
pressed END endPassThrough
pressed ENTER enterPressed
pressed ESCAPE hidePopup
pressed HOME homePassThrough
pressed KP_DOWN selectNext
pressed KP_UP selectPrevious
pressed PAGE_DOWN pageDownPassThrough
pressed PAGE_UP pageUpPassThrough
pressed SPACE spacePopup
pressed UP selectPrevious
ComboBox.background #eeeeee javax.swing.plaf.ColorUIResource [UI] ComboBox.background #eeeeee javax.swing.plaf.ColorUIResource [UI]
ComboBox.buttonBackground #eeeeee javax.swing.plaf.ColorUIResource [UI] ComboBox.buttonBackground #eeeeee javax.swing.plaf.ColorUIResource [UI]
ComboBox.buttonDarkShadow #7a8a99 javax.swing.plaf.ColorUIResource [UI] ComboBox.buttonDarkShadow #7a8a99 javax.swing.plaf.ColorUIResource [UI]
@@ -195,36 +173,6 @@ ComboBoxUI javax.swing.plaf.metal.MetalComboBoxUI
#---- Desktop ---- #---- Desktop ----
Desktop.ancestorInputMap [lazy] 29 javax.swing.plaf.InputMapUIResource [UI]
ctrl alt pressed F6 selectNextFrame
ctrl pressed F10 maximize
ctrl pressed F12 navigateNext
ctrl pressed F4 close
ctrl pressed F5 restore
ctrl pressed F6 selectNextFrame
ctrl pressed F7 move
ctrl pressed F8 resize
ctrl pressed F9 minimize
ctrl pressed TAB selectNextFrame
pressed DOWN down
pressed ESCAPE escape
pressed KP_DOWN down
pressed KP_LEFT left
pressed KP_RIGHT right
pressed KP_UP up
pressed LEFT left
pressed RIGHT right
pressed UP up
shift ctrl alt pressed F6 selectPreviousFrame
shift ctrl pressed F12 navigatePrevious
shift pressed DOWN shrinkDown
shift pressed KP_DOWN shrinkDown
shift pressed KP_LEFT shrinkLeft
shift pressed KP_RIGHT shrinkRight
shift pressed KP_UP shrinkUp
shift pressed LEFT shrinkLeft
shift pressed RIGHT shrinkRight
shift pressed UP shrinkUp
Desktop.background #ffffff javax.swing.plaf.ColorUIResource [UI] Desktop.background #ffffff javax.swing.plaf.ColorUIResource [UI]
Desktop.minOnScreenInsets 3,3,3,3 javax.swing.plaf.InsetsUIResource [UI] Desktop.minOnScreenInsets 3,3,3,3 javax.swing.plaf.InsetsUIResource [UI]
@@ -252,68 +200,6 @@ EditorPane.background #ffffff javax.swing.plaf.ColorUIResource [UI]
EditorPane.border [lazy] 0,0,0,0 false javax.swing.plaf.basic.BasicBorders$MarginBorder [UI] EditorPane.border [lazy] 0,0,0,0 false javax.swing.plaf.basic.BasicBorders$MarginBorder [UI]
EditorPane.caretBlinkRate 500 EditorPane.caretBlinkRate 500
EditorPane.caretForeground #333333 sun.swing.PrintColorUIResource [UI] EditorPane.caretForeground #333333 sun.swing.PrintColorUIResource [UI]
EditorPane.focusInputMap [lazy] 61 javax.swing.plaf.InputMapUIResource [UI]
ctrl pressed A select-all
ctrl pressed BACK_SLASH unselect
ctrl pressed BACK_SPACE delete-previous-word
ctrl pressed C copy-to-clipboard
ctrl pressed DELETE delete-next-word
ctrl pressed END caret-end
ctrl pressed H delete-previous
ctrl pressed HOME caret-begin
ctrl pressed INSERT copy-to-clipboard
ctrl pressed KP_LEFT caret-previous-word
ctrl pressed KP_RIGHT caret-next-word
ctrl pressed LEFT caret-previous-word
ctrl pressed RIGHT caret-next-word
ctrl pressed SPACE activate-link-action
ctrl pressed T next-link-action
ctrl pressed V paste-from-clipboard
ctrl pressed X cut-to-clipboard
pressed BACK_SPACE delete-previous
pressed COPY copy-to-clipboard
pressed CUT cut-to-clipboard
pressed DELETE delete-next
pressed DOWN caret-down
pressed END caret-end-line
pressed ENTER insert-break
pressed HOME caret-begin-line
pressed KP_DOWN caret-down
pressed KP_LEFT caret-backward
pressed KP_RIGHT caret-forward
pressed KP_UP caret-up
pressed LEFT caret-backward
pressed PAGE_DOWN page-down
pressed PAGE_UP page-up
pressed PASTE paste-from-clipboard
pressed RIGHT caret-forward
pressed TAB insert-tab
pressed UP caret-up
shift ctrl pressed END selection-end
shift ctrl pressed HOME selection-begin
shift ctrl pressed KP_LEFT selection-previous-word
shift ctrl pressed KP_RIGHT selection-next-word
shift ctrl pressed LEFT selection-previous-word
shift ctrl pressed O toggle-componentOrientation
shift ctrl pressed PAGE_DOWN selection-page-right
shift ctrl pressed PAGE_UP selection-page-left
shift ctrl pressed RIGHT selection-next-word
shift ctrl pressed T previous-link-action
shift pressed BACK_SPACE delete-previous
shift pressed DELETE cut-to-clipboard
shift pressed DOWN selection-down
shift pressed END selection-end-line
shift pressed HOME selection-begin-line
shift pressed INSERT paste-from-clipboard
shift pressed KP_DOWN selection-down
shift pressed KP_LEFT selection-backward
shift pressed KP_RIGHT selection-forward
shift pressed KP_UP selection-up
shift pressed LEFT selection-backward
shift pressed PAGE_DOWN selection-page-down
shift pressed PAGE_UP selection-page-up
shift pressed RIGHT selection-forward
shift pressed UP selection-up
EditorPane.font [active] Dialog plain 12 javax.swing.plaf.FontUIResource [UI] EditorPane.font [active] Dialog plain 12 javax.swing.plaf.FontUIResource [UI]
EditorPane.foreground #333333 sun.swing.PrintColorUIResource [UI] EditorPane.foreground #333333 sun.swing.PrintColorUIResource [UI]
EditorPane.inactiveForeground #b8cfe5 javax.swing.plaf.ColorUIResource [UI] EditorPane.inactiveForeground #b8cfe5 javax.swing.plaf.ColorUIResource [UI]
@@ -325,11 +211,6 @@ EditorPaneUI javax.swing.plaf.basic.BasicEditorPaneUI
#---- FileChooser ---- #---- FileChooser ----
FileChooser.ancestorInputMap [lazy] 4 javax.swing.plaf.InputMapUIResource [UI]
pressed BACK_SPACE Go Up
pressed ESCAPE cancelSelection
pressed F2 editFileName
pressed F5 refresh
FileChooser.detailsViewIcon [lazy] 18,18 javax.swing.plaf.metal.MetalIconFactory$FileChooserDetailViewIcon [UI] FileChooser.detailsViewIcon [lazy] 18,18 javax.swing.plaf.metal.MetalIconFactory$FileChooserDetailViewIcon [UI]
FileChooser.homeFolderIcon [lazy] 18,18 sun.swing.ImageIconUIResource [UI] (sun.awt.image.ToolkitImage) FileChooser.homeFolderIcon [lazy] 18,18 sun.swing.ImageIconUIResource [UI] (sun.awt.image.ToolkitImage)
FileChooser.listViewIcon [lazy] 18,18 javax.swing.plaf.metal.MetalIconFactory$FileChooserListViewIcon [UI] FileChooser.listViewIcon [lazy] 18,18 javax.swing.plaf.metal.MetalIconFactory$FileChooserListViewIcon [UI]
@@ -358,51 +239,6 @@ FormattedTextField.border [lazy] javax.swing.plaf.BorderUIResource$Compound
0,0,0,0 false javax.swing.plaf.basic.BasicBorders$MarginBorder [UI] 0,0,0,0 false javax.swing.plaf.basic.BasicBorders$MarginBorder [UI]
FormattedTextField.caretBlinkRate 500 FormattedTextField.caretBlinkRate 500
FormattedTextField.caretForeground #333333 sun.swing.PrintColorUIResource [UI] FormattedTextField.caretForeground #333333 sun.swing.PrintColorUIResource [UI]
FormattedTextField.focusInputMap [lazy] 44 javax.swing.plaf.InputMapUIResource [UI]
ctrl pressed A select-all
ctrl pressed BACK_SLASH unselect
ctrl pressed BACK_SPACE delete-previous-word
ctrl pressed C copy-to-clipboard
ctrl pressed DELETE delete-next-word
ctrl pressed H delete-previous
ctrl pressed INSERT copy-to-clipboard
ctrl pressed KP_LEFT caret-previous-word
ctrl pressed KP_RIGHT caret-next-word
ctrl pressed LEFT caret-previous-word
ctrl pressed RIGHT caret-next-word
ctrl pressed V paste-from-clipboard
ctrl pressed X cut-to-clipboard
pressed BACK_SPACE delete-previous
pressed COPY copy-to-clipboard
pressed CUT cut-to-clipboard
pressed DELETE delete-next
pressed DOWN decrement
pressed END caret-end-line
pressed ENTER notify-field-accept
pressed ESCAPE reset-field-edit
pressed HOME caret-begin-line
pressed KP_DOWN decrement
pressed KP_LEFT caret-backward
pressed KP_RIGHT caret-forward
pressed KP_UP increment
pressed LEFT caret-backward
pressed PASTE paste-from-clipboard
pressed RIGHT caret-forward
pressed UP increment
shift ctrl pressed KP_LEFT selection-previous-word
shift ctrl pressed KP_RIGHT selection-next-word
shift ctrl pressed LEFT selection-previous-word
shift ctrl pressed O toggle-componentOrientation
shift ctrl pressed RIGHT selection-next-word
shift pressed BACK_SPACE delete-previous
shift pressed DELETE cut-to-clipboard
shift pressed END selection-end-line
shift pressed HOME selection-begin-line
shift pressed INSERT paste-from-clipboard
shift pressed KP_LEFT selection-backward
shift pressed KP_RIGHT selection-forward
shift pressed LEFT selection-backward
shift pressed RIGHT selection-forward
FormattedTextField.font [active] Dialog plain 12 javax.swing.plaf.FontUIResource [UI] FormattedTextField.font [active] Dialog plain 12 javax.swing.plaf.FontUIResource [UI]
FormattedTextField.foreground #333333 sun.swing.PrintColorUIResource [UI] FormattedTextField.foreground #333333 sun.swing.PrintColorUIResource [UI]
FormattedTextField.inactiveBackground #eeeeee javax.swing.plaf.ColorUIResource [UI] FormattedTextField.inactiveBackground #eeeeee javax.swing.plaf.ColorUIResource [UI]
@@ -477,88 +313,6 @@ List.cellRenderer [active] javax.swing.DefaultListCellRenderer$UIRe
List.dropCellBackground #d2e9ff javax.swing.plaf.ColorUIResource [UI] List.dropCellBackground #d2e9ff javax.swing.plaf.ColorUIResource [UI]
List.dropLineColor #6382bf javax.swing.plaf.ColorUIResource [UI] List.dropLineColor #6382bf javax.swing.plaf.ColorUIResource [UI]
List.focusCellHighlightBorder [lazy] line: #6382bf javax.swing.plaf.ColorUIResource [UI] 1 false 1,1,1,1 true javax.swing.plaf.BorderUIResource$LineBorderUIResource [UI] List.focusCellHighlightBorder [lazy] line: #6382bf javax.swing.plaf.ColorUIResource [UI] 1 false 1,1,1,1 true javax.swing.plaf.BorderUIResource$LineBorderUIResource [UI]
List.focusInputMap.RightToLeft [lazy] 16 javax.swing.plaf.InputMapUIResource [UI]
ctrl pressed KP_LEFT selectNextColumnChangeLead
ctrl pressed KP_RIGHT selectPreviousColumnChangeLead
ctrl pressed LEFT selectNextColumnChangeLead
ctrl pressed RIGHT selectPreviousColumnChangeLead
pressed KP_LEFT selectNextColumn
pressed KP_RIGHT selectPreviousColumn
pressed LEFT selectNextColumn
pressed RIGHT selectPreviousColumn
shift ctrl pressed KP_LEFT selectNextColumnExtendSelection
shift ctrl pressed KP_RIGHT selectPreviousColumnExtendSelection
shift ctrl pressed LEFT selectNextColumnExtendSelection
shift ctrl pressed RIGHT selectPreviousColumnExtendSelection
shift pressed KP_LEFT selectNextColumnExtendSelection
shift pressed KP_RIGHT selectPreviousColumnExtendSelection
shift pressed LEFT selectNextColumnExtendSelection
shift pressed RIGHT selectPreviousColumnExtendSelection
List.focusInputMap [lazy] 64 javax.swing.plaf.InputMapUIResource [UI]
ctrl pressed A selectAll
ctrl pressed BACK_SLASH clearSelection
ctrl pressed C copy
ctrl pressed DOWN selectNextRowChangeLead
ctrl pressed END selectLastRowChangeLead
ctrl pressed HOME selectFirstRowChangeLead
ctrl pressed INSERT copy
ctrl pressed KP_DOWN selectNextRowChangeLead
ctrl pressed KP_LEFT selectPreviousColumnChangeLead
ctrl pressed KP_RIGHT selectNextColumnChangeLead
ctrl pressed KP_UP selectPreviousRowChangeLead
ctrl pressed LEFT selectPreviousColumnChangeLead
ctrl pressed PAGE_DOWN scrollDownChangeLead
ctrl pressed PAGE_UP scrollUpChangeLead
ctrl pressed RIGHT selectNextColumnChangeLead
ctrl pressed SLASH selectAll
ctrl pressed SPACE toggleAndAnchor
ctrl pressed UP selectPreviousRowChangeLead
ctrl pressed V paste
ctrl pressed X cut
pressed COPY copy
pressed CUT cut
pressed DOWN selectNextRow
pressed END selectLastRow
pressed HOME selectFirstRow
pressed KP_DOWN selectNextRow
pressed KP_LEFT selectPreviousColumn
pressed KP_RIGHT selectNextColumn
pressed KP_UP selectPreviousRow
pressed LEFT selectPreviousColumn
pressed PAGE_DOWN scrollDown
pressed PAGE_UP scrollUp
pressed PASTE paste
pressed RIGHT selectNextColumn
pressed SPACE addToSelection
pressed UP selectPreviousRow
shift ctrl pressed DOWN selectNextRowExtendSelection
shift ctrl pressed END selectLastRowExtendSelection
shift ctrl pressed HOME selectFirstRowExtendSelection
shift ctrl pressed KP_DOWN selectNextRowExtendSelection
shift ctrl pressed KP_LEFT selectPreviousColumnExtendSelection
shift ctrl pressed KP_RIGHT selectNextColumnExtendSelection
shift ctrl pressed KP_UP selectPreviousRowExtendSelection
shift ctrl pressed LEFT selectPreviousColumnExtendSelection
shift ctrl pressed PAGE_DOWN scrollDownExtendSelection
shift ctrl pressed PAGE_UP scrollUpExtendSelection
shift ctrl pressed RIGHT selectNextColumnExtendSelection
shift ctrl pressed SPACE moveSelectionTo
shift ctrl pressed UP selectPreviousRowExtendSelection
shift pressed DELETE cut
shift pressed DOWN selectNextRowExtendSelection
shift pressed END selectLastRowExtendSelection
shift pressed HOME selectFirstRowExtendSelection
shift pressed INSERT paste
shift pressed KP_DOWN selectNextRowExtendSelection
shift pressed KP_LEFT selectPreviousColumnExtendSelection
shift pressed KP_RIGHT selectNextColumnExtendSelection
shift pressed KP_UP selectPreviousRowExtendSelection
shift pressed LEFT selectPreviousColumnExtendSelection
shift pressed PAGE_DOWN scrollDownExtendSelection
shift pressed PAGE_UP scrollUpExtendSelection
shift pressed RIGHT selectNextColumnExtendSelection
shift pressed SPACE extendTo
shift pressed UP selectPreviousRowExtendSelection
List.font [active] Dialog bold 12 javax.swing.plaf.FontUIResource [UI] List.font [active] Dialog bold 12 javax.swing.plaf.FontUIResource [UI]
List.foreground #333333 sun.swing.PrintColorUIResource [UI] List.foreground #333333 sun.swing.PrintColorUIResource [UI]
List.noFocusBorder 1,1,1,1 false javax.swing.plaf.BorderUIResource$EmptyBorderUIResource [UI] List.noFocusBorder 1,1,1,1 false javax.swing.plaf.BorderUIResource$EmptyBorderUIResource [UI]
@@ -697,44 +451,6 @@ PasswordField.border [lazy] javax.swing.plaf.BorderUIResource$Compound
PasswordField.caretBlinkRate 500 PasswordField.caretBlinkRate 500
PasswordField.caretForeground #333333 sun.swing.PrintColorUIResource [UI] PasswordField.caretForeground #333333 sun.swing.PrintColorUIResource [UI]
PasswordField.echoChar '\u2022' PasswordField.echoChar '\u2022'
PasswordField.focusInputMap [lazy] 37 javax.swing.plaf.InputMapUIResource [UI]
ctrl pressed A select-all
ctrl pressed BACK_SLASH unselect
ctrl pressed C copy-to-clipboard
ctrl pressed H delete-previous
ctrl pressed INSERT copy-to-clipboard
ctrl pressed KP_LEFT caret-begin-line
ctrl pressed KP_RIGHT caret-end-line
ctrl pressed LEFT caret-begin-line
ctrl pressed RIGHT caret-end-line
ctrl pressed V paste-from-clipboard
ctrl pressed X cut-to-clipboard
pressed BACK_SPACE delete-previous
pressed COPY copy-to-clipboard
pressed CUT cut-to-clipboard
pressed DELETE delete-next
pressed END caret-end-line
pressed ENTER notify-field-accept
pressed HOME caret-begin-line
pressed KP_LEFT caret-backward
pressed KP_RIGHT caret-forward
pressed LEFT caret-backward
pressed PASTE paste-from-clipboard
pressed RIGHT caret-forward
shift ctrl pressed KP_LEFT selection-begin-line
shift ctrl pressed KP_RIGHT selection-end-line
shift ctrl pressed LEFT selection-begin-line
shift ctrl pressed O toggle-componentOrientation
shift ctrl pressed RIGHT selection-end-line
shift pressed BACK_SPACE delete-previous
shift pressed DELETE cut-to-clipboard
shift pressed END selection-end-line
shift pressed HOME selection-begin-line
shift pressed INSERT paste-from-clipboard
shift pressed KP_LEFT selection-backward
shift pressed KP_RIGHT selection-forward
shift pressed LEFT selection-backward
shift pressed RIGHT selection-forward
PasswordField.font [active] Dialog plain 12 javax.swing.plaf.FontUIResource [UI] PasswordField.font [active] Dialog plain 12 javax.swing.plaf.FontUIResource [UI]
PasswordField.foreground #333333 sun.swing.PrintColorUIResource [UI] PasswordField.foreground #333333 sun.swing.PrintColorUIResource [UI]
PasswordField.inactiveBackground #eeeeee javax.swing.plaf.ColorUIResource [UI] PasswordField.inactiveBackground #eeeeee javax.swing.plaf.ColorUIResource [UI]
@@ -753,40 +469,6 @@ PopupMenu.consumeEventOnClose false
PopupMenu.font [active] Dialog bold 12 javax.swing.plaf.FontUIResource [UI] PopupMenu.font [active] Dialog bold 12 javax.swing.plaf.FontUIResource [UI]
PopupMenu.foreground #333333 sun.swing.PrintColorUIResource [UI] PopupMenu.foreground #333333 sun.swing.PrintColorUIResource [UI]
PopupMenu.popupSound sounds/PopupMenuPopup.wav PopupMenu.popupSound sounds/PopupMenuPopup.wav
PopupMenu.selectedWindowInputMapBindings.RightToLeft length=8 [Ljava.lang.Object;
[0] LEFT
[1] selectChild
[2] KP_LEFT
[3] selectChild
[4] RIGHT
[5] selectParent
[6] KP_RIGHT
[7] selectParent
PopupMenu.selectedWindowInputMapBindings length=24 [Ljava.lang.Object;
[0] ESCAPE
[1] cancel
[2] DOWN
[3] selectNext
[4] KP_DOWN
[5] selectNext
[6] UP
[7] selectPrevious
[8] KP_UP
[9] selectPrevious
[10] LEFT
[11] selectParent
[12] KP_LEFT
[13] selectParent
[14] RIGHT
[15] selectChild
[16] KP_RIGHT
[17] selectChild
[18] ENTER
[19] return
[20] ctrl ENTER
[21] return
[22] SPACE
[23] return
#---- PopupMenuSeparator ---- #---- PopupMenuSeparator ----
@@ -825,9 +507,6 @@ RadioButton.border [lazy] javax.swing.plaf.BorderUIResource$Compound
RadioButton.darkShadow #7a8a99 javax.swing.plaf.ColorUIResource [UI] RadioButton.darkShadow #7a8a99 javax.swing.plaf.ColorUIResource [UI]
RadioButton.disabledText #999999 javax.swing.plaf.ColorUIResource [UI] RadioButton.disabledText #999999 javax.swing.plaf.ColorUIResource [UI]
RadioButton.focus #a3b8cc javax.swing.plaf.ColorUIResource [UI] RadioButton.focus #a3b8cc javax.swing.plaf.ColorUIResource [UI]
RadioButton.focusInputMap [lazy] 2 javax.swing.plaf.InputMapUIResource [UI]
pressed SPACE pressed
released SPACE released
RadioButton.font [active] Dialog bold 12 javax.swing.plaf.FontUIResource [UI] RadioButton.font [active] Dialog bold 12 javax.swing.plaf.FontUIResource [UI]
RadioButton.foreground #333333 sun.swing.PrintColorUIResource [UI] RadioButton.foreground #333333 sun.swing.PrintColorUIResource [UI]
RadioButton.gradient size=5 java.util.Arrays$ArrayList RadioButton.gradient size=5 java.util.Arrays$ArrayList
@@ -881,9 +560,6 @@ RadioButtonUI javax.swing.plaf.metal.MetalRadioButtonUI
#---- RootPane ---- #---- RootPane ----
RootPane.ancestorInputMap [lazy] 2 javax.swing.plaf.InputMapUIResource [UI]
pressed CONTEXT_MENU postPopup
shift pressed F10 postPopup
RootPane.colorChooserDialogBorder [lazy] 5,5,5,5 false javax.swing.plaf.metal.MetalBorders$QuestionDialogBorder [UI] RootPane.colorChooserDialogBorder [lazy] 5,5,5,5 false javax.swing.plaf.metal.MetalBorders$QuestionDialogBorder [UI]
RootPane.defaultButtonWindowKeyBindings length=8 [Ljava.lang.Object; RootPane.defaultButtonWindowKeyBindings length=8 [Ljava.lang.Object;
[0] ENTER [0] ENTER
@@ -907,24 +583,6 @@ RootPaneUI javax.swing.plaf.metal.MetalRootPaneUI
#---- ScrollBar ---- #---- ScrollBar ----
ScrollBar.allowsAbsolutePositioning true ScrollBar.allowsAbsolutePositioning true
ScrollBar.ancestorInputMap.RightToLeft [lazy] 4 javax.swing.plaf.InputMapUIResource [UI]
pressed KP_LEFT positiveUnitIncrement
pressed KP_RIGHT negativeUnitIncrement
pressed LEFT positiveUnitIncrement
pressed RIGHT negativeUnitIncrement
ScrollBar.ancestorInputMap [lazy] 12 javax.swing.plaf.InputMapUIResource [UI]
pressed DOWN positiveUnitIncrement
pressed END maxScroll
pressed HOME minScroll
pressed KP_DOWN positiveUnitIncrement
pressed KP_LEFT negativeUnitIncrement
pressed KP_RIGHT positiveUnitIncrement
pressed KP_UP negativeUnitIncrement
pressed LEFT negativeUnitIncrement
pressed PAGE_DOWN positiveBlockIncrement
pressed PAGE_UP negativeBlockIncrement
pressed RIGHT positiveUnitIncrement
pressed UP negativeUnitIncrement
ScrollBar.background #eeeeee javax.swing.plaf.ColorUIResource [UI] ScrollBar.background #eeeeee javax.swing.plaf.ColorUIResource [UI]
ScrollBar.darkShadow #7a8a99 javax.swing.plaf.ColorUIResource [UI] ScrollBar.darkShadow #7a8a99 javax.swing.plaf.ColorUIResource [UI]
ScrollBar.foreground #eeeeee javax.swing.plaf.ColorUIResource [UI] ScrollBar.foreground #eeeeee javax.swing.plaf.ColorUIResource [UI]
@@ -950,24 +608,6 @@ ScrollBarUI javax.swing.plaf.metal.MetalScrollBarUI
#---- ScrollPane ---- #---- ScrollPane ----
ScrollPane.ancestorInputMap.RightToLeft [lazy] 2 javax.swing.plaf.InputMapUIResource [UI]
ctrl pressed PAGE_DOWN scrollLeft
ctrl pressed PAGE_UP scrollRight
ScrollPane.ancestorInputMap [lazy] 14 javax.swing.plaf.InputMapUIResource [UI]
ctrl pressed END scrollEnd
ctrl pressed HOME scrollHome
ctrl pressed PAGE_DOWN scrollRight
ctrl pressed PAGE_UP scrollLeft
pressed DOWN unitScrollDown
pressed KP_DOWN unitScrollDown
pressed KP_LEFT unitScrollLeft
pressed KP_RIGHT unitScrollRight
pressed KP_UP unitScrollUp
pressed LEFT unitScrollLeft
pressed PAGE_DOWN scrollDown
pressed PAGE_UP scrollUp
pressed RIGHT unitScrollRight
pressed UP unitScrollUp
ScrollPane.background #eeeeee javax.swing.plaf.ColorUIResource [UI] ScrollPane.background #eeeeee javax.swing.plaf.ColorUIResource [UI]
ScrollPane.border [lazy] 1,1,2,2 false javax.swing.plaf.metal.MetalBorders$ScrollPaneBorder [UI] ScrollPane.border [lazy] 1,1,2,2 false javax.swing.plaf.metal.MetalBorders$ScrollPaneBorder [UI]
ScrollPane.font [lazy] Dialog plain 12 javax.swing.plaf.FontUIResource [UI] ScrollPane.font [lazy] Dialog plain 12 javax.swing.plaf.FontUIResource [UI]
@@ -995,26 +635,6 @@ Slider.focusGradient size=5 java.util.Arrays$ArrayList
[2] #c8ddf2 javax.swing.plaf.ColorUIResource [UI] [2] #c8ddf2 javax.swing.plaf.ColorUIResource [UI]
[3] #ffffff javax.swing.plaf.ColorUIResource [UI] [3] #ffffff javax.swing.plaf.ColorUIResource [UI]
[4] #b8cfe5 javax.swing.plaf.ColorUIResource [UI] [4] #b8cfe5 javax.swing.plaf.ColorUIResource [UI]
Slider.focusInputMap.RightToLeft [lazy] 4 javax.swing.plaf.InputMapUIResource [UI]
pressed KP_LEFT positiveUnitIncrement
pressed KP_RIGHT negativeUnitIncrement
pressed LEFT positiveUnitIncrement
pressed RIGHT negativeUnitIncrement
Slider.focusInputMap [lazy] 14 javax.swing.plaf.InputMapUIResource [UI]
ctrl pressed PAGE_DOWN negativeBlockIncrement
ctrl pressed PAGE_UP positiveBlockIncrement
pressed DOWN negativeUnitIncrement
pressed END maxScroll
pressed HOME minScroll
pressed KP_DOWN negativeUnitIncrement
pressed KP_LEFT negativeUnitIncrement
pressed KP_RIGHT positiveUnitIncrement
pressed KP_UP positiveUnitIncrement
pressed LEFT negativeUnitIncrement
pressed PAGE_DOWN negativeBlockIncrement
pressed PAGE_UP positiveBlockIncrement
pressed RIGHT positiveUnitIncrement
pressed UP positiveUnitIncrement
Slider.focusInsets 0,0,0,0 javax.swing.plaf.InsetsUIResource [UI] Slider.focusInsets 0,0,0,0 javax.swing.plaf.InsetsUIResource [UI]
Slider.font [active] Dialog bold 12 javax.swing.plaf.FontUIResource [UI] Slider.font [active] Dialog bold 12 javax.swing.plaf.FontUIResource [UI]
Slider.foreground #a3b8cc javax.swing.plaf.ColorUIResource [UI] Slider.foreground #a3b8cc javax.swing.plaf.ColorUIResource [UI]
@@ -1041,11 +661,6 @@ SliderUI javax.swing.plaf.metal.MetalSliderUI
#---- Spinner ---- #---- Spinner ----
Spinner.ancestorInputMap [lazy] 4 javax.swing.plaf.InputMapUIResource [UI]
pressed DOWN decrement
pressed KP_DOWN decrement
pressed KP_UP increment
pressed UP increment
Spinner.arrowButtonBorder [lazy] javax.swing.plaf.BorderUIResource$CompoundBorderUIResource [UI] Spinner.arrowButtonBorder [lazy] javax.swing.plaf.BorderUIResource$CompoundBorderUIResource [UI]
3,3,3,3 false javax.swing.plaf.metal.MetalBorders$ButtonBorder [UI] 3,3,3,3 false javax.swing.plaf.metal.MetalBorders$ButtonBorder [UI]
0,0,0,0 false javax.swing.plaf.basic.BasicBorders$MarginBorder [UI] 0,0,0,0 false javax.swing.plaf.basic.BasicBorders$MarginBorder [UI]
@@ -1064,21 +679,6 @@ SpinnerUI javax.swing.plaf.basic.BasicSpinnerUI
#---- SplitPane ---- #---- SplitPane ----
SplitPane.ancestorInputMap [lazy] 14 javax.swing.plaf.InputMapUIResource [UI]
ctrl pressed TAB focusOutForward
pressed DOWN positiveIncrement
pressed END selectMax
pressed F6 toggleFocus
pressed F8 startResize
pressed HOME selectMin
pressed KP_DOWN positiveIncrement
pressed KP_LEFT negativeIncrement
pressed KP_RIGHT positiveIncrement
pressed KP_UP negativeIncrement
pressed LEFT negativeIncrement
pressed RIGHT positiveIncrement
pressed UP negativeIncrement
shift ctrl pressed TAB focusOutBackward
SplitPane.background #eeeeee javax.swing.plaf.ColorUIResource [UI] SplitPane.background #eeeeee javax.swing.plaf.ColorUIResource [UI]
SplitPane.border [lazy] 1,1,1,1 true javax.swing.plaf.basic.BasicBorders$SplitPaneBorder [UI] SplitPane.border [lazy] 1,1,1,1 true javax.swing.plaf.basic.BasicBorders$SplitPaneBorder [UI]
SplitPane.centerOneTouchButtons false SplitPane.centerOneTouchButtons false
@@ -1103,11 +703,6 @@ SplitPaneUI javax.swing.plaf.metal.MetalSplitPaneUI
#---- TabbedPane ---- #---- TabbedPane ----
TabbedPane.ancestorInputMap [lazy] 4 javax.swing.plaf.InputMapUIResource [UI]
ctrl pressed KP_UP requestFocus
ctrl pressed PAGE_DOWN navigatePageDown
ctrl pressed PAGE_UP navigatePageUp
ctrl pressed UP requestFocus
TabbedPane.background #b8cfe5 javax.swing.plaf.ColorUIResource [UI] TabbedPane.background #b8cfe5 javax.swing.plaf.ColorUIResource [UI]
TabbedPane.borderHightlightColor #6382bf javax.swing.plaf.ColorUIResource [UI] TabbedPane.borderHightlightColor #6382bf javax.swing.plaf.ColorUIResource [UI]
TabbedPane.contentAreaColor #c8ddf2 javax.swing.plaf.ColorUIResource [UI] TabbedPane.contentAreaColor #c8ddf2 javax.swing.plaf.ColorUIResource [UI]
@@ -1115,17 +710,6 @@ TabbedPane.contentBorderInsets 4,2,3,3 java.awt.Insets
TabbedPane.contentOpaque true TabbedPane.contentOpaque true
TabbedPane.darkShadow #7a8a99 javax.swing.plaf.ColorUIResource [UI] TabbedPane.darkShadow #7a8a99 javax.swing.plaf.ColorUIResource [UI]
TabbedPane.focus #6382bf javax.swing.plaf.ColorUIResource [UI] TabbedPane.focus #6382bf javax.swing.plaf.ColorUIResource [UI]
TabbedPane.focusInputMap [lazy] 10 javax.swing.plaf.InputMapUIResource [UI]
ctrl pressed DOWN requestFocusForVisibleComponent
ctrl pressed KP_DOWN requestFocusForVisibleComponent
pressed DOWN navigateDown
pressed KP_DOWN navigateDown
pressed KP_LEFT navigateLeft
pressed KP_RIGHT navigateRight
pressed KP_UP navigateUp
pressed LEFT navigateLeft
pressed RIGHT navigateRight
pressed UP navigateUp
TabbedPane.font [active] Dialog bold 12 javax.swing.plaf.FontUIResource [UI] TabbedPane.font [active] Dialog bold 12 javax.swing.plaf.FontUIResource [UI]
TabbedPane.foreground #333333 sun.swing.PrintColorUIResource [UI] TabbedPane.foreground #333333 sun.swing.PrintColorUIResource [UI]
TabbedPane.highlight #ffffff javax.swing.plaf.ColorUIResource [UI] TabbedPane.highlight #ffffff javax.swing.plaf.ColorUIResource [UI]
@@ -1150,99 +734,6 @@ TabbedPaneUI javax.swing.plaf.metal.MetalTabbedPaneUI
#---- Table ---- #---- Table ----
Table.ancestorInputMap.RightToLeft [lazy] 20 javax.swing.plaf.InputMapUIResource [UI]
ctrl pressed KP_LEFT selectNextColumnChangeLead
ctrl pressed KP_RIGHT selectPreviousColumnChangeLead
ctrl pressed LEFT selectNextColumnChangeLead
ctrl pressed PAGE_DOWN scrollLeftChangeSelection
ctrl pressed PAGE_UP scrollRightChangeSelection
ctrl pressed RIGHT selectPreviousColumnChangeLead
pressed KP_LEFT selectNextColumn
pressed KP_RIGHT selectPreviousColumn
pressed LEFT selectNextColumn
pressed RIGHT selectPreviousColumn
shift ctrl pressed KP_LEFT selectNextColumnExtendSelection
shift ctrl pressed KP_RIGHT selectPreviousColumnExtendSelection
shift ctrl pressed LEFT selectNextColumnExtendSelection
shift ctrl pressed PAGE_DOWN scrollLeftExtendSelection
shift ctrl pressed PAGE_UP scrollRightExtendSelection
shift ctrl pressed RIGHT selectPreviousColumnExtendSelection
shift pressed KP_LEFT selectNextColumnExtendSelection
shift pressed KP_RIGHT selectPreviousColumnExtendSelection
shift pressed LEFT selectNextColumnExtendSelection
shift pressed RIGHT selectPreviousColumnExtendSelection
Table.ancestorInputMap [lazy] 71 javax.swing.plaf.InputMapUIResource [UI]
ctrl pressed A selectAll
ctrl pressed BACK_SLASH clearSelection
ctrl pressed C copy
ctrl pressed DOWN selectNextRowChangeLead
ctrl pressed END selectLastRow
ctrl pressed HOME selectFirstRow
ctrl pressed INSERT copy
ctrl pressed KP_DOWN selectNextRowChangeLead
ctrl pressed KP_LEFT selectPreviousColumnChangeLead
ctrl pressed KP_RIGHT selectNextColumnChangeLead
ctrl pressed KP_UP selectPreviousRowChangeLead
ctrl pressed LEFT selectPreviousColumnChangeLead
ctrl pressed PAGE_DOWN scrollRightChangeSelection
ctrl pressed PAGE_UP scrollLeftChangeSelection
ctrl pressed RIGHT selectNextColumnChangeLead
ctrl pressed SLASH selectAll
ctrl pressed SPACE toggleAndAnchor
ctrl pressed UP selectPreviousRowChangeLead
ctrl pressed V paste
ctrl pressed X cut
pressed COPY copy
pressed CUT cut
pressed DOWN selectNextRow
pressed END selectLastColumn
pressed ENTER selectNextRowCell
pressed ESCAPE cancel
pressed F2 startEditing
pressed F8 focusHeader
pressed HOME selectFirstColumn
pressed KP_DOWN selectNextRow
pressed KP_LEFT selectPreviousColumn
pressed KP_RIGHT selectNextColumn
pressed KP_UP selectPreviousRow
pressed LEFT selectPreviousColumn
pressed PAGE_DOWN scrollDownChangeSelection
pressed PAGE_UP scrollUpChangeSelection
pressed PASTE paste
pressed RIGHT selectNextColumn
pressed SPACE addToSelection
pressed TAB selectNextColumnCell
pressed UP selectPreviousRow
shift ctrl pressed DOWN selectNextRowExtendSelection
shift ctrl pressed END selectLastRowExtendSelection
shift ctrl pressed HOME selectFirstRowExtendSelection
shift ctrl pressed KP_DOWN selectNextRowExtendSelection
shift ctrl pressed KP_LEFT selectPreviousColumnExtendSelection
shift ctrl pressed KP_RIGHT selectNextColumnExtendSelection
shift ctrl pressed KP_UP selectPreviousRowExtendSelection
shift ctrl pressed LEFT selectPreviousColumnExtendSelection
shift ctrl pressed PAGE_DOWN scrollRightExtendSelection
shift ctrl pressed PAGE_UP scrollLeftExtendSelection
shift ctrl pressed RIGHT selectNextColumnExtendSelection
shift ctrl pressed SPACE moveSelectionTo
shift ctrl pressed UP selectPreviousRowExtendSelection
shift pressed DELETE cut
shift pressed DOWN selectNextRowExtendSelection
shift pressed END selectLastColumnExtendSelection
shift pressed ENTER selectPreviousRowCell
shift pressed HOME selectFirstColumnExtendSelection
shift pressed INSERT paste
shift pressed KP_DOWN selectNextRowExtendSelection
shift pressed KP_LEFT selectPreviousColumnExtendSelection
shift pressed KP_RIGHT selectNextColumnExtendSelection
shift pressed KP_UP selectPreviousRowExtendSelection
shift pressed LEFT selectPreviousColumnExtendSelection
shift pressed PAGE_DOWN scrollDownExtendSelection
shift pressed PAGE_UP scrollUpExtendSelection
shift pressed RIGHT selectNextColumnExtendSelection
shift pressed SPACE extendTo
shift pressed TAB selectPreviousColumnCell
shift pressed UP selectPreviousRowExtendSelection
Table.ascendingSortIcon [lazy] 12,12 sun.swing.ImageIconUIResource [UI] (sun.awt.image.ToolkitImage) Table.ascendingSortIcon [lazy] 12,12 sun.swing.ImageIconUIResource [UI] (sun.awt.image.ToolkitImage)
Table.background #ffffff javax.swing.plaf.ColorUIResource [UI] Table.background #ffffff javax.swing.plaf.ColorUIResource [UI]
Table.descendingSortIcon [lazy] 12,12 sun.swing.ImageIconUIResource [UI] (sun.awt.image.ToolkitImage) Table.descendingSortIcon [lazy] 12,12 sun.swing.ImageIconUIResource [UI] (sun.awt.image.ToolkitImage)
@@ -1263,21 +754,6 @@ Table.sortIconColor #b8cfe5 javax.swing.plaf.ColorUIResource [UI]
#---- TableHeader ---- #---- TableHeader ----
TableHeader.ancestorInputMap [lazy] 14 javax.swing.plaf.InputMapUIResource [UI]
alt pressed KP_LEFT moveColumnLeft
alt pressed KP_RIGHT moveColumnRight
alt pressed LEFT moveColumnLeft
alt pressed RIGHT moveColumnRight
pressed ESCAPE focusTable
pressed KP_LEFT selectColumnToLeft
pressed KP_RIGHT selectColumnToRight
pressed LEFT selectColumnToLeft
pressed RIGHT selectColumnToRight
pressed SPACE toggleSortOrder
shift alt pressed KP_LEFT resizeLeft
shift alt pressed KP_RIGHT resizeRight
shift alt pressed LEFT resizeLeft
shift alt pressed RIGHT resizeRight
TableHeader.background #eeeeee javax.swing.plaf.ColorUIResource [UI] TableHeader.background #eeeeee javax.swing.plaf.ColorUIResource [UI]
TableHeader.cellBorder [lazy] 2,2,2,0 false javax.swing.plaf.metal.MetalBorders$TableHeaderBorder TableHeader.cellBorder [lazy] 2,2,2,0 false javax.swing.plaf.metal.MetalBorders$TableHeaderBorder
TableHeader.focusCellBackground #c8ddf2 javax.swing.plaf.ColorUIResource [UI] TableHeader.focusCellBackground #c8ddf2 javax.swing.plaf.ColorUIResource [UI]
@@ -1297,68 +773,6 @@ TextArea.background #ffffff javax.swing.plaf.ColorUIResource [UI]
TextArea.border [lazy] 0,0,0,0 false javax.swing.plaf.basic.BasicBorders$MarginBorder [UI] TextArea.border [lazy] 0,0,0,0 false javax.swing.plaf.basic.BasicBorders$MarginBorder [UI]
TextArea.caretBlinkRate 500 TextArea.caretBlinkRate 500
TextArea.caretForeground #333333 sun.swing.PrintColorUIResource [UI] TextArea.caretForeground #333333 sun.swing.PrintColorUIResource [UI]
TextArea.focusInputMap [lazy] 61 javax.swing.plaf.InputMapUIResource [UI]
ctrl pressed A select-all
ctrl pressed BACK_SLASH unselect
ctrl pressed BACK_SPACE delete-previous-word
ctrl pressed C copy-to-clipboard
ctrl pressed DELETE delete-next-word
ctrl pressed END caret-end
ctrl pressed H delete-previous
ctrl pressed HOME caret-begin
ctrl pressed INSERT copy-to-clipboard
ctrl pressed KP_LEFT caret-previous-word
ctrl pressed KP_RIGHT caret-next-word
ctrl pressed LEFT caret-previous-word
ctrl pressed RIGHT caret-next-word
ctrl pressed SPACE activate-link-action
ctrl pressed T next-link-action
ctrl pressed V paste-from-clipboard
ctrl pressed X cut-to-clipboard
pressed BACK_SPACE delete-previous
pressed COPY copy-to-clipboard
pressed CUT cut-to-clipboard
pressed DELETE delete-next
pressed DOWN caret-down
pressed END caret-end-line
pressed ENTER insert-break
pressed HOME caret-begin-line
pressed KP_DOWN caret-down
pressed KP_LEFT caret-backward
pressed KP_RIGHT caret-forward
pressed KP_UP caret-up
pressed LEFT caret-backward
pressed PAGE_DOWN page-down
pressed PAGE_UP page-up
pressed PASTE paste-from-clipboard
pressed RIGHT caret-forward
pressed TAB insert-tab
pressed UP caret-up
shift ctrl pressed END selection-end
shift ctrl pressed HOME selection-begin
shift ctrl pressed KP_LEFT selection-previous-word
shift ctrl pressed KP_RIGHT selection-next-word
shift ctrl pressed LEFT selection-previous-word
shift ctrl pressed O toggle-componentOrientation
shift ctrl pressed PAGE_DOWN selection-page-right
shift ctrl pressed PAGE_UP selection-page-left
shift ctrl pressed RIGHT selection-next-word
shift ctrl pressed T previous-link-action
shift pressed BACK_SPACE delete-previous
shift pressed DELETE cut-to-clipboard
shift pressed DOWN selection-down
shift pressed END selection-end-line
shift pressed HOME selection-begin-line
shift pressed INSERT paste-from-clipboard
shift pressed KP_DOWN selection-down
shift pressed KP_LEFT selection-backward
shift pressed KP_RIGHT selection-forward
shift pressed KP_UP selection-up
shift pressed LEFT selection-backward
shift pressed PAGE_DOWN selection-page-down
shift pressed PAGE_UP selection-page-up
shift pressed RIGHT selection-forward
shift pressed UP selection-up
TextArea.font [active] Dialog plain 12 javax.swing.plaf.FontUIResource [UI] TextArea.font [active] Dialog plain 12 javax.swing.plaf.FontUIResource [UI]
TextArea.foreground #333333 sun.swing.PrintColorUIResource [UI] TextArea.foreground #333333 sun.swing.PrintColorUIResource [UI]
TextArea.inactiveForeground #b8cfe5 javax.swing.plaf.ColorUIResource [UI] TextArea.inactiveForeground #b8cfe5 javax.swing.plaf.ColorUIResource [UI]
@@ -1377,46 +791,6 @@ TextField.border [lazy] javax.swing.plaf.BorderUIResource$Compound
TextField.caretBlinkRate 500 TextField.caretBlinkRate 500
TextField.caretForeground #333333 sun.swing.PrintColorUIResource [UI] TextField.caretForeground #333333 sun.swing.PrintColorUIResource [UI]
TextField.darkShadow #7a8a99 javax.swing.plaf.ColorUIResource [UI] TextField.darkShadow #7a8a99 javax.swing.plaf.ColorUIResource [UI]
TextField.focusInputMap [lazy] 39 javax.swing.plaf.InputMapUIResource [UI]
ctrl pressed A select-all
ctrl pressed BACK_SLASH unselect
ctrl pressed BACK_SPACE delete-previous-word
ctrl pressed C copy-to-clipboard
ctrl pressed DELETE delete-next-word
ctrl pressed H delete-previous
ctrl pressed INSERT copy-to-clipboard
ctrl pressed KP_LEFT caret-previous-word
ctrl pressed KP_RIGHT caret-next-word
ctrl pressed LEFT caret-previous-word
ctrl pressed RIGHT caret-next-word
ctrl pressed V paste-from-clipboard
ctrl pressed X cut-to-clipboard
pressed BACK_SPACE delete-previous
pressed COPY copy-to-clipboard
pressed CUT cut-to-clipboard
pressed DELETE delete-next
pressed END caret-end-line
pressed ENTER notify-field-accept
pressed HOME caret-begin-line
pressed KP_LEFT caret-backward
pressed KP_RIGHT caret-forward
pressed LEFT caret-backward
pressed PASTE paste-from-clipboard
pressed RIGHT caret-forward
shift ctrl pressed KP_LEFT selection-previous-word
shift ctrl pressed KP_RIGHT selection-next-word
shift ctrl pressed LEFT selection-previous-word
shift ctrl pressed O toggle-componentOrientation
shift ctrl pressed RIGHT selection-next-word
shift pressed BACK_SPACE delete-previous
shift pressed DELETE cut-to-clipboard
shift pressed END selection-end-line
shift pressed HOME selection-begin-line
shift pressed INSERT paste-from-clipboard
shift pressed KP_LEFT selection-backward
shift pressed KP_RIGHT selection-forward
shift pressed LEFT selection-backward
shift pressed RIGHT selection-forward
TextField.font [active] Dialog plain 12 javax.swing.plaf.FontUIResource [UI] TextField.font [active] Dialog plain 12 javax.swing.plaf.FontUIResource [UI]
TextField.foreground #333333 sun.swing.PrintColorUIResource [UI] TextField.foreground #333333 sun.swing.PrintColorUIResource [UI]
TextField.highlight #ffffff javax.swing.plaf.ColorUIResource [UI] TextField.highlight #ffffff javax.swing.plaf.ColorUIResource [UI]
@@ -1436,68 +810,6 @@ TextPane.background #ffffff javax.swing.plaf.ColorUIResource [UI]
TextPane.border [lazy] 0,0,0,0 false javax.swing.plaf.basic.BasicBorders$MarginBorder [UI] TextPane.border [lazy] 0,0,0,0 false javax.swing.plaf.basic.BasicBorders$MarginBorder [UI]
TextPane.caretBlinkRate 500 TextPane.caretBlinkRate 500
TextPane.caretForeground #333333 sun.swing.PrintColorUIResource [UI] TextPane.caretForeground #333333 sun.swing.PrintColorUIResource [UI]
TextPane.focusInputMap [lazy] 61 javax.swing.plaf.InputMapUIResource [UI]
ctrl pressed A select-all
ctrl pressed BACK_SLASH unselect
ctrl pressed BACK_SPACE delete-previous-word
ctrl pressed C copy-to-clipboard
ctrl pressed DELETE delete-next-word
ctrl pressed END caret-end
ctrl pressed H delete-previous
ctrl pressed HOME caret-begin
ctrl pressed INSERT copy-to-clipboard
ctrl pressed KP_LEFT caret-previous-word
ctrl pressed KP_RIGHT caret-next-word
ctrl pressed LEFT caret-previous-word
ctrl pressed RIGHT caret-next-word
ctrl pressed SPACE activate-link-action
ctrl pressed T next-link-action
ctrl pressed V paste-from-clipboard
ctrl pressed X cut-to-clipboard
pressed BACK_SPACE delete-previous
pressed COPY copy-to-clipboard
pressed CUT cut-to-clipboard
pressed DELETE delete-next
pressed DOWN caret-down
pressed END caret-end-line
pressed ENTER insert-break
pressed HOME caret-begin-line
pressed KP_DOWN caret-down
pressed KP_LEFT caret-backward
pressed KP_RIGHT caret-forward
pressed KP_UP caret-up
pressed LEFT caret-backward
pressed PAGE_DOWN page-down
pressed PAGE_UP page-up
pressed PASTE paste-from-clipboard
pressed RIGHT caret-forward
pressed TAB insert-tab
pressed UP caret-up
shift ctrl pressed END selection-end
shift ctrl pressed HOME selection-begin
shift ctrl pressed KP_LEFT selection-previous-word
shift ctrl pressed KP_RIGHT selection-next-word
shift ctrl pressed LEFT selection-previous-word
shift ctrl pressed O toggle-componentOrientation
shift ctrl pressed PAGE_DOWN selection-page-right
shift ctrl pressed PAGE_UP selection-page-left
shift ctrl pressed RIGHT selection-next-word
shift ctrl pressed T previous-link-action
shift pressed BACK_SPACE delete-previous
shift pressed DELETE cut-to-clipboard
shift pressed DOWN selection-down
shift pressed END selection-end-line
shift pressed HOME selection-begin-line
shift pressed INSERT paste-from-clipboard
shift pressed KP_DOWN selection-down
shift pressed KP_LEFT selection-backward
shift pressed KP_RIGHT selection-forward
shift pressed KP_UP selection-up
shift pressed LEFT selection-backward
shift pressed PAGE_DOWN selection-page-down
shift pressed PAGE_UP selection-page-up
shift pressed RIGHT selection-forward
shift pressed UP selection-up
TextPane.font [active] Dialog plain 12 javax.swing.plaf.FontUIResource [UI] TextPane.font [active] Dialog plain 12 javax.swing.plaf.FontUIResource [UI]
TextPane.foreground #333333 sun.swing.PrintColorUIResource [UI] TextPane.foreground #333333 sun.swing.PrintColorUIResource [UI]
TextPane.inactiveForeground #b8cfe5 javax.swing.plaf.ColorUIResource [UI] TextPane.inactiveForeground #b8cfe5 javax.swing.plaf.ColorUIResource [UI]
@@ -1523,9 +835,6 @@ ToggleButton.border [lazy] javax.swing.plaf.BorderUIResource$Compound
ToggleButton.darkShadow #7a8a99 javax.swing.plaf.ColorUIResource [UI] ToggleButton.darkShadow #7a8a99 javax.swing.plaf.ColorUIResource [UI]
ToggleButton.disabledText #999999 javax.swing.plaf.ColorUIResource [UI] ToggleButton.disabledText #999999 javax.swing.plaf.ColorUIResource [UI]
ToggleButton.focus #a3b8cc javax.swing.plaf.ColorUIResource [UI] ToggleButton.focus #a3b8cc javax.swing.plaf.ColorUIResource [UI]
ToggleButton.focusInputMap [lazy] 2 javax.swing.plaf.InputMapUIResource [UI]
pressed SPACE pressed
released SPACE released
ToggleButton.font [active] Dialog bold 12 javax.swing.plaf.FontUIResource [UI] ToggleButton.font [active] Dialog bold 12 javax.swing.plaf.FontUIResource [UI]
ToggleButton.foreground #333333 sun.swing.PrintColorUIResource [UI] ToggleButton.foreground #333333 sun.swing.PrintColorUIResource [UI]
ToggleButton.gradient size=5 java.util.Arrays$ArrayList ToggleButton.gradient size=5 java.util.Arrays$ArrayList
@@ -1546,15 +855,6 @@ ToggleButtonUI javax.swing.plaf.metal.MetalToggleButtonUI
#---- ToolBar ---- #---- ToolBar ----
ToolBar.ancestorInputMap [lazy] 8 javax.swing.plaf.InputMapUIResource [UI]
pressed DOWN navigateDown
pressed KP_DOWN navigateDown
pressed KP_LEFT navigateLeft
pressed KP_RIGHT navigateRight
pressed KP_UP navigateUp
pressed LEFT navigateLeft
pressed RIGHT navigateRight
pressed UP navigateUp
ToolBar.background #eeeeee javax.swing.plaf.ColorUIResource [UI] ToolBar.background #eeeeee javax.swing.plaf.ColorUIResource [UI]
ToolBar.border [lazy] 1,2,3,2 false javax.swing.plaf.metal.MetalBorders$ToolBarBorder [UI] ToolBar.border [lazy] 1,2,3,2 false javax.swing.plaf.metal.MetalBorders$ToolBarBorder [UI]
ToolBar.borderColor #cccccc javax.swing.plaf.ColorUIResource [UI] ToolBar.borderColor #cccccc javax.swing.plaf.ColorUIResource [UI]
@@ -1612,8 +912,6 @@ ToolTipUI javax.swing.plaf.metal.MetalToolTipUI
#---- Tree ---- #---- Tree ----
Tree.ancestorInputMap [lazy] 1 javax.swing.plaf.InputMapUIResource [UI]
pressed ESCAPE cancel
Tree.background #ffffff javax.swing.plaf.ColorUIResource [UI] Tree.background #ffffff javax.swing.plaf.ColorUIResource [UI]
Tree.changeSelectionWithFocus true Tree.changeSelectionWithFocus true
Tree.closedIcon [lazy] 16,18 sun.swing.ImageIconUIResource [UI] (sun.awt.image.ToolkitImage) Tree.closedIcon [lazy] 16,18 sun.swing.ImageIconUIResource [UI] (sun.awt.image.ToolkitImage)
@@ -1623,71 +921,6 @@ Tree.dropCellBackground #d2e9ff javax.swing.plaf.ColorUIResource [UI]
Tree.dropLineColor #6382bf javax.swing.plaf.ColorUIResource [UI] Tree.dropLineColor #6382bf javax.swing.plaf.ColorUIResource [UI]
Tree.editorBorder [lazy] line: #000000 java.awt.Color 1 false 1,1,1,1 true javax.swing.plaf.BorderUIResource$LineBorderUIResource [UI] Tree.editorBorder [lazy] line: #000000 java.awt.Color 1 false 1,1,1,1 true javax.swing.plaf.BorderUIResource$LineBorderUIResource [UI]
Tree.expandedIcon [lazy] 18,18 sun.swing.ImageIconUIResource [UI] (sun.awt.image.ToolkitImage) Tree.expandedIcon [lazy] 18,18 sun.swing.ImageIconUIResource [UI] (sun.awt.image.ToolkitImage)
Tree.focusInputMap.RightToLeft [lazy] 4 javax.swing.plaf.InputMapUIResource [UI]
pressed KP_LEFT selectChild
pressed KP_RIGHT selectParent
pressed LEFT selectChild
pressed RIGHT selectParent
Tree.focusInputMap [lazy] 59 javax.swing.plaf.InputMapUIResource [UI]
ctrl pressed A selectAll
ctrl pressed BACK_SLASH clearSelection
ctrl pressed C copy
ctrl pressed DOWN selectNextChangeLead
ctrl pressed END selectLastChangeLead
ctrl pressed HOME selectFirstChangeLead
ctrl pressed INSERT copy
ctrl pressed KP_DOWN selectNextChangeLead
ctrl pressed KP_LEFT scrollLeft
ctrl pressed KP_RIGHT scrollRight
ctrl pressed KP_UP selectPreviousChangeLead
ctrl pressed LEFT scrollLeft
ctrl pressed PAGE_DOWN scrollDownChangeLead
ctrl pressed PAGE_UP scrollUpChangeLead
ctrl pressed RIGHT scrollRight
ctrl pressed SLASH selectAll
ctrl pressed SPACE toggleAndAnchor
ctrl pressed UP selectPreviousChangeLead
ctrl pressed V paste
ctrl pressed X cut
pressed ADD expand
pressed COPY copy
pressed CUT cut
pressed DOWN selectNext
pressed END selectLast
pressed F2 startEditing
pressed HOME selectFirst
pressed KP_DOWN selectNext
pressed KP_LEFT selectParent
pressed KP_RIGHT selectChild
pressed KP_UP selectPrevious
pressed LEFT selectParent
pressed PAGE_DOWN scrollDownChangeSelection
pressed PAGE_UP scrollUpChangeSelection
pressed PASTE paste
pressed RIGHT selectChild
pressed SPACE addToSelection
pressed SUBTRACT collapse
pressed UP selectPrevious
shift ctrl pressed DOWN selectNextExtendSelection
shift ctrl pressed END selectLastExtendSelection
shift ctrl pressed HOME selectFirstExtendSelection
shift ctrl pressed KP_DOWN selectNextExtendSelection
shift ctrl pressed KP_UP selectPreviousExtendSelection
shift ctrl pressed PAGE_DOWN scrollDownExtendSelection
shift ctrl pressed PAGE_UP scrollUpExtendSelection
shift ctrl pressed SPACE moveSelectionTo
shift ctrl pressed UP selectPreviousExtendSelection
shift pressed DELETE cut
shift pressed DOWN selectNextExtendSelection
shift pressed END selectLastExtendSelection
shift pressed HOME selectFirstExtendSelection
shift pressed INSERT paste
shift pressed KP_DOWN selectNextExtendSelection
shift pressed KP_UP selectPreviousExtendSelection
shift pressed PAGE_DOWN scrollDownExtendSelection
shift pressed PAGE_UP scrollUpExtendSelection
shift pressed SPACE extendTo
shift pressed UP selectPreviousExtendSelection
Tree.font [active] Dialog plain 12 javax.swing.plaf.FontUIResource [UI] Tree.font [active] Dialog plain 12 javax.swing.plaf.FontUIResource [UI]
Tree.foreground #333333 sun.swing.PrintColorUIResource [UI] Tree.foreground #333333 sun.swing.PrintColorUIResource [UI]
Tree.hash #b8cfe5 javax.swing.plaf.ColorUIResource [UI] Tree.hash #b8cfe5 javax.swing.plaf.ColorUIResource [UI]

View File

@@ -55,9 +55,6 @@ Button.defaultButtonFollowsFocus false
Button.disabledText #999999 javax.swing.plaf.ColorUIResource [UI] Button.disabledText #999999 javax.swing.plaf.ColorUIResource [UI]
Button.disabledToolBarBorderBackground #cccccc javax.swing.plaf.ColorUIResource [UI] Button.disabledToolBarBorderBackground #cccccc javax.swing.plaf.ColorUIResource [UI]
Button.focus #a3b8cc javax.swing.plaf.ColorUIResource [UI] Button.focus #a3b8cc javax.swing.plaf.ColorUIResource [UI]
Button.focusInputMap [lazy] 2 javax.swing.plaf.InputMapUIResource [UI]
pressed SPACE pressed
released SPACE released
Button.font [active] Dialog bold 12 javax.swing.plaf.FontUIResource [UI] Button.font [active] Dialog bold 12 javax.swing.plaf.FontUIResource [UI]
Button.foreground #333333 sun.swing.PrintColorUIResource [UI] Button.foreground #333333 sun.swing.PrintColorUIResource [UI]
Button.gradient size=5 java.util.Arrays$ArrayList Button.gradient size=5 java.util.Arrays$ArrayList
@@ -87,9 +84,6 @@ CheckBox.border [lazy] javax.swing.plaf.BorderUIResource$Compound
0,0,0,0 false javax.swing.plaf.basic.BasicBorders$MarginBorder [UI] 0,0,0,0 false javax.swing.plaf.basic.BasicBorders$MarginBorder [UI]
CheckBox.disabledText #999999 javax.swing.plaf.ColorUIResource [UI] CheckBox.disabledText #999999 javax.swing.plaf.ColorUIResource [UI]
CheckBox.focus #a3b8cc javax.swing.plaf.ColorUIResource [UI] CheckBox.focus #a3b8cc javax.swing.plaf.ColorUIResource [UI]
CheckBox.focusInputMap [lazy] 2 javax.swing.plaf.InputMapUIResource [UI]
pressed SPACE pressed
released SPACE released
CheckBox.font [active] Dialog bold 12 javax.swing.plaf.FontUIResource [UI] CheckBox.font [active] Dialog bold 12 javax.swing.plaf.FontUIResource [UI]
CheckBox.foreground #333333 sun.swing.PrintColorUIResource [UI] CheckBox.foreground #333333 sun.swing.PrintColorUIResource [UI]
CheckBox.gradient size=5 java.util.Arrays$ArrayList CheckBox.gradient size=5 java.util.Arrays$ArrayList
@@ -155,22 +149,6 @@ ColorChooserUI javax.swing.plaf.basic.BasicColorChooserUI
#---- ComboBox ---- #---- ComboBox ----
ComboBox.ancestorInputMap [lazy] 15 javax.swing.plaf.InputMapUIResource [UI]
alt pressed DOWN togglePopup
alt pressed KP_DOWN togglePopup
alt pressed KP_UP togglePopup
alt pressed UP togglePopup
pressed DOWN selectNext
pressed END endPassThrough
pressed ENTER enterPressed
pressed ESCAPE hidePopup
pressed HOME homePassThrough
pressed KP_DOWN selectNext
pressed KP_UP selectPrevious
pressed PAGE_DOWN pageDownPassThrough
pressed PAGE_UP pageUpPassThrough
pressed SPACE spacePopup
pressed UP selectPrevious
ComboBox.background #eeeeee javax.swing.plaf.ColorUIResource [UI] ComboBox.background #eeeeee javax.swing.plaf.ColorUIResource [UI]
ComboBox.buttonBackground #eeeeee javax.swing.plaf.ColorUIResource [UI] ComboBox.buttonBackground #eeeeee javax.swing.plaf.ColorUIResource [UI]
ComboBox.buttonDarkShadow #7a8a99 javax.swing.plaf.ColorUIResource [UI] ComboBox.buttonDarkShadow #7a8a99 javax.swing.plaf.ColorUIResource [UI]
@@ -190,36 +168,6 @@ ComboBoxUI javax.swing.plaf.metal.MetalComboBoxUI
#---- Desktop ---- #---- Desktop ----
Desktop.ancestorInputMap [lazy] 29 javax.swing.plaf.InputMapUIResource [UI]
ctrl alt pressed F6 selectNextFrame
ctrl pressed F10 maximize
ctrl pressed F12 navigateNext
ctrl pressed F4 close
ctrl pressed F5 restore
ctrl pressed F6 selectNextFrame
ctrl pressed F7 move
ctrl pressed F8 resize
ctrl pressed F9 minimize
ctrl pressed TAB selectNextFrame
pressed DOWN down
pressed ESCAPE escape
pressed KP_DOWN down
pressed KP_LEFT left
pressed KP_RIGHT right
pressed KP_UP up
pressed LEFT left
pressed RIGHT right
pressed UP up
shift ctrl alt pressed F6 selectPreviousFrame
shift ctrl pressed F12 navigatePrevious
shift pressed DOWN shrinkDown
shift pressed KP_DOWN shrinkDown
shift pressed KP_LEFT shrinkLeft
shift pressed KP_RIGHT shrinkRight
shift pressed KP_UP shrinkUp
shift pressed LEFT shrinkLeft
shift pressed RIGHT shrinkRight
shift pressed UP shrinkUp
Desktop.background #ffffff javax.swing.plaf.ColorUIResource [UI] Desktop.background #ffffff javax.swing.plaf.ColorUIResource [UI]
Desktop.minOnScreenInsets 3,3,3,3 javax.swing.plaf.InsetsUIResource [UI] Desktop.minOnScreenInsets 3,3,3,3 javax.swing.plaf.InsetsUIResource [UI]
@@ -247,68 +195,6 @@ EditorPane.background #ffffff javax.swing.plaf.ColorUIResource [UI]
EditorPane.border [lazy] 0,0,0,0 false javax.swing.plaf.basic.BasicBorders$MarginBorder [UI] EditorPane.border [lazy] 0,0,0,0 false javax.swing.plaf.basic.BasicBorders$MarginBorder [UI]
EditorPane.caretBlinkRate 500 EditorPane.caretBlinkRate 500
EditorPane.caretForeground #333333 sun.swing.PrintColorUIResource [UI] EditorPane.caretForeground #333333 sun.swing.PrintColorUIResource [UI]
EditorPane.focusInputMap [lazy] 61 javax.swing.plaf.InputMapUIResource [UI]
ctrl pressed A select-all
ctrl pressed BACK_SLASH unselect
ctrl pressed BACK_SPACE delete-previous-word
ctrl pressed C copy-to-clipboard
ctrl pressed DELETE delete-next-word
ctrl pressed END caret-end
ctrl pressed H delete-previous
ctrl pressed HOME caret-begin
ctrl pressed INSERT copy-to-clipboard
ctrl pressed KP_LEFT caret-previous-word
ctrl pressed KP_RIGHT caret-next-word
ctrl pressed LEFT caret-previous-word
ctrl pressed RIGHT caret-next-word
ctrl pressed SPACE activate-link-action
ctrl pressed T next-link-action
ctrl pressed V paste-from-clipboard
ctrl pressed X cut-to-clipboard
pressed BACK_SPACE delete-previous
pressed COPY copy-to-clipboard
pressed CUT cut-to-clipboard
pressed DELETE delete-next
pressed DOWN caret-down
pressed END caret-end-line
pressed ENTER insert-break
pressed HOME caret-begin-line
pressed KP_DOWN caret-down
pressed KP_LEFT caret-backward
pressed KP_RIGHT caret-forward
pressed KP_UP caret-up
pressed LEFT caret-backward
pressed PAGE_DOWN page-down
pressed PAGE_UP page-up
pressed PASTE paste-from-clipboard
pressed RIGHT caret-forward
pressed TAB insert-tab
pressed UP caret-up
shift ctrl pressed END selection-end
shift ctrl pressed HOME selection-begin
shift ctrl pressed KP_LEFT selection-previous-word
shift ctrl pressed KP_RIGHT selection-next-word
shift ctrl pressed LEFT selection-previous-word
shift ctrl pressed O toggle-componentOrientation
shift ctrl pressed PAGE_DOWN selection-page-right
shift ctrl pressed PAGE_UP selection-page-left
shift ctrl pressed RIGHT selection-next-word
shift ctrl pressed T previous-link-action
shift pressed BACK_SPACE delete-previous
shift pressed DELETE cut-to-clipboard
shift pressed DOWN selection-down
shift pressed END selection-end-line
shift pressed HOME selection-begin-line
shift pressed INSERT paste-from-clipboard
shift pressed KP_DOWN selection-down
shift pressed KP_LEFT selection-backward
shift pressed KP_RIGHT selection-forward
shift pressed KP_UP selection-up
shift pressed LEFT selection-backward
shift pressed PAGE_DOWN selection-page-down
shift pressed PAGE_UP selection-page-up
shift pressed RIGHT selection-forward
shift pressed UP selection-up
EditorPane.font [active] Dialog plain 12 javax.swing.plaf.FontUIResource [UI] EditorPane.font [active] Dialog plain 12 javax.swing.plaf.FontUIResource [UI]
EditorPane.foreground #333333 sun.swing.PrintColorUIResource [UI] EditorPane.foreground #333333 sun.swing.PrintColorUIResource [UI]
EditorPane.inactiveForeground #b8cfe5 javax.swing.plaf.ColorUIResource [UI] EditorPane.inactiveForeground #b8cfe5 javax.swing.plaf.ColorUIResource [UI]
@@ -320,11 +206,6 @@ EditorPaneUI javax.swing.plaf.basic.BasicEditorPaneUI
#---- FileChooser ---- #---- FileChooser ----
FileChooser.ancestorInputMap [lazy] 4 javax.swing.plaf.InputMapUIResource [UI]
pressed BACK_SPACE Go Up
pressed ESCAPE cancelSelection
pressed F2 editFileName
pressed F5 refresh
FileChooser.detailsViewIcon [lazy] 18,18 javax.swing.plaf.metal.MetalIconFactory$FileChooserDetailViewIcon [UI] FileChooser.detailsViewIcon [lazy] 18,18 javax.swing.plaf.metal.MetalIconFactory$FileChooserDetailViewIcon [UI]
FileChooser.homeFolderIcon [lazy] 18,18 sun.swing.ImageIconUIResource [UI] (sun.awt.image.ToolkitImage) FileChooser.homeFolderIcon [lazy] 18,18 sun.swing.ImageIconUIResource [UI] (sun.awt.image.ToolkitImage)
FileChooser.listViewIcon [lazy] 18,18 javax.swing.plaf.metal.MetalIconFactory$FileChooserListViewIcon [UI] FileChooser.listViewIcon [lazy] 18,18 javax.swing.plaf.metal.MetalIconFactory$FileChooserListViewIcon [UI]
@@ -353,51 +234,6 @@ FormattedTextField.border [lazy] javax.swing.plaf.BorderUIResource$Compound
0,0,0,0 false javax.swing.plaf.basic.BasicBorders$MarginBorder [UI] 0,0,0,0 false javax.swing.plaf.basic.BasicBorders$MarginBorder [UI]
FormattedTextField.caretBlinkRate 500 FormattedTextField.caretBlinkRate 500
FormattedTextField.caretForeground #333333 sun.swing.PrintColorUIResource [UI] FormattedTextField.caretForeground #333333 sun.swing.PrintColorUIResource [UI]
FormattedTextField.focusInputMap [lazy] 44 javax.swing.plaf.InputMapUIResource [UI]
ctrl pressed A select-all
ctrl pressed BACK_SLASH unselect
ctrl pressed BACK_SPACE delete-previous-word
ctrl pressed C copy-to-clipboard
ctrl pressed DELETE delete-next-word
ctrl pressed H delete-previous
ctrl pressed INSERT copy-to-clipboard
ctrl pressed KP_LEFT caret-previous-word
ctrl pressed KP_RIGHT caret-next-word
ctrl pressed LEFT caret-previous-word
ctrl pressed RIGHT caret-next-word
ctrl pressed V paste-from-clipboard
ctrl pressed X cut-to-clipboard
pressed BACK_SPACE delete-previous
pressed COPY copy-to-clipboard
pressed CUT cut-to-clipboard
pressed DELETE delete-next
pressed DOWN decrement
pressed END caret-end-line
pressed ENTER notify-field-accept
pressed ESCAPE reset-field-edit
pressed HOME caret-begin-line
pressed KP_DOWN decrement
pressed KP_LEFT caret-backward
pressed KP_RIGHT caret-forward
pressed KP_UP increment
pressed LEFT caret-backward
pressed PASTE paste-from-clipboard
pressed RIGHT caret-forward
pressed UP increment
shift ctrl pressed KP_LEFT selection-previous-word
shift ctrl pressed KP_RIGHT selection-next-word
shift ctrl pressed LEFT selection-previous-word
shift ctrl pressed O toggle-componentOrientation
shift ctrl pressed RIGHT selection-next-word
shift pressed BACK_SPACE delete-previous
shift pressed DELETE cut-to-clipboard
shift pressed END selection-end-line
shift pressed HOME selection-begin-line
shift pressed INSERT paste-from-clipboard
shift pressed KP_LEFT selection-backward
shift pressed KP_RIGHT selection-forward
shift pressed LEFT selection-backward
shift pressed RIGHT selection-forward
FormattedTextField.font [active] Dialog plain 12 javax.swing.plaf.FontUIResource [UI] FormattedTextField.font [active] Dialog plain 12 javax.swing.plaf.FontUIResource [UI]
FormattedTextField.foreground #333333 sun.swing.PrintColorUIResource [UI] FormattedTextField.foreground #333333 sun.swing.PrintColorUIResource [UI]
FormattedTextField.inactiveBackground #eeeeee javax.swing.plaf.ColorUIResource [UI] FormattedTextField.inactiveBackground #eeeeee javax.swing.plaf.ColorUIResource [UI]
@@ -472,88 +308,6 @@ List.cellRenderer [active] javax.swing.DefaultListCellRenderer$UIRe
List.dropCellBackground #d2e9ff javax.swing.plaf.ColorUIResource [UI] List.dropCellBackground #d2e9ff javax.swing.plaf.ColorUIResource [UI]
List.dropLineColor #6382bf javax.swing.plaf.ColorUIResource [UI] List.dropLineColor #6382bf javax.swing.plaf.ColorUIResource [UI]
List.focusCellHighlightBorder [lazy] line: #6382bf javax.swing.plaf.ColorUIResource [UI] 1 false 1,1,1,1 true javax.swing.plaf.BorderUIResource$LineBorderUIResource [UI] List.focusCellHighlightBorder [lazy] line: #6382bf javax.swing.plaf.ColorUIResource [UI] 1 false 1,1,1,1 true javax.swing.plaf.BorderUIResource$LineBorderUIResource [UI]
List.focusInputMap.RightToLeft [lazy] 16 javax.swing.plaf.InputMapUIResource [UI]
ctrl pressed KP_LEFT selectNextColumnChangeLead
ctrl pressed KP_RIGHT selectPreviousColumnChangeLead
ctrl pressed LEFT selectNextColumnChangeLead
ctrl pressed RIGHT selectPreviousColumnChangeLead
pressed KP_LEFT selectNextColumn
pressed KP_RIGHT selectPreviousColumn
pressed LEFT selectNextColumn
pressed RIGHT selectPreviousColumn
shift ctrl pressed KP_LEFT selectNextColumnExtendSelection
shift ctrl pressed KP_RIGHT selectPreviousColumnExtendSelection
shift ctrl pressed LEFT selectNextColumnExtendSelection
shift ctrl pressed RIGHT selectPreviousColumnExtendSelection
shift pressed KP_LEFT selectNextColumnExtendSelection
shift pressed KP_RIGHT selectPreviousColumnExtendSelection
shift pressed LEFT selectNextColumnExtendSelection
shift pressed RIGHT selectPreviousColumnExtendSelection
List.focusInputMap [lazy] 64 javax.swing.plaf.InputMapUIResource [UI]
ctrl pressed A selectAll
ctrl pressed BACK_SLASH clearSelection
ctrl pressed C copy
ctrl pressed DOWN selectNextRowChangeLead
ctrl pressed END selectLastRowChangeLead
ctrl pressed HOME selectFirstRowChangeLead
ctrl pressed INSERT copy
ctrl pressed KP_DOWN selectNextRowChangeLead
ctrl pressed KP_LEFT selectPreviousColumnChangeLead
ctrl pressed KP_RIGHT selectNextColumnChangeLead
ctrl pressed KP_UP selectPreviousRowChangeLead
ctrl pressed LEFT selectPreviousColumnChangeLead
ctrl pressed PAGE_DOWN scrollDownChangeLead
ctrl pressed PAGE_UP scrollUpChangeLead
ctrl pressed RIGHT selectNextColumnChangeLead
ctrl pressed SLASH selectAll
ctrl pressed SPACE toggleAndAnchor
ctrl pressed UP selectPreviousRowChangeLead
ctrl pressed V paste
ctrl pressed X cut
pressed COPY copy
pressed CUT cut
pressed DOWN selectNextRow
pressed END selectLastRow
pressed HOME selectFirstRow
pressed KP_DOWN selectNextRow
pressed KP_LEFT selectPreviousColumn
pressed KP_RIGHT selectNextColumn
pressed KP_UP selectPreviousRow
pressed LEFT selectPreviousColumn
pressed PAGE_DOWN scrollDown
pressed PAGE_UP scrollUp
pressed PASTE paste
pressed RIGHT selectNextColumn
pressed SPACE addToSelection
pressed UP selectPreviousRow
shift ctrl pressed DOWN selectNextRowExtendSelection
shift ctrl pressed END selectLastRowExtendSelection
shift ctrl pressed HOME selectFirstRowExtendSelection
shift ctrl pressed KP_DOWN selectNextRowExtendSelection
shift ctrl pressed KP_LEFT selectPreviousColumnExtendSelection
shift ctrl pressed KP_RIGHT selectNextColumnExtendSelection
shift ctrl pressed KP_UP selectPreviousRowExtendSelection
shift ctrl pressed LEFT selectPreviousColumnExtendSelection
shift ctrl pressed PAGE_DOWN scrollDownExtendSelection
shift ctrl pressed PAGE_UP scrollUpExtendSelection
shift ctrl pressed RIGHT selectNextColumnExtendSelection
shift ctrl pressed SPACE moveSelectionTo
shift ctrl pressed UP selectPreviousRowExtendSelection
shift pressed DELETE cut
shift pressed DOWN selectNextRowExtendSelection
shift pressed END selectLastRowExtendSelection
shift pressed HOME selectFirstRowExtendSelection
shift pressed INSERT paste
shift pressed KP_DOWN selectNextRowExtendSelection
shift pressed KP_LEFT selectPreviousColumnExtendSelection
shift pressed KP_RIGHT selectNextColumnExtendSelection
shift pressed KP_UP selectPreviousRowExtendSelection
shift pressed LEFT selectPreviousColumnExtendSelection
shift pressed PAGE_DOWN scrollDownExtendSelection
shift pressed PAGE_UP scrollUpExtendSelection
shift pressed RIGHT selectNextColumnExtendSelection
shift pressed SPACE extendTo
shift pressed UP selectPreviousRowExtendSelection
List.font [active] Dialog bold 12 javax.swing.plaf.FontUIResource [UI] List.font [active] Dialog bold 12 javax.swing.plaf.FontUIResource [UI]
List.foreground #333333 sun.swing.PrintColorUIResource [UI] List.foreground #333333 sun.swing.PrintColorUIResource [UI]
List.noFocusBorder 1,1,1,1 false javax.swing.plaf.BorderUIResource$EmptyBorderUIResource [UI] List.noFocusBorder 1,1,1,1 false javax.swing.plaf.BorderUIResource$EmptyBorderUIResource [UI]
@@ -693,44 +447,6 @@ PasswordField.border [lazy] javax.swing.plaf.BorderUIResource$Compound
PasswordField.caretBlinkRate 500 PasswordField.caretBlinkRate 500
PasswordField.caretForeground #333333 sun.swing.PrintColorUIResource [UI] PasswordField.caretForeground #333333 sun.swing.PrintColorUIResource [UI]
PasswordField.echoChar '\u2022' PasswordField.echoChar '\u2022'
PasswordField.focusInputMap [lazy] 37 javax.swing.plaf.InputMapUIResource [UI]
ctrl pressed A select-all
ctrl pressed BACK_SLASH unselect
ctrl pressed C copy-to-clipboard
ctrl pressed H delete-previous
ctrl pressed INSERT copy-to-clipboard
ctrl pressed KP_LEFT caret-begin-line
ctrl pressed KP_RIGHT caret-end-line
ctrl pressed LEFT caret-begin-line
ctrl pressed RIGHT caret-end-line
ctrl pressed V paste-from-clipboard
ctrl pressed X cut-to-clipboard
pressed BACK_SPACE delete-previous
pressed COPY copy-to-clipboard
pressed CUT cut-to-clipboard
pressed DELETE delete-next
pressed END caret-end-line
pressed ENTER notify-field-accept
pressed HOME caret-begin-line
pressed KP_LEFT caret-backward
pressed KP_RIGHT caret-forward
pressed LEFT caret-backward
pressed PASTE paste-from-clipboard
pressed RIGHT caret-forward
shift ctrl pressed KP_LEFT selection-begin-line
shift ctrl pressed KP_RIGHT selection-end-line
shift ctrl pressed LEFT selection-begin-line
shift ctrl pressed O toggle-componentOrientation
shift ctrl pressed RIGHT selection-end-line
shift pressed BACK_SPACE delete-previous
shift pressed DELETE cut-to-clipboard
shift pressed END selection-end-line
shift pressed HOME selection-begin-line
shift pressed INSERT paste-from-clipboard
shift pressed KP_LEFT selection-backward
shift pressed KP_RIGHT selection-forward
shift pressed LEFT selection-backward
shift pressed RIGHT selection-forward
PasswordField.font [active] Dialog plain 12 javax.swing.plaf.FontUIResource [UI] PasswordField.font [active] Dialog plain 12 javax.swing.plaf.FontUIResource [UI]
PasswordField.foreground #333333 sun.swing.PrintColorUIResource [UI] PasswordField.foreground #333333 sun.swing.PrintColorUIResource [UI]
PasswordField.inactiveBackground #eeeeee javax.swing.plaf.ColorUIResource [UI] PasswordField.inactiveBackground #eeeeee javax.swing.plaf.ColorUIResource [UI]
@@ -749,40 +465,6 @@ PopupMenu.consumeEventOnClose false
PopupMenu.font [active] Dialog bold 12 javax.swing.plaf.FontUIResource [UI] PopupMenu.font [active] Dialog bold 12 javax.swing.plaf.FontUIResource [UI]
PopupMenu.foreground #333333 sun.swing.PrintColorUIResource [UI] PopupMenu.foreground #333333 sun.swing.PrintColorUIResource [UI]
PopupMenu.popupSound sounds/PopupMenuPopup.wav PopupMenu.popupSound sounds/PopupMenuPopup.wav
PopupMenu.selectedWindowInputMapBindings.RightToLeft length=8 [Ljava.lang.Object;
[0] LEFT
[1] selectChild
[2] KP_LEFT
[3] selectChild
[4] RIGHT
[5] selectParent
[6] KP_RIGHT
[7] selectParent
PopupMenu.selectedWindowInputMapBindings length=24 [Ljava.lang.Object;
[0] ESCAPE
[1] cancel
[2] DOWN
[3] selectNext
[4] KP_DOWN
[5] selectNext
[6] UP
[7] selectPrevious
[8] KP_UP
[9] selectPrevious
[10] LEFT
[11] selectParent
[12] KP_LEFT
[13] selectParent
[14] RIGHT
[15] selectChild
[16] KP_RIGHT
[17] selectChild
[18] ENTER
[19] return
[20] ctrl ENTER
[21] return
[22] SPACE
[23] return
#---- PopupMenuSeparator ---- #---- PopupMenuSeparator ----
@@ -821,9 +503,6 @@ RadioButton.border [lazy] javax.swing.plaf.BorderUIResource$Compound
RadioButton.darkShadow #7a8a99 javax.swing.plaf.ColorUIResource [UI] RadioButton.darkShadow #7a8a99 javax.swing.plaf.ColorUIResource [UI]
RadioButton.disabledText #999999 javax.swing.plaf.ColorUIResource [UI] RadioButton.disabledText #999999 javax.swing.plaf.ColorUIResource [UI]
RadioButton.focus #a3b8cc javax.swing.plaf.ColorUIResource [UI] RadioButton.focus #a3b8cc javax.swing.plaf.ColorUIResource [UI]
RadioButton.focusInputMap [lazy] 2 javax.swing.plaf.InputMapUIResource [UI]
pressed SPACE pressed
released SPACE released
RadioButton.font [active] Dialog bold 12 javax.swing.plaf.FontUIResource [UI] RadioButton.font [active] Dialog bold 12 javax.swing.plaf.FontUIResource [UI]
RadioButton.foreground #333333 sun.swing.PrintColorUIResource [UI] RadioButton.foreground #333333 sun.swing.PrintColorUIResource [UI]
RadioButton.gradient size=5 java.util.Arrays$ArrayList RadioButton.gradient size=5 java.util.Arrays$ArrayList
@@ -877,9 +556,6 @@ RadioButtonUI javax.swing.plaf.metal.MetalRadioButtonUI
#---- RootPane ---- #---- RootPane ----
RootPane.ancestorInputMap [lazy] 2 javax.swing.plaf.InputMapUIResource [UI]
pressed CONTEXT_MENU postPopup
shift pressed F10 postPopup
RootPane.colorChooserDialogBorder [lazy] 5,5,5,5 false javax.swing.plaf.metal.MetalBorders$QuestionDialogBorder [UI] RootPane.colorChooserDialogBorder [lazy] 5,5,5,5 false javax.swing.plaf.metal.MetalBorders$QuestionDialogBorder [UI]
RootPane.defaultButtonWindowKeyBindings length=8 [Ljava.lang.Object; RootPane.defaultButtonWindowKeyBindings length=8 [Ljava.lang.Object;
[0] ENTER [0] ENTER
@@ -903,24 +579,6 @@ RootPaneUI javax.swing.plaf.metal.MetalRootPaneUI
#---- ScrollBar ---- #---- ScrollBar ----
ScrollBar.allowsAbsolutePositioning true ScrollBar.allowsAbsolutePositioning true
ScrollBar.ancestorInputMap.RightToLeft [lazy] 4 javax.swing.plaf.InputMapUIResource [UI]
pressed KP_LEFT positiveUnitIncrement
pressed KP_RIGHT negativeUnitIncrement
pressed LEFT positiveUnitIncrement
pressed RIGHT negativeUnitIncrement
ScrollBar.ancestorInputMap [lazy] 12 javax.swing.plaf.InputMapUIResource [UI]
pressed DOWN positiveUnitIncrement
pressed END maxScroll
pressed HOME minScroll
pressed KP_DOWN positiveUnitIncrement
pressed KP_LEFT negativeUnitIncrement
pressed KP_RIGHT positiveUnitIncrement
pressed KP_UP negativeUnitIncrement
pressed LEFT negativeUnitIncrement
pressed PAGE_DOWN positiveBlockIncrement
pressed PAGE_UP negativeBlockIncrement
pressed RIGHT positiveUnitIncrement
pressed UP negativeUnitIncrement
ScrollBar.background #eeeeee javax.swing.plaf.ColorUIResource [UI] ScrollBar.background #eeeeee javax.swing.plaf.ColorUIResource [UI]
ScrollBar.darkShadow #7a8a99 javax.swing.plaf.ColorUIResource [UI] ScrollBar.darkShadow #7a8a99 javax.swing.plaf.ColorUIResource [UI]
ScrollBar.foreground #eeeeee javax.swing.plaf.ColorUIResource [UI] ScrollBar.foreground #eeeeee javax.swing.plaf.ColorUIResource [UI]
@@ -946,24 +604,6 @@ ScrollBarUI javax.swing.plaf.metal.MetalScrollBarUI
#---- ScrollPane ---- #---- ScrollPane ----
ScrollPane.ancestorInputMap.RightToLeft [lazy] 2 javax.swing.plaf.InputMapUIResource [UI]
ctrl pressed PAGE_DOWN scrollLeft
ctrl pressed PAGE_UP scrollRight
ScrollPane.ancestorInputMap [lazy] 14 javax.swing.plaf.InputMapUIResource [UI]
ctrl pressed END scrollEnd
ctrl pressed HOME scrollHome
ctrl pressed PAGE_DOWN scrollRight
ctrl pressed PAGE_UP scrollLeft
pressed DOWN unitScrollDown
pressed KP_DOWN unitScrollDown
pressed KP_LEFT unitScrollLeft
pressed KP_RIGHT unitScrollRight
pressed KP_UP unitScrollUp
pressed LEFT unitScrollLeft
pressed PAGE_DOWN scrollDown
pressed PAGE_UP scrollUp
pressed RIGHT unitScrollRight
pressed UP unitScrollUp
ScrollPane.background #eeeeee javax.swing.plaf.ColorUIResource [UI] ScrollPane.background #eeeeee javax.swing.plaf.ColorUIResource [UI]
ScrollPane.border [lazy] 1,1,2,2 false javax.swing.plaf.metal.MetalBorders$ScrollPaneBorder [UI] ScrollPane.border [lazy] 1,1,2,2 false javax.swing.plaf.metal.MetalBorders$ScrollPaneBorder [UI]
ScrollPane.font [lazy] Dialog plain 12 javax.swing.plaf.FontUIResource [UI] ScrollPane.font [lazy] Dialog plain 12 javax.swing.plaf.FontUIResource [UI]
@@ -991,26 +631,6 @@ Slider.focusGradient size=5 java.util.Arrays$ArrayList
[2] #c8ddf2 javax.swing.plaf.ColorUIResource [UI] [2] #c8ddf2 javax.swing.plaf.ColorUIResource [UI]
[3] #ffffff javax.swing.plaf.ColorUIResource [UI] [3] #ffffff javax.swing.plaf.ColorUIResource [UI]
[4] #b8cfe5 javax.swing.plaf.ColorUIResource [UI] [4] #b8cfe5 javax.swing.plaf.ColorUIResource [UI]
Slider.focusInputMap.RightToLeft [lazy] 4 javax.swing.plaf.InputMapUIResource [UI]
pressed KP_LEFT positiveUnitIncrement
pressed KP_RIGHT negativeUnitIncrement
pressed LEFT positiveUnitIncrement
pressed RIGHT negativeUnitIncrement
Slider.focusInputMap [lazy] 14 javax.swing.plaf.InputMapUIResource [UI]
ctrl pressed PAGE_DOWN negativeBlockIncrement
ctrl pressed PAGE_UP positiveBlockIncrement
pressed DOWN negativeUnitIncrement
pressed END maxScroll
pressed HOME minScroll
pressed KP_DOWN negativeUnitIncrement
pressed KP_LEFT negativeUnitIncrement
pressed KP_RIGHT positiveUnitIncrement
pressed KP_UP positiveUnitIncrement
pressed LEFT negativeUnitIncrement
pressed PAGE_DOWN negativeBlockIncrement
pressed PAGE_UP positiveBlockIncrement
pressed RIGHT positiveUnitIncrement
pressed UP positiveUnitIncrement
Slider.focusInsets 0,0,0,0 javax.swing.plaf.InsetsUIResource [UI] Slider.focusInsets 0,0,0,0 javax.swing.plaf.InsetsUIResource [UI]
Slider.font [active] Dialog bold 12 javax.swing.plaf.FontUIResource [UI] Slider.font [active] Dialog bold 12 javax.swing.plaf.FontUIResource [UI]
Slider.foreground #a3b8cc javax.swing.plaf.ColorUIResource [UI] Slider.foreground #a3b8cc javax.swing.plaf.ColorUIResource [UI]
@@ -1037,11 +657,6 @@ SliderUI javax.swing.plaf.metal.MetalSliderUI
#---- Spinner ---- #---- Spinner ----
Spinner.ancestorInputMap [lazy] 4 javax.swing.plaf.InputMapUIResource [UI]
pressed DOWN decrement
pressed KP_DOWN decrement
pressed KP_UP increment
pressed UP increment
Spinner.arrowButtonBorder [lazy] javax.swing.plaf.BorderUIResource$CompoundBorderUIResource [UI] Spinner.arrowButtonBorder [lazy] javax.swing.plaf.BorderUIResource$CompoundBorderUIResource [UI]
3,3,3,3 false javax.swing.plaf.metal.MetalBorders$ButtonBorder [UI] 3,3,3,3 false javax.swing.plaf.metal.MetalBorders$ButtonBorder [UI]
0,0,0,0 false javax.swing.plaf.basic.BasicBorders$MarginBorder [UI] 0,0,0,0 false javax.swing.plaf.basic.BasicBorders$MarginBorder [UI]
@@ -1060,21 +675,6 @@ SpinnerUI javax.swing.plaf.basic.BasicSpinnerUI
#---- SplitPane ---- #---- SplitPane ----
SplitPane.ancestorInputMap [lazy] 14 javax.swing.plaf.InputMapUIResource [UI]
ctrl pressed TAB focusOutForward
pressed DOWN positiveIncrement
pressed END selectMax
pressed F6 toggleFocus
pressed F8 startResize
pressed HOME selectMin
pressed KP_DOWN positiveIncrement
pressed KP_LEFT negativeIncrement
pressed KP_RIGHT positiveIncrement
pressed KP_UP negativeIncrement
pressed LEFT negativeIncrement
pressed RIGHT positiveIncrement
pressed UP negativeIncrement
shift ctrl pressed TAB focusOutBackward
SplitPane.background #eeeeee javax.swing.plaf.ColorUIResource [UI] SplitPane.background #eeeeee javax.swing.plaf.ColorUIResource [UI]
SplitPane.border [lazy] 1,1,1,1 true javax.swing.plaf.basic.BasicBorders$SplitPaneBorder [UI] SplitPane.border [lazy] 1,1,1,1 true javax.swing.plaf.basic.BasicBorders$SplitPaneBorder [UI]
SplitPane.centerOneTouchButtons false SplitPane.centerOneTouchButtons false
@@ -1099,11 +699,6 @@ SplitPaneUI javax.swing.plaf.metal.MetalSplitPaneUI
#---- TabbedPane ---- #---- TabbedPane ----
TabbedPane.ancestorInputMap [lazy] 4 javax.swing.plaf.InputMapUIResource [UI]
ctrl pressed KP_UP requestFocus
ctrl pressed PAGE_DOWN navigatePageDown
ctrl pressed PAGE_UP navigatePageUp
ctrl pressed UP requestFocus
TabbedPane.background #b8cfe5 javax.swing.plaf.ColorUIResource [UI] TabbedPane.background #b8cfe5 javax.swing.plaf.ColorUIResource [UI]
TabbedPane.borderHightlightColor #6382bf javax.swing.plaf.ColorUIResource [UI] TabbedPane.borderHightlightColor #6382bf javax.swing.plaf.ColorUIResource [UI]
TabbedPane.contentAreaColor #c8ddf2 javax.swing.plaf.ColorUIResource [UI] TabbedPane.contentAreaColor #c8ddf2 javax.swing.plaf.ColorUIResource [UI]
@@ -1111,17 +706,6 @@ TabbedPane.contentBorderInsets 4,2,3,3 java.awt.Insets
TabbedPane.contentOpaque true TabbedPane.contentOpaque true
TabbedPane.darkShadow #7a8a99 javax.swing.plaf.ColorUIResource [UI] TabbedPane.darkShadow #7a8a99 javax.swing.plaf.ColorUIResource [UI]
TabbedPane.focus #6382bf javax.swing.plaf.ColorUIResource [UI] TabbedPane.focus #6382bf javax.swing.plaf.ColorUIResource [UI]
TabbedPane.focusInputMap [lazy] 10 javax.swing.plaf.InputMapUIResource [UI]
ctrl pressed DOWN requestFocusForVisibleComponent
ctrl pressed KP_DOWN requestFocusForVisibleComponent
pressed DOWN navigateDown
pressed KP_DOWN navigateDown
pressed KP_LEFT navigateLeft
pressed KP_RIGHT navigateRight
pressed KP_UP navigateUp
pressed LEFT navigateLeft
pressed RIGHT navigateRight
pressed UP navigateUp
TabbedPane.font [active] Dialog bold 12 javax.swing.plaf.FontUIResource [UI] TabbedPane.font [active] Dialog bold 12 javax.swing.plaf.FontUIResource [UI]
TabbedPane.foreground #333333 sun.swing.PrintColorUIResource [UI] TabbedPane.foreground #333333 sun.swing.PrintColorUIResource [UI]
TabbedPane.highlight #ffffff javax.swing.plaf.ColorUIResource [UI] TabbedPane.highlight #ffffff javax.swing.plaf.ColorUIResource [UI]
@@ -1146,99 +730,6 @@ TabbedPaneUI javax.swing.plaf.metal.MetalTabbedPaneUI
#---- Table ---- #---- Table ----
Table.ancestorInputMap.RightToLeft [lazy] 20 javax.swing.plaf.InputMapUIResource [UI]
ctrl pressed KP_LEFT selectNextColumnChangeLead
ctrl pressed KP_RIGHT selectPreviousColumnChangeLead
ctrl pressed LEFT selectNextColumnChangeLead
ctrl pressed PAGE_DOWN scrollLeftChangeSelection
ctrl pressed PAGE_UP scrollRightChangeSelection
ctrl pressed RIGHT selectPreviousColumnChangeLead
pressed KP_LEFT selectNextColumn
pressed KP_RIGHT selectPreviousColumn
pressed LEFT selectNextColumn
pressed RIGHT selectPreviousColumn
shift ctrl pressed KP_LEFT selectNextColumnExtendSelection
shift ctrl pressed KP_RIGHT selectPreviousColumnExtendSelection
shift ctrl pressed LEFT selectNextColumnExtendSelection
shift ctrl pressed PAGE_DOWN scrollLeftExtendSelection
shift ctrl pressed PAGE_UP scrollRightExtendSelection
shift ctrl pressed RIGHT selectPreviousColumnExtendSelection
shift pressed KP_LEFT selectNextColumnExtendSelection
shift pressed KP_RIGHT selectPreviousColumnExtendSelection
shift pressed LEFT selectNextColumnExtendSelection
shift pressed RIGHT selectPreviousColumnExtendSelection
Table.ancestorInputMap [lazy] 71 javax.swing.plaf.InputMapUIResource [UI]
ctrl pressed A selectAll
ctrl pressed BACK_SLASH clearSelection
ctrl pressed C copy
ctrl pressed DOWN selectNextRowChangeLead
ctrl pressed END selectLastRow
ctrl pressed HOME selectFirstRow
ctrl pressed INSERT copy
ctrl pressed KP_DOWN selectNextRowChangeLead
ctrl pressed KP_LEFT selectPreviousColumnChangeLead
ctrl pressed KP_RIGHT selectNextColumnChangeLead
ctrl pressed KP_UP selectPreviousRowChangeLead
ctrl pressed LEFT selectPreviousColumnChangeLead
ctrl pressed PAGE_DOWN scrollRightChangeSelection
ctrl pressed PAGE_UP scrollLeftChangeSelection
ctrl pressed RIGHT selectNextColumnChangeLead
ctrl pressed SLASH selectAll
ctrl pressed SPACE toggleAndAnchor
ctrl pressed UP selectPreviousRowChangeLead
ctrl pressed V paste
ctrl pressed X cut
pressed COPY copy
pressed CUT cut
pressed DOWN selectNextRow
pressed END selectLastColumn
pressed ENTER selectNextRowCell
pressed ESCAPE cancel
pressed F2 startEditing
pressed F8 focusHeader
pressed HOME selectFirstColumn
pressed KP_DOWN selectNextRow
pressed KP_LEFT selectPreviousColumn
pressed KP_RIGHT selectNextColumn
pressed KP_UP selectPreviousRow
pressed LEFT selectPreviousColumn
pressed PAGE_DOWN scrollDownChangeSelection
pressed PAGE_UP scrollUpChangeSelection
pressed PASTE paste
pressed RIGHT selectNextColumn
pressed SPACE addToSelection
pressed TAB selectNextColumnCell
pressed UP selectPreviousRow
shift ctrl pressed DOWN selectNextRowExtendSelection
shift ctrl pressed END selectLastRowExtendSelection
shift ctrl pressed HOME selectFirstRowExtendSelection
shift ctrl pressed KP_DOWN selectNextRowExtendSelection
shift ctrl pressed KP_LEFT selectPreviousColumnExtendSelection
shift ctrl pressed KP_RIGHT selectNextColumnExtendSelection
shift ctrl pressed KP_UP selectPreviousRowExtendSelection
shift ctrl pressed LEFT selectPreviousColumnExtendSelection
shift ctrl pressed PAGE_DOWN scrollRightExtendSelection
shift ctrl pressed PAGE_UP scrollLeftExtendSelection
shift ctrl pressed RIGHT selectNextColumnExtendSelection
shift ctrl pressed SPACE moveSelectionTo
shift ctrl pressed UP selectPreviousRowExtendSelection
shift pressed DELETE cut
shift pressed DOWN selectNextRowExtendSelection
shift pressed END selectLastColumnExtendSelection
shift pressed ENTER selectPreviousRowCell
shift pressed HOME selectFirstColumnExtendSelection
shift pressed INSERT paste
shift pressed KP_DOWN selectNextRowExtendSelection
shift pressed KP_LEFT selectPreviousColumnExtendSelection
shift pressed KP_RIGHT selectNextColumnExtendSelection
shift pressed KP_UP selectPreviousRowExtendSelection
shift pressed LEFT selectPreviousColumnExtendSelection
shift pressed PAGE_DOWN scrollDownExtendSelection
shift pressed PAGE_UP scrollUpExtendSelection
shift pressed RIGHT selectNextColumnExtendSelection
shift pressed SPACE extendTo
shift pressed TAB selectPreviousColumnCell
shift pressed UP selectPreviousRowExtendSelection
Table.ascendingSortIcon [lazy] 12,12 sun.swing.ImageIconUIResource [UI] (sun.awt.image.ToolkitImage) Table.ascendingSortIcon [lazy] 12,12 sun.swing.ImageIconUIResource [UI] (sun.awt.image.ToolkitImage)
Table.background #ffffff javax.swing.plaf.ColorUIResource [UI] Table.background #ffffff javax.swing.plaf.ColorUIResource [UI]
Table.descendingSortIcon [lazy] 12,12 sun.swing.ImageIconUIResource [UI] (sun.awt.image.ToolkitImage) Table.descendingSortIcon [lazy] 12,12 sun.swing.ImageIconUIResource [UI] (sun.awt.image.ToolkitImage)
@@ -1259,21 +750,6 @@ Table.sortIconColor #b8cfe5 javax.swing.plaf.ColorUIResource [UI]
#---- TableHeader ---- #---- TableHeader ----
TableHeader.ancestorInputMap [lazy] 14 javax.swing.plaf.InputMapUIResource [UI]
alt pressed KP_LEFT moveColumnLeft
alt pressed KP_RIGHT moveColumnRight
alt pressed LEFT moveColumnLeft
alt pressed RIGHT moveColumnRight
pressed ESCAPE focusTable
pressed KP_LEFT selectColumnToLeft
pressed KP_RIGHT selectColumnToRight
pressed LEFT selectColumnToLeft
pressed RIGHT selectColumnToRight
pressed SPACE toggleSortOrder
shift alt pressed KP_LEFT resizeLeft
shift alt pressed KP_RIGHT resizeRight
shift alt pressed LEFT resizeLeft
shift alt pressed RIGHT resizeRight
TableHeader.background #eeeeee javax.swing.plaf.ColorUIResource [UI] TableHeader.background #eeeeee javax.swing.plaf.ColorUIResource [UI]
TableHeader.cellBorder [lazy] 2,2,2,0 false javax.swing.plaf.metal.MetalBorders$TableHeaderBorder TableHeader.cellBorder [lazy] 2,2,2,0 false javax.swing.plaf.metal.MetalBorders$TableHeaderBorder
TableHeader.focusCellBackground #c8ddf2 javax.swing.plaf.ColorUIResource [UI] TableHeader.focusCellBackground #c8ddf2 javax.swing.plaf.ColorUIResource [UI]
@@ -1299,68 +775,6 @@ TextArea.background #ffffff javax.swing.plaf.ColorUIResource [UI]
TextArea.border [lazy] 0,0,0,0 false javax.swing.plaf.basic.BasicBorders$MarginBorder [UI] TextArea.border [lazy] 0,0,0,0 false javax.swing.plaf.basic.BasicBorders$MarginBorder [UI]
TextArea.caretBlinkRate 500 TextArea.caretBlinkRate 500
TextArea.caretForeground #333333 sun.swing.PrintColorUIResource [UI] TextArea.caretForeground #333333 sun.swing.PrintColorUIResource [UI]
TextArea.focusInputMap [lazy] 61 javax.swing.plaf.InputMapUIResource [UI]
ctrl pressed A select-all
ctrl pressed BACK_SLASH unselect
ctrl pressed BACK_SPACE delete-previous-word
ctrl pressed C copy-to-clipboard
ctrl pressed DELETE delete-next-word
ctrl pressed END caret-end
ctrl pressed H delete-previous
ctrl pressed HOME caret-begin
ctrl pressed INSERT copy-to-clipboard
ctrl pressed KP_LEFT caret-previous-word
ctrl pressed KP_RIGHT caret-next-word
ctrl pressed LEFT caret-previous-word
ctrl pressed RIGHT caret-next-word
ctrl pressed SPACE activate-link-action
ctrl pressed T next-link-action
ctrl pressed V paste-from-clipboard
ctrl pressed X cut-to-clipboard
pressed BACK_SPACE delete-previous
pressed COPY copy-to-clipboard
pressed CUT cut-to-clipboard
pressed DELETE delete-next
pressed DOWN caret-down
pressed END caret-end-line
pressed ENTER insert-break
pressed HOME caret-begin-line
pressed KP_DOWN caret-down
pressed KP_LEFT caret-backward
pressed KP_RIGHT caret-forward
pressed KP_UP caret-up
pressed LEFT caret-backward
pressed PAGE_DOWN page-down
pressed PAGE_UP page-up
pressed PASTE paste-from-clipboard
pressed RIGHT caret-forward
pressed TAB insert-tab
pressed UP caret-up
shift ctrl pressed END selection-end
shift ctrl pressed HOME selection-begin
shift ctrl pressed KP_LEFT selection-previous-word
shift ctrl pressed KP_RIGHT selection-next-word
shift ctrl pressed LEFT selection-previous-word
shift ctrl pressed O toggle-componentOrientation
shift ctrl pressed PAGE_DOWN selection-page-right
shift ctrl pressed PAGE_UP selection-page-left
shift ctrl pressed RIGHT selection-next-word
shift ctrl pressed T previous-link-action
shift pressed BACK_SPACE delete-previous
shift pressed DELETE cut-to-clipboard
shift pressed DOWN selection-down
shift pressed END selection-end-line
shift pressed HOME selection-begin-line
shift pressed INSERT paste-from-clipboard
shift pressed KP_DOWN selection-down
shift pressed KP_LEFT selection-backward
shift pressed KP_RIGHT selection-forward
shift pressed KP_UP selection-up
shift pressed LEFT selection-backward
shift pressed PAGE_DOWN selection-page-down
shift pressed PAGE_UP selection-page-up
shift pressed RIGHT selection-forward
shift pressed UP selection-up
TextArea.font [active] Dialog plain 12 javax.swing.plaf.FontUIResource [UI] TextArea.font [active] Dialog plain 12 javax.swing.plaf.FontUIResource [UI]
TextArea.foreground #333333 sun.swing.PrintColorUIResource [UI] TextArea.foreground #333333 sun.swing.PrintColorUIResource [UI]
TextArea.inactiveForeground #b8cfe5 javax.swing.plaf.ColorUIResource [UI] TextArea.inactiveForeground #b8cfe5 javax.swing.plaf.ColorUIResource [UI]
@@ -1379,46 +793,6 @@ TextField.border [lazy] javax.swing.plaf.BorderUIResource$Compound
TextField.caretBlinkRate 500 TextField.caretBlinkRate 500
TextField.caretForeground #333333 sun.swing.PrintColorUIResource [UI] TextField.caretForeground #333333 sun.swing.PrintColorUIResource [UI]
TextField.darkShadow #7a8a99 javax.swing.plaf.ColorUIResource [UI] TextField.darkShadow #7a8a99 javax.swing.plaf.ColorUIResource [UI]
TextField.focusInputMap [lazy] 39 javax.swing.plaf.InputMapUIResource [UI]
ctrl pressed A select-all
ctrl pressed BACK_SLASH unselect
ctrl pressed BACK_SPACE delete-previous-word
ctrl pressed C copy-to-clipboard
ctrl pressed DELETE delete-next-word
ctrl pressed H delete-previous
ctrl pressed INSERT copy-to-clipboard
ctrl pressed KP_LEFT caret-previous-word
ctrl pressed KP_RIGHT caret-next-word
ctrl pressed LEFT caret-previous-word
ctrl pressed RIGHT caret-next-word
ctrl pressed V paste-from-clipboard
ctrl pressed X cut-to-clipboard
pressed BACK_SPACE delete-previous
pressed COPY copy-to-clipboard
pressed CUT cut-to-clipboard
pressed DELETE delete-next
pressed END caret-end-line
pressed ENTER notify-field-accept
pressed HOME caret-begin-line
pressed KP_LEFT caret-backward
pressed KP_RIGHT caret-forward
pressed LEFT caret-backward
pressed PASTE paste-from-clipboard
pressed RIGHT caret-forward
shift ctrl pressed KP_LEFT selection-previous-word
shift ctrl pressed KP_RIGHT selection-next-word
shift ctrl pressed LEFT selection-previous-word
shift ctrl pressed O toggle-componentOrientation
shift ctrl pressed RIGHT selection-next-word
shift pressed BACK_SPACE delete-previous
shift pressed DELETE cut-to-clipboard
shift pressed END selection-end-line
shift pressed HOME selection-begin-line
shift pressed INSERT paste-from-clipboard
shift pressed KP_LEFT selection-backward
shift pressed KP_RIGHT selection-forward
shift pressed LEFT selection-backward
shift pressed RIGHT selection-forward
TextField.font [active] Dialog plain 12 javax.swing.plaf.FontUIResource [UI] TextField.font [active] Dialog plain 12 javax.swing.plaf.FontUIResource [UI]
TextField.foreground #333333 sun.swing.PrintColorUIResource [UI] TextField.foreground #333333 sun.swing.PrintColorUIResource [UI]
TextField.highlight #ffffff javax.swing.plaf.ColorUIResource [UI] TextField.highlight #ffffff javax.swing.plaf.ColorUIResource [UI]
@@ -1438,68 +812,6 @@ TextPane.background #ffffff javax.swing.plaf.ColorUIResource [UI]
TextPane.border [lazy] 0,0,0,0 false javax.swing.plaf.basic.BasicBorders$MarginBorder [UI] TextPane.border [lazy] 0,0,0,0 false javax.swing.plaf.basic.BasicBorders$MarginBorder [UI]
TextPane.caretBlinkRate 500 TextPane.caretBlinkRate 500
TextPane.caretForeground #333333 sun.swing.PrintColorUIResource [UI] TextPane.caretForeground #333333 sun.swing.PrintColorUIResource [UI]
TextPane.focusInputMap [lazy] 61 javax.swing.plaf.InputMapUIResource [UI]
ctrl pressed A select-all
ctrl pressed BACK_SLASH unselect
ctrl pressed BACK_SPACE delete-previous-word
ctrl pressed C copy-to-clipboard
ctrl pressed DELETE delete-next-word
ctrl pressed END caret-end
ctrl pressed H delete-previous
ctrl pressed HOME caret-begin
ctrl pressed INSERT copy-to-clipboard
ctrl pressed KP_LEFT caret-previous-word
ctrl pressed KP_RIGHT caret-next-word
ctrl pressed LEFT caret-previous-word
ctrl pressed RIGHT caret-next-word
ctrl pressed SPACE activate-link-action
ctrl pressed T next-link-action
ctrl pressed V paste-from-clipboard
ctrl pressed X cut-to-clipboard
pressed BACK_SPACE delete-previous
pressed COPY copy-to-clipboard
pressed CUT cut-to-clipboard
pressed DELETE delete-next
pressed DOWN caret-down
pressed END caret-end-line
pressed ENTER insert-break
pressed HOME caret-begin-line
pressed KP_DOWN caret-down
pressed KP_LEFT caret-backward
pressed KP_RIGHT caret-forward
pressed KP_UP caret-up
pressed LEFT caret-backward
pressed PAGE_DOWN page-down
pressed PAGE_UP page-up
pressed PASTE paste-from-clipboard
pressed RIGHT caret-forward
pressed TAB insert-tab
pressed UP caret-up
shift ctrl pressed END selection-end
shift ctrl pressed HOME selection-begin
shift ctrl pressed KP_LEFT selection-previous-word
shift ctrl pressed KP_RIGHT selection-next-word
shift ctrl pressed LEFT selection-previous-word
shift ctrl pressed O toggle-componentOrientation
shift ctrl pressed PAGE_DOWN selection-page-right
shift ctrl pressed PAGE_UP selection-page-left
shift ctrl pressed RIGHT selection-next-word
shift ctrl pressed T previous-link-action
shift pressed BACK_SPACE delete-previous
shift pressed DELETE cut-to-clipboard
shift pressed DOWN selection-down
shift pressed END selection-end-line
shift pressed HOME selection-begin-line
shift pressed INSERT paste-from-clipboard
shift pressed KP_DOWN selection-down
shift pressed KP_LEFT selection-backward
shift pressed KP_RIGHT selection-forward
shift pressed KP_UP selection-up
shift pressed LEFT selection-backward
shift pressed PAGE_DOWN selection-page-down
shift pressed PAGE_UP selection-page-up
shift pressed RIGHT selection-forward
shift pressed UP selection-up
TextPane.font [active] Dialog plain 12 javax.swing.plaf.FontUIResource [UI] TextPane.font [active] Dialog plain 12 javax.swing.plaf.FontUIResource [UI]
TextPane.foreground #333333 sun.swing.PrintColorUIResource [UI] TextPane.foreground #333333 sun.swing.PrintColorUIResource [UI]
TextPane.inactiveForeground #b8cfe5 javax.swing.plaf.ColorUIResource [UI] TextPane.inactiveForeground #b8cfe5 javax.swing.plaf.ColorUIResource [UI]
@@ -1525,9 +837,6 @@ ToggleButton.border [lazy] javax.swing.plaf.BorderUIResource$Compound
ToggleButton.darkShadow #7a8a99 javax.swing.plaf.ColorUIResource [UI] ToggleButton.darkShadow #7a8a99 javax.swing.plaf.ColorUIResource [UI]
ToggleButton.disabledText #999999 javax.swing.plaf.ColorUIResource [UI] ToggleButton.disabledText #999999 javax.swing.plaf.ColorUIResource [UI]
ToggleButton.focus #a3b8cc javax.swing.plaf.ColorUIResource [UI] ToggleButton.focus #a3b8cc javax.swing.plaf.ColorUIResource [UI]
ToggleButton.focusInputMap [lazy] 2 javax.swing.plaf.InputMapUIResource [UI]
pressed SPACE pressed
released SPACE released
ToggleButton.font [active] Dialog bold 12 javax.swing.plaf.FontUIResource [UI] ToggleButton.font [active] Dialog bold 12 javax.swing.plaf.FontUIResource [UI]
ToggleButton.foreground #333333 sun.swing.PrintColorUIResource [UI] ToggleButton.foreground #333333 sun.swing.PrintColorUIResource [UI]
ToggleButton.gradient size=5 java.util.Arrays$ArrayList ToggleButton.gradient size=5 java.util.Arrays$ArrayList
@@ -1548,15 +857,6 @@ ToggleButtonUI javax.swing.plaf.metal.MetalToggleButtonUI
#---- ToolBar ---- #---- ToolBar ----
ToolBar.ancestorInputMap [lazy] 8 javax.swing.plaf.InputMapUIResource [UI]
pressed DOWN navigateDown
pressed KP_DOWN navigateDown
pressed KP_LEFT navigateLeft
pressed KP_RIGHT navigateRight
pressed KP_UP navigateUp
pressed LEFT navigateLeft
pressed RIGHT navigateRight
pressed UP navigateUp
ToolBar.background #eeeeee javax.swing.plaf.ColorUIResource [UI] ToolBar.background #eeeeee javax.swing.plaf.ColorUIResource [UI]
ToolBar.border [lazy] 1,2,3,2 false javax.swing.plaf.metal.MetalBorders$ToolBarBorder [UI] ToolBar.border [lazy] 1,2,3,2 false javax.swing.plaf.metal.MetalBorders$ToolBarBorder [UI]
ToolBar.borderColor #cccccc javax.swing.plaf.ColorUIResource [UI] ToolBar.borderColor #cccccc javax.swing.plaf.ColorUIResource [UI]
@@ -1614,8 +914,6 @@ ToolTipUI javax.swing.plaf.metal.MetalToolTipUI
#---- Tree ---- #---- Tree ----
Tree.ancestorInputMap [lazy] 1 javax.swing.plaf.InputMapUIResource [UI]
pressed ESCAPE cancel
Tree.background #ffffff javax.swing.plaf.ColorUIResource [UI] Tree.background #ffffff javax.swing.plaf.ColorUIResource [UI]
Tree.changeSelectionWithFocus true Tree.changeSelectionWithFocus true
Tree.closedIcon [lazy] 16,18 sun.swing.ImageIconUIResource [UI] (sun.awt.image.ToolkitImage) Tree.closedIcon [lazy] 16,18 sun.swing.ImageIconUIResource [UI] (sun.awt.image.ToolkitImage)
@@ -1625,71 +923,6 @@ Tree.dropCellBackground #d2e9ff javax.swing.plaf.ColorUIResource [UI]
Tree.dropLineColor #6382bf javax.swing.plaf.ColorUIResource [UI] Tree.dropLineColor #6382bf javax.swing.plaf.ColorUIResource [UI]
Tree.editorBorder [lazy] line: #000000 java.awt.Color 1 false 1,1,1,1 true javax.swing.plaf.BorderUIResource$LineBorderUIResource [UI] Tree.editorBorder [lazy] line: #000000 java.awt.Color 1 false 1,1,1,1 true javax.swing.plaf.BorderUIResource$LineBorderUIResource [UI]
Tree.expandedIcon [lazy] 18,18 sun.swing.ImageIconUIResource [UI] (sun.awt.image.ToolkitImage) Tree.expandedIcon [lazy] 18,18 sun.swing.ImageIconUIResource [UI] (sun.awt.image.ToolkitImage)
Tree.focusInputMap.RightToLeft [lazy] 4 javax.swing.plaf.InputMapUIResource [UI]
pressed KP_LEFT selectChild
pressed KP_RIGHT selectParent
pressed LEFT selectChild
pressed RIGHT selectParent
Tree.focusInputMap [lazy] 59 javax.swing.plaf.InputMapUIResource [UI]
ctrl pressed A selectAll
ctrl pressed BACK_SLASH clearSelection
ctrl pressed C copy
ctrl pressed DOWN selectNextChangeLead
ctrl pressed END selectLastChangeLead
ctrl pressed HOME selectFirstChangeLead
ctrl pressed INSERT copy
ctrl pressed KP_DOWN selectNextChangeLead
ctrl pressed KP_LEFT scrollLeft
ctrl pressed KP_RIGHT scrollRight
ctrl pressed KP_UP selectPreviousChangeLead
ctrl pressed LEFT scrollLeft
ctrl pressed PAGE_DOWN scrollDownChangeLead
ctrl pressed PAGE_UP scrollUpChangeLead
ctrl pressed RIGHT scrollRight
ctrl pressed SLASH selectAll
ctrl pressed SPACE toggleAndAnchor
ctrl pressed UP selectPreviousChangeLead
ctrl pressed V paste
ctrl pressed X cut
pressed ADD expand
pressed COPY copy
pressed CUT cut
pressed DOWN selectNext
pressed END selectLast
pressed F2 startEditing
pressed HOME selectFirst
pressed KP_DOWN selectNext
pressed KP_LEFT selectParent
pressed KP_RIGHT selectChild
pressed KP_UP selectPrevious
pressed LEFT selectParent
pressed PAGE_DOWN scrollDownChangeSelection
pressed PAGE_UP scrollUpChangeSelection
pressed PASTE paste
pressed RIGHT selectChild
pressed SPACE addToSelection
pressed SUBTRACT collapse
pressed UP selectPrevious
shift ctrl pressed DOWN selectNextExtendSelection
shift ctrl pressed END selectLastExtendSelection
shift ctrl pressed HOME selectFirstExtendSelection
shift ctrl pressed KP_DOWN selectNextExtendSelection
shift ctrl pressed KP_UP selectPreviousExtendSelection
shift ctrl pressed PAGE_DOWN scrollDownExtendSelection
shift ctrl pressed PAGE_UP scrollUpExtendSelection
shift ctrl pressed SPACE moveSelectionTo
shift ctrl pressed UP selectPreviousExtendSelection
shift pressed DELETE cut
shift pressed DOWN selectNextExtendSelection
shift pressed END selectLastExtendSelection
shift pressed HOME selectFirstExtendSelection
shift pressed INSERT paste
shift pressed KP_DOWN selectNextExtendSelection
shift pressed KP_UP selectPreviousExtendSelection
shift pressed PAGE_DOWN scrollDownExtendSelection
shift pressed PAGE_UP scrollUpExtendSelection
shift pressed SPACE extendTo
shift pressed UP selectPreviousExtendSelection
Tree.font [active] Dialog plain 12 javax.swing.plaf.FontUIResource [UI] Tree.font [active] Dialog plain 12 javax.swing.plaf.FontUIResource [UI]
Tree.foreground #333333 sun.swing.PrintColorUIResource [UI] Tree.foreground #333333 sun.swing.PrintColorUIResource [UI]
Tree.hash #b8cfe5 javax.swing.plaf.ColorUIResource [UI] Tree.hash #b8cfe5 javax.swing.plaf.ColorUIResource [UI]

Some files were not shown because too many files have changed in this diff Show More