热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

JavaAwtSwing笔记之JComponentJLabel的setBorder(Border边框)用例

JComponentJLabel的setBorder前言用例2205262241前言setBorder(Border边框)实现自JComponentjava.awt.Insets


JComponent JLabel 的 setBorder

  • 前言
  • 用例 2205262241


前言

setBorder(Border 边框) 实现自JComponent
java.awt.Insets用于获取和包装Border的上左下右, 但不能设置
javax.swing.border.Border 是一个接口
javax.swing.border.AbstractBorder 是 implements Border, Serializable 的抽象类
具体实现基本在在javax.swing.border包中, 如TitledBorder , MatteBorder
可以new
也可以通过 BorderFactory 的静态方法获得


用例 2205262241

package jcomponent;import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.BevelBorder;
import javax.swing.border.EtchedBorder;
import javax.swing.border.SoftBevelBorder;
import javax.swing.border.TitledBorder;public class SetBorder方法测试2205262241 {static Frame frame = new Frame("SetBorder方法测试2205262241");static JLabel jlb;static {frame.addWindowListener(new WindowAdapter() {@Override public void windowClosing(WindowEvent event) {frame.dispose();System.exit(0);}});frame.setBounds(100,50,1800,900);frame.setLayout(new GridLayout(0, 3, 5, 5));jlb = new JLabel("BorderFactory.createBevelBorder(BevelBorder.LOWERED, Color.red, Color.blue)"); frame.add(jlb);jlb.setBorder(BorderFactory.createBevelBorder(BevelBorder.LOWERED, Color.red, Color.blue));jlb = new JLabel("BorderFactory.createBevelBorder(BevelBorder.RAISED, Color.red, Color.blue)"); frame.add(jlb);jlb.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED, Color.red, Color.blue));jlb = new JLabel("""

BorderFactory.createEmptyBorder(60, 200, 0, 0)

EmptyBorder不可见,但缩小了文字区域
可以用于移动文字
"""); frame.add(jlb);jlb.setBorder(BorderFactory.createEmptyBorder(60, 200, 0, 0)); jlb.setBackground(Color.yellow); jlb.setOpaque(true);jlb = new JLabel("BorderFactory.createEtchedBorder(EtchedBorder.LOWERED, Color.YELLOW, Color.GREEN)"); frame.add(jlb);jlb.setBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED, Color.YELLOW, Color.GREEN));jlb = new JLabel("BorderFactory.createEtchedBorder(EtchedBorder.RAISED, Color.YELLOW, Color.GREEN)"); frame.add(jlb);jlb.setBorder(BorderFactory.createEtchedBorder(EtchedBorder.RAISED, Color.YELLOW, Color.GREEN));jlb = new JLabel("BorderFactory.createLineBorder(Color.BLACK, 30, true)"); frame.add(jlb);jlb.setBorder(BorderFactory.createLineBorder(Color.BLACK, 30, true)); //true是圆角jlb = new JLabel("BorderFactory.createLineBorder(Color.BLACK, 30, false)"); frame.add(jlb);jlb.setBorder(BorderFactory.createLineBorder(Color.BLACK, 30, false));jlb = new JLabel("BorderFactory.createLoweredBevelBorder()"); frame.add(jlb);jlb.setBorder(BorderFactory.createLoweredBevelBorder());jlb = new JLabel("BorderFactory.createLoweredSoftBevelBorder()"); frame.add(jlb);jlb.setBorder(BorderFactory.createLoweredSoftBevelBorder());jlb = new JLabel("BorderFactory.createRaisedBevelBorder()"); frame.add(jlb);jlb.setBorder(BorderFactory.createRaisedBevelBorder());jlb = new JLabel("BorderFactory.createRaisedSoftBevelBorder()"); frame.add(jlb);jlb.setBorder(BorderFactory.createRaisedSoftBevelBorder());jlb = new JLabel("BorderFactory.createSoftBevelBorder(SoftBevelBorder.LOWERED, Color.ORANGE, Color.CYAN)"); frame.add(jlb);jlb.setBorder(BorderFactory.createSoftBevelBorder(SoftBevelBorder.LOWERED, Color.ORANGE, Color.CYAN));jlb = new JLabel("BorderFactory.createSoftBevelBorder(SoftBevelBorder.RAISED, Color.ORANGE, Color.CYAN)"); frame.add(jlb);jlb.setBorder(BorderFactory.createSoftBevelBorder(SoftBevelBorder.RAISED, Color.ORANGE, Color.CYAN));jlb = new JLabel("BorderFactory.createCompoundBorder()"); frame.add(jlb);jlb.setBorder(BorderFactory.createCompoundBorder());jlb = new JLabel("BorderFactory.createMatteBorder(10, 20, 30, 40, Color.BLACK)"); frame.add(jlb);jlb.setBorder(BorderFactory.createMatteBorder(10, 20, 30, 40, Color.BLACK));jlb = new JLabel("BorderFactory.createTitledBorder(\"如同Html的FieldSet\")"); frame.add(jlb);jlb.setBorder(BorderFactory.createTitledBorder("如同Html的FieldSet"));jlb = new JLabel("BorderFactory.createTitledBorder(BorderFactory.createMatteBorder(10, 20, 30, 40, Color.BLACK) , \"如同Html的FieldSet\")"); frame.add(jlb);jlb.setBorder(BorderFactory.createTitledBorder(BorderFactory.createMatteBorder(10, 20, 30, 40, Color.BLACK) , "如同Html的FieldSet"));jlb = new JLabel("""
BorderFactory.createTitledBorder(BorderFactory.createMatteBorder(5, 10, 15, 20, Color.DARK_GRAY), "如同Html的FieldSet", TitledBorder.CENTER, TitledBorder.BOTTOM, new Font("宋体",Font.BOLD,20), Color.RED)
"""
); frame.add(jlb);jlb.setBorder(BorderFactory.createTitledBorder(BorderFactory.createMatteBorder(5, 10, 15, 20, Color.DARK_GRAY), "如同Html的FieldSet", TitledBorder.CENTER, TitledBorder.BOTTOM, new Font("宋体",Font.BOLD,20), Color.RED));}public static void main(String...arguments) {frame.setVisible(true);}}

在这里插入图片描述


推荐阅读
  • 本文深入探讨了Java注解的基本概念及其在现代Java开发中的应用。文章不仅介绍了如何创建和使用自定义注解,还详细讲解了如何利用反射机制解析注解,以及Java内建注解的使用场景。 ... [详细]
  • 一个产品数组拼图|集合 2 (O(1)空间) ... [详细]
  • 设计模式笔记12:迭代器模式(Iterator Pattern) ... [详细]
  • 在现代多线程编程中,Lock接口提供的灵活性和控制力超越了传统的synchronized关键字。Lock接口不仅使锁成为一个独立的对象,还提供了更细粒度的锁定机制,例如读写锁(ReadWriteLock)。本文将探讨如何利用ReentrantReadWriteLock提高并发性能。 ... [详细]
  • 本文详细介绍了Java中`org.sakaiproject.site.api.Site.addPage()`方法的功能和使用方法,并提供了多个实际项目中的代码示例。 ... [详细]
  • 快速排序是基于分治策略的一种排序算法,其平均时间复杂度为O(n log n),在大多数情况下表现优于其他排序算法。本文将详细介绍快速排序的工作原理,并提供一个Java语言的具体实现。 ... [详细]
  • 本文章介绍了如何将阿拉伯数字形式的金额转换为中国传统的大写形式,适用于财务报告和正式文件中的金额表示。 ... [详细]
  • Iris 开发环境配置指南 (最新 Go & IntelliJ IDEA & Iris V12)
    本指南详细介绍了如何在最新的 Go 语言环境及 IntelliJ IDEA 中配置 Iris V12 框架,适合初学者和有经验的开发者。文章提供了详细的步骤说明和示例代码,帮助读者快速搭建开发环境。 ... [详细]
  • 深入理解Hibernate延迟加载机制
    本文探讨了Hibernate框架中的延迟加载(懒加载)特性,分析其对程序性能的影响及实现原理,同时提供了具体的代码示例来说明如何配置和使用延迟加载。 ... [详细]
  • 本文介绍如何利用JavaScript在页面加载时为ASP.NET的DropDownList控件设置特定的选项值。 ... [详细]
  • 本文介绍了在处理财务凭证查询时,如何实现从插入或修改页面返回至原始查询结果页面,并确保数据保持最新状态的方法。通过使用JavaScript和Java的Session管理技术,解决了动态页面中AJAX调用失效的问题。 ... [详细]
  • 前端监控系列2 | 深入探讨JS错误监控的重要性与实践
    作者:彭莉,火山引擎APM研发工程师,专注于前端监控技术的研发。本文将深入讨论JS错误监控的必要性及其实现方法,帮助开发者更好地理解和应用这一技术。 ... [详细]
  • 本文探讨了K近邻(KNN)算法中K值的选择对模型复杂度的影响,通过实验分析不同K值下的模型表现,旨在为KNN算法的应用提供指导。 ... [详细]
  • 本文探讨了如何在Django中创建一个能够根据需求选择不同模板的包含标签。通过自定义逻辑,开发者可以在多个模板选项中灵活切换,以适应不同的显示需求。 ... [详细]
  • Smali代码动态调试指南
    本文介绍了如何通过一系列具体步骤实现Smali代码的动态调试,包括环境搭建、工具安装及调试过程中的关键操作。 ... [详细]
author-avatar
幸福的xinwangnanfei_736
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有