关于java边框的知识
JAVA 关于 知识 边框
2023-09-11 14:20:19 时间
1.关于边框
是能够在swing组件边缘周围渲染边框的对象的接口,边框就是对组件边界的装饰,可以为组件添加边框的色彩,也可以在边框上添加标题,让组件更加美观好看。
2.部分边框类
BevelBorder : 实现简单的两行斜角边框的类。
参数:
protected int bevelType 斜面类型。 LOWERED :降低斜面类型。 RAISED:凸起斜面类型。
protected Color highlightInner 用于斜角内部高光的颜色。
protected Color highlightOuter 用于斜角外部高光的颜色。
protected Color shadowInner 用于斜角内阴影的颜色。
protected Color shadowOuter 用于斜面外阴影的颜色
LineBorder : 实现任意厚度和单色的线边框的类。
参数:
protected Color lineColor 边框的颜色。
protected boolean roundedCorners 边框是否有圆角。
protected int thickness 边框的厚度。
EmptyBorder : 提供空白透明边框的类,占用空间但不绘制。
参数:
protected int bottom 边界的底部。
protected int left 边界的左边。
protected int right 边界的右边。
protected int top 边界的顶部。
TitledBorder . :一个实现任意边框的类,在指定位置和对齐中添加String标题。
参数:
protected Border border 边界。
protected String title 边框应显示的标题。
static int BOTTOM 将标题置于边框底部的中间位置。
static int LEFT 将标题文本放在边框线的左侧。
protected Color titleColor 标题的颜色。
protected Font titleFont 用于呈现标题的字体。
(还有很多参数,只列举了使用的部分)
MatteBorder : 提供纯色或平铺图标的类似哑光边框的类。
参数:
protected Color color 为边框渲染的颜色。
protected Icon tileIcon 用于平铺边框的图标。
CompoundBorder : 一个复合Border类,用于通过将内部Border对象嵌套在外部Border对象的insets中,将两个Border对象组合成单个边框。
参数:
protected Border insideBorder 内部边界。
protected Border outsideBorder 外边界。
3.测试代码
import javax.swing.*;
import javax.swing.border.*;
import java.awt.*;
public class BorderTest {
JFrame jf=new JFrame("测试边框");
public void init(){
//组装视图
//JFrame的布局修改为GirdLayout
jf.setLayout(new GridLayout(2,4));
//往网络中填充不同的JPanel组件,并且设置边框和内容
//创建BevelBorder 类型: RAISED 和 LOWERED一个是突起另一个是凹下去
Border bevelBorder=BorderFactory.createBevelBorder(BevelBorder.LOWERED,Color.RED,Color.GREEN,Color.BLUE,Color.gray);
jf.add(getJPanelWithBorder(bevelBorder,"BevelBorder"));
//创建LineBorder 只使用了颜色和厚度
Border lineBorder= BorderFactory.createLineBorder(Color.ORANGE,13);
jf.add(getJPanelWithBorder(lineBorder,"LineBorder"));
//创建EmptyBorder
Border emptyBorder=BorderFactory.createEmptyBorder(10,5,20,10);
jf.add(getJPanelWithBorder(emptyBorder,"EmptyBorder"));
//创建TitledBorder
TitledBorder titledBorder=new TitledBorder(new LineBorder(Color.ORANGE,10),"测试标题",TitledBorder.LEFT,TitledBorder.BOTTOM,new Font("StSong",Font.BOLD,18),Color.RED);
jf.add(getJPanelWithBorder(titledBorder,"TitledBorder"));
//创建MatteBorder
MatteBorder matteBorder=new MatteBorder(10,5,20,10,Color.GREEN);
jf.add(getJPanelWithBorder(matteBorder,"MatteBorder"));
//创建CompoundBorder
CompoundBorder compoundBorder=new CompoundBorder(new LineBorder(Color.RED,10),titledBorder);
jf.add(getJPanelWithBorder(compoundBorder,"CompoundBorder"));
//设置窗口最佳大小,设置窗口可见,处理关闭操作
jf.pack();
jf.setVisible(true);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
//因为都是创建边框,所以可以使用同一种方法,给panel添加边框在添加到窗口中
public JPanel getJPanelWithBorder(Border border, String content){
JPanel jPanel=new JPanel();
jPanel.add(new JLabel(content));
//设置边框
jPanel.setBorder(border);
return jPanel;
}
public static void main(String[] args) {
new BorderTest().init();
}
}
4.运行结果
相关文章
- 深入java面向对象四:Java 内部类种类及使用解析(转)
- [Java基础] java多线程关于消费者和生产者
- Java Pattern和Matcher用法
- [转]关于JAVA中RSA加签解签,私钥加密公钥解密和公钥加密私钥解密代码详解
- java:序列化Serializable 接口
- Java实现 洛谷 P1618 三连击(升级版)
- java实现取字母组成串
- Java中输入时IO包与Scanner的区别
- Java实现 蓝桥杯VIP 算法提高 乘法运算
- (Java实现)蓝桥杯Excel地址
- (Java实现) 洛谷 P1025 数的划分
- 【JAVA】 01-Java基础知识
- 【JAVA】java编译错误:编码UTF8/GBK的不可映射字符
- 在Java中可以使用自定义的java.net.InetAddress实现来解决虚拟hosts的问题
- 关于Java多态的一道面试题(多态有没有彻底掌握,就看这道题了!)
- 【java】EJB(Enterprise Java Bean)概述
- 【java】Java 枚举(enum)如何使用以及原理
- 【Java 并发编程】ForkJoin 框架使用代码实例
- Java通过PDF模板导出数据 adobe acrobat的PDF编辑器 itextpdf java导出文件输出流
- 关于 Java 对象序列化您不知道的 5 件事
- 【java】Java并发编程系列-基础知识(非常详细哦)