[ 
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

!image-2020-04-16-13-16-17-044.png!

 

  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}
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

  !Netbeans Services Windows after fix_FlatLaf.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: Netbeans Services Windows after fix_FlatLaf.png, 
> image-2020-04-16-13-16-17-044.png
>
>          Time Spent: 1.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
> !image-2020-04-16-13-16-17-044.png!
>  



--
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

Reply via email to