Java Swing LineBorder createPanelBorder()

Here you can find the source of createPanelBorder()

Description

create Panel Border

License

Open Source License

Declaration

public static Border createPanelBorder() 

Method Source Code

//package com.java2s;
/*/*from  w w  w .j  a v  a 2  s.co  m*/
 * Copyright (c) 2015 Memorial Sloan-Kettering Cancer Center
 * *
 * * Code written by: Christian Lopes
 * * Authors: Gary Bader, Elena Potylitsine, Chris Sander, Weston Whitaker
 * *
 * * This library is free software; you can redistribute it and/or modify it
 * * under the terms of the GNU Lesser General Public License as published
 * * by the Free Software Foundation; either version 2.1 of the License, or
 * * any later version.
 * *
 * * This library is distributed in the hope that it will be useful, but
 * * WITHOUT ANY WARRANTY, WITHOUT EVEN THE IMPLIED WARRANTY OF
 * * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.  The software and
 * * documentation provided hereunder is on an "as is" basis, and
 * * Memorial Sloan-Kettering Cancer Center
 * * has no obligations to provide maintenance, support,
 * * updates, enhancements or modifications.  In no type shall the
 * * Memorial Sloan-Kettering Cancer Center
 * * be liable to any party for direct, indirect, special,
 * * incidental or consequential damages, including lost profits, arising
 * * out of the use of this software and its documentation, even if
 * * Memorial Sloan-Kettering Cancer Center
 * * has been advised of the possibility of such damage.  See
 * * the GNU Lesser General Public License for more details.
 * *
 * * You should have received a copy of the GNU Lesser General Public License
 * * along with this library; if not, write to the Free Software Foundation,
 * * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
 */

import javax.swing.BorderFactory;

import javax.swing.UIManager;
import javax.swing.border.Border;
import javax.swing.border.TitledBorder;

public class Main {
    public static Border createPanelBorder() {
        // Try to create Aqua recessed borders on Mac OS
        Border border = isAquaLAF() ? UIManager.getBorder("InsetBorder.aquaVariant") : null;

        if (border == null) {
            if (isWinLAF())
                border = new TitledBorder("");
            else
                border = BorderFactory.createTitledBorder("SAMPLE").getBorder();
        }

        if (border == null)
            border = BorderFactory.createLineBorder(UIManager.getColor("Separator.foreground"));

        return border;
    }

    public static boolean isAquaLAF() {
        return UIManager.getLookAndFeel() != null && "Mac OS X".equals(UIManager.getLookAndFeel().getName());
    }

    public static boolean isWinLAF() {
        return UIManager.getLookAndFeel() != null && "Windows".equals(UIManager.getLookAndFeel().getName());
    }

    public static Border createTitledBorder(final String title) {
        final Border border;

        if (title == null || title.trim().isEmpty()) {
            final Border aquaBorder = isAquaLAF() ? UIManager.getBorder("InsetBorder.aquaVariant") : null;
            border = aquaBorder != null ? aquaBorder : BorderFactory.createTitledBorder("SAMPLE").getBorder();
        } else {
            final Border aquaBorder = isAquaLAF() ? UIManager.getBorder("TitledBorder.aquaVariant") : null;
            final TitledBorder tb = aquaBorder != null ? BorderFactory.createTitledBorder(aquaBorder, title)
                    : BorderFactory.createTitledBorder(title);
            border = tb;
        }

        return border;
    }
}

Related

  1. addBordersToLine(Component content)
  2. addDebugBorders(JPanel panel)
  3. changeBorder(JComponent field, Object fieldValue, PropertyChangeEvent e)
  4. createDebugBorder()
  5. createLineBorder()
  6. createThickInsetBorder()
  7. drawBorders(final JPanel panel)
  8. getBorderBlue()
  9. getDefaultLineBorder()