gpt4 book ai didi

java - 使用 JTree 进行 Swing Action

转载 作者:行者123 更新时间:2023-12-02 06:00:01 25 4
gpt4 key购买 nike

在开发 Swing 应用程序时,我使用 Action而不是Listener 。我有一个通常由 AbstractButtons 触发的操作但现在我在选择 JTree 时也需要触发它节点。

TreeSelectionModel不支持操作我想知道归档此内容的最佳实践是什么。

直到现在我才想到实现一个从 actionPerformed(ActionEvent) 调用的通用方法。以及来自 addTreeSelectionListener(TreeSelectListener) .

谁有更好的主意?

最佳答案

这似乎可能会增加 TreeModel 与其 View 组件 JTree 之间的耦合。如Action实例经常用于 key bindings ,它可能有助于查看为常见外观和感觉实现定义的现有操作,如 @camickr 的文章 Key Bindings 中所示。 。这些 Action 可以从您的 TreeSelectionListener 中唤起。 ,如example所示利用滚动 Pane 操作。

附录:作为引用,javax.swing.plaf.metal.MetalLookAndFeel 定义了这些 JTree 操作和绑定(bind)。

Action                        Focused                                             Ancestor------                        ------                                              -------addToSelection                SPACEcancel                                                                            ESCAPEclearSelection                ctrl BACK_SLASHcollapse                      SUBTRACTcopy                          ctrl INSERT, ctrl C, COPYcut                           CUT, shift DELETE, ctrl Xexpand                        ADDextendTo                      shift SPACEmoveSelectionTo               shift ctrl SPACEmoveSelectionToParentpaste                         shift INSERT, ctrl V, PASTEscrollDownChangeLead          ctrl PAGE_DOWNscrollDownChangeSelection     PAGE_DOWNscrollDownExtendSelection     shift ctrl PAGE_DOWN, shift PAGE_DOWNscrollLeft                    ctrl LEFT, ctrl KP_LEFTscrollLeftChangeLeadscrollLeftExtendSelectionscrollRight                   ctrl RIGHT, ctrl KP_RIGHTscrollRightChangeLeadscrollRightExtendSelectionscrollUpChangeLead            ctrl PAGE_UPscrollUpChangeSelection       PAGE_UPscrollUpExtendSelection       shift PAGE_UP, shift ctrl PAGE_UPselectAll                     ctrl SLASH, ctrl AselectChild                   RIGHT, KP_RIGHTselectChildChangeLeadselectFirst                   HOMEselectFirstChangeLead         ctrl HOMEselectFirstExtendSelection    shift HOME, shift ctrl HOMEselectLast                    ENDselectLastChangeLead          ctrl ENDselectLastExtendSelection     shift END, shift ctrl ENDselectNext                    DOWN, KP_DOWNselectNextChangeLead          ctrl DOWN, ctrl KP_DOWNselectNextExtendSelection     shift ctrl DOWN, shift DOWN, shift ctrl KP_DOWN, shift KP_DOWNselectParent                  LEFT, KP_LEFTselectParentChangeLeadselectPrevious                KP_UP, UPselectPreviousChangeLead      ctrl UP, ctrl KP_UPselectPreviousExtendSelection shift UP, shift KP_UP, shift ctrl UP, shift ctrl KP_UPstartEditing                  F2toggletoggleAndAnchor               ctrl SPACE

关于java - 使用 JTree 进行 Swing Action ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22756693/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com