• 【JAVA】-- setBorder


    setBorder可以为组件设置边框,是JComponent类的成员方法。

    函数原型:public void setBorder(Border border)

    对参数Border对象 的定义主要通过BorderFactory进行。

    BorderFactory提供的方法:

    1、createBevelBorder(int type)

    建立一个立体边界,参数type指定为凹陷或突起,为BevelBorder.LOWERED表示凹陷、BevelBorder.RALSED表示突起。

    2、createBevelBorder(int type,Color highlight,Color shadow)

    建立一个立体的边界,并指定突边与阴影的颜色

    3、createBevelBorder(int type,Color highlightOuter,Color highlightInner,Color shadowOuter,Color shadowInner)

    建立一个立体的边界,并指定内外部的突起与阴影的颜色。

    4、createCompoundBorder()

    建立一个复合边界

    5、createCompoundBorder(Border outsideBorder,Border insideBorder)

    建立一个复合边界,并指定它的内外边界。

    6、createEmptyBorder()

    建立一个空的边界。

    7、createEmptyBorder(int top,int left,int bottom,int right)

    建立一个空的边界,并指定上下左右 的宽度,在这些宽度中不能作绘图的效果。

    8、createEtchedBorder()

    建立一个四周有凹痕的边界。
    9、createEtchedBorder(Color highlight,Color shadow)

    建立一个四周有凹痕的边界,并指定突边与阴影  的颜色。


    10、createLineBorder(Color color)

      建立一个线务边界,并指定线条的颜色。


    11、createLineBorder(Color color,int thicness) 

    建立一个线务边界,并指定线条的颜色与宽度。


    12、createLoweredBevelBorder()

    建立一个具有凹陷效果的边界,意义与  createBevelBorder(BevelBorder.LOWERED)相同。


    13、createMatteBorder(int top,int left,int bottom,int right,Color color)

    建立一个垫子边界,这跟  createEmptyBorder有点像,但可以指定边界颜色。


    14、createMatteBorder(int top,int left,int bottom,int right,Icon tileIcom)

    建立一个垫子边界,并  指定边界的花纹。


    15、createRaisedBevelBorder()

    建立一个具有突起效果的边界,意义与createBevelBorder(BevelBorder.  RAISED)相同。


    16、createTitledBorder(Border border)

    建立一个标题边界,但没有标题名称。


    17、createTitledBorder(Border border,String title)

    建立一个标题边界,并指定标题名称,标题默认位  置是TitledBorder.DEFAULT_JUSTIFICATION与TitledBorder.DEFAULT_POSITION,也就是左上方。


    18、createTitledBorder(Border border,String title,int titleJustification,int titlePosition)

      建立一个标题边界,并指定标题名称与标题位置,
        参数titleJustification可为:  
            TitledBorder.LEFT
            TitledBorder.CENTER
            TitledBorder.RIGHT
            TitledBorder.DEFAULT_JUSTIFICATION(leading)
        参数titlePosition可为:
            TitedBorder.ABOVE_TOP
            TitledBorder.TOP(sittin on the top line)
            TitledBorder.BELOW_TOP
            TitledBorder.ABOVE_BOTTOM
            TitledBorder.BOTTOM(sitting on the bottom line)
            TitledBorder.BELOW_BOTTOM
            TitledBorder.DEFAULT_POSITION(top)


    19、createTitledBorder(Border border,String title,int titleJustification,int titlePosition,Font titleFont)

    建立一个标题边界,并指定标题名称,标题位置与字体。


    20、createTitledBorder(Border border,String title,int titleJustification,int titlePosition,Font titleFont,Color titleColor)

    建立一个标题边界,并指定标题名称,标题位置、字体与标题颜

    使用示例

    1. import java.awt.*;
    2. import javax.swing.*;
    3. import javax.swing.border.*;
    4. public class BorderDemo {
    5. public static void main(String[] args) {
    6. JFrame frame = new JFrame("Swing边框演示-宋小生");
    7. frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    8. JPanel panel = new JPanel();
    9. panel.setLayout(new GridLayout(0, 2, 5, 10));
    10. panel.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));
    11. JButton p1 = new JButton();
    12. p1.setBorder(BorderFactory.createLineBorder(Color.red, 3));
    13. p1.add(new JLabel("线边框"));
    14. panel.add(p1);
    15. JPanel p2 = new JPanel();
    16. p2.setBorder(BorderFactory.createEtchedBorder());
    17. p2.add(new JLabel("蚀刻边框"));
    18. panel.add(p2);
    19. JPanel p3 = new JPanel();
    20. p3.setBorder(BorderFactory.createRaisedBevelBorder());
    21. p3.add(new JLabel("斜面边框(凸)"));
    22. panel.add(p3);
    23. JPanel p4 = new JPanel();
    24. p4.setBorder(BorderFactory.createLoweredBevelBorder());
    25. p4.add(new JLabel("斜面边框(凹)"));
    26. panel.add(p4);
    27. JPanel p5 = new JPanel();
    28. p5.setBorder(BorderFactory.createTitledBorder("标题"));
    29. p5.add(new JLabel("标题边框"));
    30. panel.add(p5);
    31. JPanel p6 = new JPanel();
    32. TitledBorder tb = BorderFactory.createTitledBorder("标题");
    33. tb.setTitleJustification(TitledBorder.RIGHT);
    34. p6.setBorder(tb);
    35. p6.add(new JLabel("标签边框(右)"));
    36. panel.add(p6);
    37. JPanel p7 = new JPanel();
    38. p7.setBorder(BorderFactory.createMatteBorder(1, 5, 1, 1, Color.yellow));
    39. p7.add(new JLabel("花色边框"));
    40. panel.add(p7);
    41. JPanel p8 = new JPanel();
    42. Border b1 = BorderFactory.createLineBorder(Color.blue, 2);
    43. Border b2 = BorderFactory.createEtchedBorder();
    44. p8.setBorder(BorderFactory.createCompoundBorder(b1, b2));
    45. p8.add(new JLabel("组合边框"));
    46. panel.add(p8);
    47. JScrollPane scrollPane = new JScrollPane(panel);
    48. scrollPane.setPreferredSize(new Dimension(300, 300));
    49. frame.getContentPane().add(panel);
    50. frame.pack();
    51. frame.setVisible(true);
    52. }
    53. }

    预期运行结果

  • 相关阅读:
    1. MongoDB概览
    盈利背后,美团渴望第二曲线
    Scala数组常用函数(1)
    地震勘探——相关概念(二)
    Laravel文档阅读笔记-Custom Authentication Login And Registration Using Laravel 8
    通达信接口速度到底有多快?
    ASL集睿致远 MIPI转LVDS芯片 CS5518规格书 PIN to PIN替代GM8775C 工业级标准
    python自动化测试——unittest二次开发之根据不同的粒度实现多线程执行测试用例(一)
    I2C驱动框架分析(2):I2C框架源码分析
    奔跑的大学生
  • 原文地址:https://blog.csdn.net/Tir_zhang/article/details/125406652