[ https://issues.apache.org/jira/browse/NETBEANS-4173?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Lucas Friedmann updated NETBEANS-4173: -------------------------------------- Description: When using FlatLaf Look and Feel, incorrect rendering of tree item under the context menu in the BeanTreeView component occurs. This problem can be easily reproduced by the following simple example. {code:java} import com.formdev.flatlaf.FlatLightLaf; import org.openide.explorer.ExplorerManager; import org.openide.explorer.view.BeanTreeView; import org.openide.nodes.AbstractNode; import org.openide.nodes.Children; import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; public class SampleFrame extends JFrame implements ExplorerManager.Provider { private final ExplorerManager explorerManager = new ExplorerManager(); public SampleFrame() throws HeadlessException { setSize(300, 400); explorerManager.setRootContext(new SampleNode()); BeanTreeView beanTreeView = new BeanTreeView(); getContentPane().add(beanTreeView, BorderLayout.CENTER); } @Override public ExplorerManager getExplorerManager() { return explorerManager; } private static class SampleNode extends AbstractNode { public SampleNode() { super(Children.LEAF); setName("SampleNode"); } @Override public Action[] getActions(boolean context) { AbstractAction action = new AbstractAction() { @Override public void actionPerformed(ActionEvent e) { } }; action.putValue(Action.NAME, "Sample"); return new Action[]{action}; } } public static void main(String[] args) { SwingUtilities.invokeLater(() -> { FlatLightLaf.install(); SampleFrame frame = new SampleFrame(); frame.setDefaultCloseOperation(EXIT_ON_CLOSE); frame.setVisible(true); }); } } {code} Netbeans Services Window before fix !image-2020-04-16-13-16-17-044.png! After my fix, the render of the tree item becomes correct was: When using FlatLaf Look and Feel, incorrect rendering of tree item under the context menu in the BeanTreeView component occurs. This problem can be easily reproduced by the following simple example. {code:java} import com.formdev.flatlaf.FlatLightLaf; import org.openide.explorer.ExplorerManager; import org.openide.explorer.view.BeanTreeView; import org.openide.nodes.AbstractNode; import org.openide.nodes.Children; import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; public class SampleFrame extends JFrame implements ExplorerManager.Provider { private final ExplorerManager explorerManager = new ExplorerManager(); public SampleFrame() throws HeadlessException { setSize(300, 400); explorerManager.setRootContext(new SampleNode()); BeanTreeView beanTreeView = new BeanTreeView(); getContentPane().add(beanTreeView, BorderLayout.CENTER); } @Override public ExplorerManager getExplorerManager() { return explorerManager; } private static class SampleNode extends AbstractNode { public SampleNode() { super(Children.LEAF); setName("SampleNode"); } @Override public Action[] getActions(boolean context) { AbstractAction action = new AbstractAction() { @Override public void actionPerformed(ActionEvent e) { } }; action.putValue(Action.NAME, "Sample"); return new Action[]{action}; } } public static void main(String[] args) { SwingUtilities.invokeLater(() -> { FlatLightLaf.install(); SampleFrame frame = new SampleFrame(); frame.setDefaultCloseOperation(EXIT_ON_CLOSE); frame.setVisible(true); }); } } {code} The result will be the following !FlatLaf_before_fix.png! After my fix, the render of the tree item becomes correct !FlatLaf_after_fix.png! > FlatLaf: Partial render selected BeanTreeView element > ----------------------------------------------------- > > Key: NETBEANS-4173 > URL: https://issues.apache.org/jira/browse/NETBEANS-4173 > Project: NetBeans > Issue Type: Bug > Components: FlatLaf > Affects Versions: 11.2 > Reporter: Lucas Friedmann > Priority: Minor > Labels: pull-request-available > Attachments: FlatLaf_after_fix.png, FlatLaf_before_fix.png, Netbeans > Services Windows after fix_FlatLaf.png, Netbeans Services Windows after > fix_FlatLaf.png, image-2020-04-16-13-16-17-044.png > > Time Spent: 0.5h > Remaining Estimate: 0h > > When using FlatLaf Look and Feel, incorrect rendering of tree item under the > context menu in the BeanTreeView component occurs. This problem can be easily > reproduced by the following simple example. > {code:java} > import com.formdev.flatlaf.FlatLightLaf; > import org.openide.explorer.ExplorerManager; > import org.openide.explorer.view.BeanTreeView; > import org.openide.nodes.AbstractNode; > import org.openide.nodes.Children; > import javax.swing.*; > import java.awt.*; > import java.awt.event.ActionEvent; > public class SampleFrame extends JFrame implements ExplorerManager.Provider { > private final ExplorerManager explorerManager = new ExplorerManager(); > public SampleFrame() throws HeadlessException { > setSize(300, 400); > explorerManager.setRootContext(new SampleNode()); > BeanTreeView beanTreeView = new BeanTreeView(); > getContentPane().add(beanTreeView, BorderLayout.CENTER); > } > @Override > public ExplorerManager getExplorerManager() { > return explorerManager; > } > private static class SampleNode extends AbstractNode { > public SampleNode() { > super(Children.LEAF); > setName("SampleNode"); > } > @Override > public Action[] getActions(boolean context) { > AbstractAction action = new AbstractAction() { > @Override > public void actionPerformed(ActionEvent e) { > } > }; > action.putValue(Action.NAME, "Sample"); > return new Action[]{action}; > } > } > public static void main(String[] args) { > SwingUtilities.invokeLater(() -> { > FlatLightLaf.install(); > SampleFrame frame = new SampleFrame(); > frame.setDefaultCloseOperation(EXIT_ON_CLOSE); > frame.setVisible(true); > }); > } > } > {code} > Netbeans Services Window before fix > !image-2020-04-16-13-16-17-044.png! > After my fix, the render of the tree item becomes correct > -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@netbeans.apache.org For additional commands, e-mail: commits-h...@netbeans.apache.org For further information about the NetBeans mailing lists, visit: https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists