• 【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. }

    预期运行结果

  • 相关阅读:
    【第五篇】- 深入学习Git 创建仓库
    vue设置全局变量:让你的数据无处不在!
    Leetcode 662. 二叉树最大宽度
    C语言之存储类,枚举,结构体,共用体,typedef
    客快物流大数据项目(七十二):Impala sql 语法
    MySQL的字符集设置
    二维多孔介质图像的粒度分布研究(Matlab代码实现)
    vue项目关闭eslint
    轻量应用服务器和云服务器有哪些区别?该如何选择?
    【workaround】可执行文件(编译时)glibc版本小于运行环境(运行时)glibc版本
  • 原文地址:https://blog.csdn.net/Tir_zhang/article/details/125406652