I am trying to implement a search function for a TreeView in JavaFX. I want to highlight all the matches when the user hits the enter key. So I added a boolean isHighlighted to my TreeItem and in my TreeCells updateItem, I check whether the item isHighlighted and if so I apply a certain CSS. Everything works fine with the items/cells not visible at the moment of the search -- when I scroll to them, they are properly highlighted. The problem is: How can I "repaint" the TreeCells visible at search so that they reflect whether their item isHighlighted? My Controller does currently not have any reference to the TreeCells the TreeView creates.
JavaFX: How to highlight certain Items in a TreeView
3k views Asked by spilot At
1
There are 1 answers
Related Questions in JAVAFX
- Function for making the code wait in javafx
- JavaFX build generating a blank gui with primary view and secondary view buttons
- JavaFX SwingNode instantiation fails with exception
- I want to understand modularity in java. When compiling my app I have a ResolutionException
- Importing Jython into a JavaFX application
- gluon attach audio doesn't play any sound on android
- Using javaFx, how to distinguish between return-key and enter-key on the numpad?
- Displaying a Hashmap in a TableView in JavaFX
- HBox doesn't fill parent GridPane when rotated by 90 degrees
- Run java program
- Setting up MongoDB with JavaFX in Intellij, MongoDB external Jar files throwing errors
- JavaFX not support GPU hardware decoding?
- JavaFX resize ImageView in center of BorderPane
- In Javafx how to access object of a component which is under an overridden method? Problem related with TableView
- How to style rounded corners of a TextArea in JavaFX
Related Questions in TREEVIEW
- odoo : look for method I click on button "add line" in tree view
- Angular:Mat-tree - how to select all checkbox during initial load
- Build tree view by the recursion method
- Tkinter treeview displaying and selecting rows question
- Binding Multiple Classes to a WPF Treeview
- Hierarchical tree view
- Tkinter treeview size for string items
- reactive props in Vue3 Treelist causes recursive updates
- How to shorten line length in react-d3-tree
- How to create tree structure from html element?
- How could I make a Expand All / Collapse All function for my custom QML TreeView?
- Cannot insert data from one frame into a treeview in another frame
- In higDPI taking a tableLayoutPanel to contains spliter that contain treeviews create an resize issue of my treeviews
- TreeView with multiple HierarchicalDataTemplates
- How do I get Treeview in tkinter to show NULL as blank instead of "none"
Related Questions in REPAINT
- wxpython alpha colors overwrite previous drawing
- HTML/JS: How to prevent a render before script execution?
- Pine script version change and stop reprint and repaint issue
- Java Swing JPanel rapaint doesn't call paintcomponent
- How to update content of child window (c++) even if window size does not change
- eliminate repainting in indicator that plots price level lines on lower timeframe charts when using daily ATR to calculate price levels drawn
- {SOLVED} JFrame's repaint() functions doesn't seem to work?
- Really weird repainting issue
- Repaint issue on descaling with specific css rull : will-change:transform
- repaint() method inside ActionListener and paintComponent method
- Creating and using an invisible, topmost, non-interactable window for "screen-drawing"
- How can I call the repaint() method with a keyboard event in java?
- Possible Repainting indicator alert, but used every anti-repaint measure (Pine Script)
- When I resize my App the Components get paints into the one who where already paint and it create a mess
- Can I tell the JPanel paintComponent(Graphics g) function to only repaint the object I'm editing?
Related Questions in TREECELL
- TreeCell Line Bindings messing up at scroll
- Style TreeItem at the time of creation
- How do i set the grapic for a TextFieldTreeCell
- JavaFX TreeView tooltip conflicts with TreeCell tooltip
- JavaFX Getting TreeView's prefWidth
- JavaFX TreeView adding item to the treeview results the same behavior of the two cells
- Change tree-cell selected font color in JavaFX
- TreeView expanding/collapsing strange behaviour
- JavaFX add Mouse Listener to TreeCell Graphic
- JavaFX: How to highlight certain Items in a TreeView
- Get a list of all TreeCell objects that currently exist in a TreeView
- JavaFX TreeTableView custom TreeCell with controls
- JavaFx TreeCell how to expand nodes after one second
- JavaFx 8 TreeCell Drag and Drop
- JavaFX 8 TreeView displays incorrect String when cell is clicked to edit
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
This answer is based on this one, but adapted for
TreeViewinstead ofTableView, and updated to use JavaFX 8 functionality (greatly reducing the amount of code required).One strategy for this is to maintain an
ObservableSetofTreeItemsthat match the search (this is sometimes useful for other functionality you may want anyway). Use a CSSPseudoClassand an external CSS file to highlight the required cells. You can create aBooleanBindingin the cell factory that binds to the cell'streeItemPropertyand theObservableSet, evaluating totrueif the set contains the cell's current tree item. Then just register a listener with the binding and update the pseudoclass state of the cell when it changes.Here's a SSCCE. It contains a tree whose items are
Integer-valued. It will update the search when you type in the search box, matching those whose value is a multiple of the value entered.The CSS file tree-highlight-search.css just has to contain a style for the highlighted cells: