【无标题】关于 setBorder 和 BorderFactory

Java聊天室小程序(2.2) 2021-05-09 setBorder 主要通过BorderFactory 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()); ... 阅读详情
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.GridLayout;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionListener;

import javax.swing.*;
public class testI extends JFrame{
	PanelI panel1,panel2,panel3,panel4;

	testI(){
		new JFrame_Show(this, "测试坐标");
		setLayout(new GridLayout(2, 2,5,5));
		panel1 = new PanelI();panel2 = new PanelI();panel3 = new PanelI();panel4 = new PanelI();
		panel1.setBackground(new Color(206,180,176));panel4.setBackground(new Color(206,180,176));
		panel1.setBackground(new Color(177,137,245));panel4.setBackground(new Color(177,137,245));
		add(panel1);add(panel2);add(panel3);add(panel4);
	}

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		SwingUtilities.invokeLater(() ->{
			new testI().setVisible(true);
		});
	}
	
	private class PanelI extends JPanel{
		int x=0;
		int y=0;
		String s="X:0 Y:0";
		PanelI(){
			
			setBorder(BorderFactory.createLineBorder(Color.RED));
			addMouseMotionListener(new MouseMotionListener() {
				
				@Override
				public void mouseMoved(MouseEvent e) {
					// TODO Auto-generated method stub
					x=e.getX();
					y = e.getY();
					s="X: "+x+" Y: "+y;
					repaint();
				}
				
				@Override
				public void mouseDragged(MouseEvent e) {
					// TODO Auto-generated method stub
					
				}
			});
		}
		
		@Override
		protected void paintComponent(Graphics g) {
			// TODO Auto-generated method stub
			super.paintComponent(g);
			Graphics2D g2 = (Graphics2D)g;
			g2.setColor(Color.RED);
			g2.setFont(new Font("楷体", Font.BOLD, 24));
			g2.drawString(s, 10, 50);
			
		}
	}
	
	@Override
	public void paint(Graphics g) {
		// TODO Auto-generated method stub
		super.paint(g);
		Graphics2D g2 =(Graphics2D)g;
		g2.setColor(Color.RED);
		g2.setFont(new Font("楷体", Font.BOLD, 24));
		g2.drawString("测试", 300, 300);
		
	}

}

效果

  • setBorder():这是给组件(比如你的面板)设置边框的方法,就像给相框加个边框一样
  • BorderFactory.createTitledBorder("hello"):这是工厂(Factory)生产了一个带标题的边框,标题是"hello"

BorderFactory 是什么?

想象一下 BorderFactory 就像一个边框工厂,专门生产各种款式的边框:

  • 它是Swing框架中的一个工具类
  • 就像乐高工厂生产各种积木一样,它生产各种边框
  • 好处是:你不用自己从头造边框,直接"下单"就能得到现成的

边框工厂能生产哪些产品?

这个工厂可厉害了,能生产多种"边框款式":

  1. ​普通边框​:

    • createLineBorder(Color.RED) - 红色实线边框
    • createEtchedBorder() - 3D凹陷效果的边框
  2. ​带标题的边框​:

    • createTitledBorder("标题") - 就是你用的这种,带文字说明
    • 可以设置标题位置、字体、颜色等
  3. ​花式边框​:

    • createRaisedBevelBorder() - 凸起的3D边框
    • createLoweredBevelBorder() - 凹陷的3D边框
    • createMatteBorder() - 可以设置不同宽度的边框
  4. ​组合边框​:

    • createCompoundBorder() - 可以把两个边框组合在一起,像三明治一样

记住:BorderFactory 就像边框界的"宜家",想要什么边框款式,直接去"买"就行,不用自己动手做! 

 

 

 

【JAVA】-- setBorder setBorder可以为组件设置边框,是JComponent类的成员方法。函数原型:public void setBorder(Border border)对参数Border对象 的定义主要通过BorderFactory进行。1、createBevelBorder(int type)建立一个立体边界,参数type指定为凹陷或突起,为BevelBorder.LOWERED表示凹陷、BevelBorder.RALSED表示突起。2、createBevelBorder(int type,Color highlig 阅读详情

相关推荐

BorderFactory组件解析(Java代码)

swing组件,BorderFactory组件的使用,找了好久,可以看一看。

【java积累】为组件设置花样边框----BorderFactory的常用边框

package com.text1; import javax.swing.*; import javax.swing.border.Border; import javax.swing.border.TitledBorder; import java.awt.*; public class BorderUse { JFrame jFrame = new JFrame("BorderU...

jjf_jianFeng的博客 8678

20231126-超详细Isaac Gym安装教程(基于双系统版本)

我一开始使用了WSL2虚拟环境试了集群服务器里面的交互式桌面,但是都失败了,WSL2因为没办法调用系统的GPU,应该有办法配置但我放弃了,感兴趣的可以自己探索(图片贴出来了)。服务器上出现的问题是Segmentation fault (core dumped),目前还没解决,有可能是驱动和cuda版本的问题(后面有时间再解决)等上图右边都达到了100%,就创建了一个名为rlgpu的conda环境,然后会出现success。注意安装版本要低于3.9!参考链接:非常详细,大家直接看这个博主的安装就行。

m0_37802038的博客 2万+

BorderFactory

可以通过BorderFactory来设置边框的特性 border1=BorderFactory.createEmptyBorder(4,4,4,4); JPanel1.setBorder(border1); 设置边框为宽度为4的效果 setBorder(javax.swing.BorderFactory .createEtched

kaishihaohaozuoshi的博客 4823

宇树机器人G1二次开发:语音对话、打断与激活功能实现指南

宇树机器人G1是一款功能强大的四足机器人,其开放的SDK和API为开发者提供了广阔的二次开发空间。其中,语音交互是提升机器人智能化水平和用户体验的关键功能。本文将详细介绍如何在宇树机器人G1上进行二次开发,实现。语音打断允许用户在机器人说话时随时中断并输入新指令,这是提升交互自然度的关键功能。三大核心功能,帮助你构建更自然、更智能的人机交互系统。语音识别是将用户的语音输入转换为文本的过程。识别文本后,需要理解用户意图并生成回复。将文本回复转换为语音输出。

m0_52645558的博客 662

WorkBuddy结合DeepSeek与Skill:文献检索自动化与Token成本控制实战

Agent工具与大模型API的结合正重塑知识工作者的日常流程。在实际工程中,调用大模型处理批量任务常面临Token消耗过快、成本不可控的痛点,而国产大模型DeepSeek以极低的API定价和兼容OpenAI接口的特性,为规模化文本处理提供了“Token自由”的可能。同时,可复用的Skill机制能够将特定领域的工作流固化为标准化步骤,让Agent自动执行检索式生成、文献筛选与摘要归纳等复杂操作。本文从这一技术背景出发,以科研文献检索为应用场景,演示如何利用WorkBuddy、DeepSeek API与自建文献

weixin_29061509的博客 486

Border的使用

Border的使用 Border类是应用在描绘组件的边界,Border本身是一个interface,里面定义了3个方法,为getBorderInsets()、isBorderOpaque() 、与isBorderOpaque()、与paintBorder().若您想使用Border类来绘制你的窗口边界,您必须先实现(implements)这3个方法,可说 是有点麻烦。还好,java本身提供了另

kewb_2013的专栏 1503

手把手教你用组态王KingSCADA 3.53读取S7-1200 PLC数据(保姆级图文教程)

本文提供了一份详细的组态王KingSCADA 3.53读取S7-1200 PLC数据的实战教程,涵盖从硬件连接到软件配置、变量映射到故障排查的全流程。特别针对初学者常见问题提供解决方案,帮助工程师快速实现稳定通信,提升工业自动化系统效率。

weixin_26876073的博客 672

JBorder组件边框

Java的Border是用来呈现围绕Swing组件边缘边框的对象,它本身是一个接口,里面定义了paintBorder、getBorderInsets和isBorderOpaque三个需要实现的方法.如果想用自己的Border类来绘制组件的边框,必须实现这三个方法,里面有很多布局和绘制的问题,比较麻烦. Java为了方便使用,提供了虚拟类AbstractBorder,继承它就可以比较简单的实现...

weixin_30853329的博客 347

保姆级教程:在iQuant平台从零写一个Python量化策略(附完整代码示例)

本文提供了一份详细的iQuant平台Python量化策略开发教程,从环境准备到策略实现、回测优化,再到实盘运行,每个步骤都配有完整代码示例和常见问题解决方案。适合量化交易新手快速上手,掌握双均线策略等核心开发技巧。

weixin_42783709的博客 479

Habitat安装全网最详细教程,手把手带你跑通example.py(全网唯一)

全网最详细具身智能仿真平台habitat的安装教程

shannanshouyin的博客 2755

Swing编程边框(Border)的用法总结

对参数Border对象的定义主要通过BorderFactory进行,这也是本文讨论的重点,根据API的解释:BorderFactory提供标准Border对象的工厂类。在任何可能的地方,此工厂类都将提供对已共享Border实例的引用。下面讨论具体的应用方法: BorderFactory.createLineBorder(Color.red, 3) //线边框 BorderFac

ytlcainiao的专栏 5646

AI系统架构原理与代码实战案例讲解

人工智能的概念可以追溯到上世纪50年代,图灵测试的提出标志着人工智能作为一门学科的诞生。早期的研究主要集中在符号推理、专家系统等领域,取得了一些突破,例如机器定理证明、西洋跳棋程序等。上世纪80年代,随着专家系统的兴起,人工智能进入了一个黄金时期。专家系统通过模拟人类专家的知识和经验进行推理和决策,在医疗诊断、故障诊断等领域取得了成功应用。进入90年代,由于计算能力的限制和数据量的不足,人工智能的发展陷入低谷。近年来,随着深度学习技术的突破、大数据的兴起以及计算能力的提升,人工智能迎来了第三次发展浪潮,在图

AI天才研究院 1793

Java 边框类型setBorder BorderFactory

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_C

weixin_41999297的博客 3406

从地方政府网站抓取政务公开数据:Python爬虫技术详解

在本文中,我们通过具体实例介绍了如何使用Python编写爬虫,从地方政府门户网站抓取政务公开数据。我们使用了requestsSelenium等最新技术,结合SQLite数据库存储抓取的数据,最后使用matplotlib进行数据可视化分析。通过本项目,您可以掌握如何抓取政府网站的公开数据,并将其进行清洗、存储和分析。这些技术对于进行政府政策分析、公共服务分析等方面具有重要的实际意义。希望通过本文的介绍,您能够更好地理解政务数据抓取的流程和方法,并能在实际工作中运用这些技术进行数据采集和分析。

2201_76125261的博客 1701

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

java swing setborder_Swing-setBorder()用法-入门

注:本文内容转自:Swing编程边框(Border)的用法总结。内容根据笔者理解稍有整理。函数说明:public void setBorder(Borderborder)设置此组件的边框。Border 对象负责定义组件的 insets(直接对组件重写所有 insets 设置),并且可选地呈现这些 insets 范围内的边框装饰。要为 swing 组件创建有装饰的和无装饰的区域(例如边距和填充),...

weixin_35054319的博客 1831

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

java titledborder_Swing-setBorder()用法-入门

注:本文内容转自:Swing编程边框(Border)的用法总结。内容根据笔者理解稍有整理。函数说明:public void setBorder(Borderborder)设置此组件的边框。Border 对象负责定义组件的 insets(直接对组件重写所有 insets 设置),并且可选地呈现这些 insets 范围内的边框装饰。要为 swing 组件创建有装饰的和无装饰的区域(例如边距和填充),...

weixin_33511258的博客 1285

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Swing-setBorder()用法-入门

注:本文内容转自:Swing编程边框(Border)的用法总结。内容根据笔者理解稍有整理。 函数说明: public void setBorder(Borderborder) 设置此组件的边框。Border 对象负责定义组件的 insets(直接对组件重写所有 insets 设置),并且可选地呈现这些 insets 范围内的边框装饰。要为 swing 组件创建有装饰的和无装饰的区域(例如边...

weixin_34342905的博客 6414

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

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包

kfepiza的博客 1823

整理下swing的setborder

package Test;   import java.awt.*; import javax.swing.*; import javax.swing.border.*;   public class BorderDemo {     public static void main(String[] args

q799271891的博客 1244

《Java核心技术I》Swing中的边框

BorderFactory静态方法创建边框,凹斜面,凸斜面,蚀刻,直线,蒙版,空白。边框添加标题,BorderFactory.createTitledBorder。组合边框,BorderFactory.createCompoundBorder。JComponent的setBorder方法添加边框到组件。

输入知识,消化知识,输出知识,分享知识,教人让我学习更好,业精于勤荒于嬉,行成于思毁于随 344

Border边框的学习

/* * 边框Border的学习: * Border 编写边框常用的BorderFactory静态方法和JComponent的setBorder方法 * 静态方法和边框设置方法通常有: * Border createBevelBorder(int type) 其中type参数可以是BevelBorder.LOWERED或BevelBorder.RAISED * Border createEtche

BruceBaoZhiqiang的专栏 883

Swing,Border设置边框演示

package Assis; import java.awt.*; import java.awt.event.*; import javax.swing.border.*; import javax.swing.*; public class BorderDemo extends JFrame { private static final long serialVersio...

(Never Give Up)--(我的知识点滴) 758

java swing边框Border的使用

有多种不同形式的边框 Borderblackline,etched,raisedbevel,loweredbevel,empty; //黑色线边框 blackline=BorderFactory.createLineBorder(Color.BLACK); //创建蚀刻边框 etched= BorderFactory.createEtchedBorder(); //创建凸出边框 ra

superlidengke的专栏 1977

Java Swing:JPanel添加边框

一、JPanel添加不同边框的效果图如下所示 二、 不同边框样式的代码实现 1 JPanel jpanel = new JPanel(); 2 3 jpanel.setBorder(BorderFactory.你需要的样式); 4 5 BorderFactory.createLineBorder(Color.red, 3) //线边框...

aysk1112的博客 2437

java中jpanel显示边框_Swing如何向JPanel添加边框?

下面的示例展示了如何在Java Swing应用程序中向JPanel添加边框。使用以下API -BorderFactory.createLineBorder() - 创建线条边框。JPanel.setBorder(border) - 为JPanel设置所需的边框。示例package com.yiibai.swingdemo;import java.awt.BorderLayout;import ja...

weixin_39973492的博客 1437
上一篇: java 匿名内部类
下一篇: Java swing JTable 是什么
wu_android
博客等级 码龄10年 94粉丝 63原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值