一、线边框、蚀刻边框、斜面边框、标题边框、组合边框

import  java.awt.*;
import javax.swing.*;
import javax.swing.border.*;public
class  BorderDemo {public static  void  main(String[] args) {JFrame frame = new JFrame("Swing边框演示");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);JPanel panel = new JPanel();panel.setLayout(new GridLayout(0, 2, 5, 10));panel.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));JButton p1 = new JButton();p1.setBorder(BorderFactory.createLineBorder(Color.red, 3));p1.add(new JLabel("线边框"));panel.add(p1);JPanel p2 = new JPanel();p2.setBorder(BorderFactory.createEtchedBorder());p2.add(new JLabel("蚀刻边框"));panel.add(p2);JPanel p3 = new JPanel();p3.setBorder(BorderFactory.createRaisedBevelBorder());p3.add(new JLabel("斜面边框(凸)"));panel.add(p3);JPanel p4 = new JPanel();p4.setBorder(BorderFactory.createLoweredBevelBorder());p4.add(new JLabel("斜面边框(凹)"));panel.add(p4);JPanel p5 = new JPanel();p5.setBorder(BorderFactory.createTitledBorder("标题"));p5.add(new JLabel("标题边框"));panel.add(p5);JPanel p6 = new JPanel();TitledBorder tb = BorderFactory.createTitledBorder("标题");tb.setTitleJustification(TitledBorder.RIGHT);p6.setBorder(tb);p6.add(new JLabel("标签边框(右)"));panel.add(p6);JPanel p7 = new JPanel();p7.setBorder(BorderFactory.createMatteBorder(1, 5, 1, 1, Color.yellow));p7.add(new JLabel("花色边框"));panel.add(p7);JPanel p8 = new JPanel();Border b1 = BorderFactory.createLineBorder(Color.blue, 2);Border b2 = BorderFactory.createEtchedBorder();p8.setBorder(BorderFactory.createCompoundBorder(b1, b2));p8.add(new JLabel("组合边框"));panel.add(p8);JScrollPane scrollPane = new JScrollPane(panel);scrollPane.setPreferredSize(new Dimension(300, 300));frame.getContentPane().add(panel);frame.pack();frame.setVisible(true);}}

二、创建一个边框类:

import java.awt.Color;
import java.awt.Component;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import javax.swing.border.LineBorder;/*** @author user *   边框设置    */public class TextBorderUtlis extends LineBorder
{private static final long serialVersionUID = 1L;public TextBorderUtlis(Color color, int thickness, boolean roundedCorners) {super(color, thickness, roundedCorners);}public void paintBorder(Component c, Graphics g, int x, int y, int width, int height) {RenderingHints rh = new RenderingHints(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);Color oldColor = g.getColor();Graphics2D g2 = (Graphics2D) g;int i;g2.setRenderingHints(rh);g2.setColor(lineColor);for (i = 0; i < thickness; i++) {if (!roundedCorners){g2.drawRect(x + i, y + i, width - i - i - 1, height - i - i - 1);}else{g2.drawRoundRect(x + i, y + i, width - i - i - 1, height - i - i - 1, 5, 5);}}g2.setColor(oldColor);}}

Java 边框类型setBorder BorderFactory相关推荐

  1. 关于java边框的知识

    1.关于边框 是能够在swing组件边缘周围渲染边框的对象的接口,边框就是对组件边界的装饰,可以为组件添加边框的色彩,也可以在边框上添加标题,让组件更加美观好看. 2.部分边框类 BevelBorde ...

  2. C#到Java byte类型冲突的解决

    最近要改写一个核心加密认证类,从C#改写成Java. 发现在调试时,加密的数据无论如何也对不上. 经过跟踪,发现问题出在C#和Java byte类型的区别上:在C#里 byte类型是无符号的,而Jav ...

  3. Android JNI 第三篇 Java参数类型与本地参数类型对照

    转载请标明出处: http://blog.csdn.net/michael1112/article/details/56665383 江东橘子的博客 这一篇从基础上了解一些Java参数类型与本地参数类 ...

  4. java表达式类型自动提升

    [一道经典的Java面试题] short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错? 答案是:前者错,后者对.相信不管是否经历过java ...

  5. Java从键盘输入n行字符串_Java十四天零基础入门-Java布尔类型

    不闲聊!!!不扯淡!!!小UP只分享Java相关的资源干货 Java布尔类型 在Java语言中布尔类型的值只包括true和false,没有其他值,不包括1和0,布尔类型的数据在开发中主要使用在逻辑判断 ...

  6. java 基本类型内存_java基本数据类型、内存分析、装包拆包

    2019-09-13   18:01:23 idea快捷键: file->settings->Keymap->搜索关键字 Increase Font Size   增大字体    c ...

  7. java判断类型_Java中类型判断的几种方式 - 码农小胖哥 - 博客园

    1. 前言 在Java这种强类型语言中类型转换.类型判断是经常遇到的.今天就细数一下Java中类型判断的方法方式. 2. instanceof instanceof是Java的一个运算符,用来判断一个 ...

  8. java 类说明,java基础类型说明

    一.java基础类型分为4类8种分别为: 四类分为: 整数类型 浮点类类 字符类型 布尔类型 八种分别为: 整数类型: byte short int long 浮点类型: float double 字 ...

  9. java注解类型_Java注解类型

    本篇文章帮大家学习java注解类型,包含了Java注解类型使用方法.操作技巧.实例演示和注意事项,有一定的学习价值,大家可以用来参考. 标记注解类型 标记注解类型是没有元素的注解类型,甚至没有默认值. ...

最新文章

  1. asp.net程序性能优化的七个方面
  2. python多线程爬虫实例-python 多线程爬虫 实例
  3. MVC 顶层设计-HandlerMapping
  4. 火焰和烟雾的训练图像数据集_游戏开发者是烟雾和镜子的大师
  5. 一步步编写操作系统3 部署工作环境 3
  6. autojs 按下状态_AutoJs4.1.0实战教程---最后惊喜的一篇
  7. 解决QTcpSocket类中readAll()函数调用失败问题
  8. java 5 线程 睡眠,Java并发编程实例--5.线程睡眠
  9. gevent的同步与异步
  10. 十行代码实现十亿图片检索,我们把它开源了
  11. 程序员面试金典——11.2变位词排序
  12. LibMesh 数据结构类
  13. Android ADT 无法在线安装,离线下载ADT压缩包方法。SDK Manager无法更新
  14. python编程课件_Python面向对象程序设计ppt课件.ppt
  15. Docker 详细文档
  16. mysql两版本共存
  17. Cond:条件变量源码解读
  18. 计算机通电后自动断电,为什么电脑开机自动断电 电脑自动断电解决办法
  19. 一个屌丝程序猿的人生(八十一)
  20. Shiro实现自定义filter

热门文章

  1. matlab 自定义距离函数,用MATLAB做聚类分析时非常有用的自定义距离函数和标准化函数...
  2. ZZULIOJ 2942: 猜糖果游戏
  3. 使用redis的scan指令详解
  4. (转) 坚持完成这套学习手册,你就可以去 Google 面试了
  5. RSK<->以太坊 trusted bridge
  6. Hypersonic SQL-miniDB
  7. 1089: 阶乘的最高位 C语言
  8. SVN本地服务器,SVN客户端使用详解
  9. 已解决:未找到文件:\product\11.2.0\dbhome_2\owb\external\oc4j_applications\applications\WFMLRSVCApp.ear
  10. 手动安装wincap方法