I have JScrollPane which contains only one instance of JTree. How can I set margin around JTree inside of JScrollPane?
I have such a code
tree.setPreferredSize(new Dimension(200, 200));
    JScrollPane scrollerTree = new JScrollPane(tree, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
    scrollerTree.setPreferredSize(new Dimension(200, 199));
    scrollerTree.getVerticalScrollBar().setUnitIncrement(16);
I want to achieve, that margin would be scrollable with scrollpane content.
You can add components to the "view" at later stage if you want, but that's up to you... // Declare "view" as a class variable... view = new JPanel(); // FlowLayout is the default layout manager // Add the components you need now to the "view" JScrollPane scrollPane = new JScrollPane(view); view.
We can also implement a JPanel with vertical and horizontal scrolls by adding the panel object to JScrollPane.
JFrame frame = new JFrame ("Test"); JTextArea textArea = new JTextArea ("Test"); JScrollPane scrollV = new JScrollPane (textArea); JScrollPane scrollH = new JScrollPane (textArea); scrollV. setVerticalScrollBarPolicy(JScrollPane. VERTICAL_SCROLLBAR_ALWAYS); scrollH. setHorizontalScrollBarPolicy(JScrollPane.
Update: From your updated question I reckon that you are actually after  JComponent.setBorder, example screenshot:

Code:
public static void main(String[] args) {
    JTree tree = new JTree();
    tree.setBorder(BorderFactory.createEmptyBorder(20, 20, 20, 20));
    JFrame frame = new JFrame("Test");
    frame.add(new JScrollPane(tree));
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.pack();
    frame.setVisible(true);
}
Original answer, if you want a border around the view port, use JScrollPane.setViewportBorder:

Code:
public static void main(String[] args) {
    JScrollPane scroll = new JScrollPane(new JTree());
    scroll.setViewportBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
    JFrame frame = new JFrame("Test");
    frame.add(scroll);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.pack();
    frame.setVisible(true);
}
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With