Example usage for javax.swing.plaf.basic BasicSplitPaneDivider setBorder

List of usage examples for javax.swing.plaf.basic BasicSplitPaneDivider setBorder

Introduction

In this page you can find the example usage for javax.swing.plaf.basic BasicSplitPaneDivider setBorder.

Prototype

public void setBorder(Border border) 

Source Link

Document

Sets the border of this component.

Usage

From source file:com.jvms.i18neditor.editor.Editor.java

private void setupUI() {
    Color borderColor = Colors.scale(UIManager.getColor("Panel.background"), .8f);

    setTitle(TITLE);/*from  ww  w.java2s .c  o m*/
    setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
    addWindowListener(new EditorWindowListener());

    setIconImages(Lists.newArrayList("512", "256", "128", "64", "48", "32", "24", "20", "16").stream()
            .map(size -> Images.loadFromClasspath("images/icon-" + size + ".png").getImage())
            .collect(Collectors.toList()));

    translationTree = new TranslationTree();
    translationTree.setBorder(BorderFactory.createEmptyBorder(0, 5, 0, 5));
    translationTree.addTreeSelectionListener(new TranslationTreeNodeSelectionListener());
    translationTree.addMouseListener(new TranslationTreeMouseListener());

    translationField = new TranslationField();
    translationField.addKeyListener(new TranslationFieldKeyListener());
    translationField.setBorder(
            BorderFactory.createCompoundBorder(BorderFactory.createMatteBorder(1, 0, 0, 1, borderColor),
                    ((CompoundBorder) translationField.getBorder()).getInsideBorder()));

    JScrollPane translationsScrollPane = new JScrollPane(translationTree);
    translationsScrollPane.getViewport().setOpaque(false);
    translationsScrollPane.setOpaque(false);
    translationsScrollPane.setBorder(BorderFactory.createMatteBorder(0, 0, 0, 1, borderColor));

    translationsPanel = new JPanel(new BorderLayout());
    translationsPanel.add(translationsScrollPane);
    translationsPanel.add(translationField, BorderLayout.SOUTH);

    resourcesPanel = new JScrollablePanel(true, false);
    resourcesPanel.setLayout(new BoxLayout(resourcesPanel, BoxLayout.Y_AXIS));
    resourcesPanel.setBorder(BorderFactory.createEmptyBorder(10, 20, 10, 20));
    resourcesPanel.setOpaque(false);
    resourcesPanel.addMouseListener(new ResourcesPaneMouseListener());

    resourcesScrollPane = new JScrollPane(resourcesPanel);
    resourcesScrollPane.getViewport().setOpaque(false);
    resourcesScrollPane.setOpaque(false);
    resourcesScrollPane.setBorder(null);
    resourcesScrollPane.addMouseListener(new ResourcesPaneMouseListener());

    contentPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, true, translationsPanel, resourcesScrollPane);
    contentPane.setBorder(null);
    contentPane.setDividerSize(10);

    // Style the split pane divider if possible
    SplitPaneUI splitPaneUI = contentPane.getUI();
    if (splitPaneUI instanceof BasicSplitPaneUI) {
        BasicSplitPaneDivider divider = ((BasicSplitPaneUI) splitPaneUI).getDivider();
        divider.setBorder(null);
        resourcesPanel.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 20));
    }

    introText = new JLabel("<html><body style=\"text-align:center; padding:30px;\">"
            + MessageBundle.get("core.intro.text") + "</body></html>");
    introText.setOpaque(true);
    introText.setFont(introText.getFont().deriveFont(28f));
    introText.setHorizontalTextPosition(JLabel.CENTER);
    introText.setVerticalTextPosition(JLabel.BOTTOM);
    introText.setHorizontalAlignment(JLabel.CENTER);
    introText.setVerticalAlignment(JLabel.CENTER);
    introText.setForeground(getBackground().darker());
    introText.setIcon(Images.loadFromClasspath("images/icon-intro.png"));

    Container container = getContentPane();
    container.add(introText);

    editorMenu = new EditorMenuBar(this, translationTree);
    setJMenuBar(editorMenu);
}