java swing setborder_Swing-setBorder()用法-入门
注:本文内容转自:Swing编程边框(Border)的用法总结。内容根据笔者理解稍有整理。
函数说明:
public void setBorder(Border border)
设置此组件的边框。Border 对象负责定义组件的 insets(直接对组件重写所有 insets 设置),并且可选地呈现这些 insets 范围内的边框装饰。要为 swing 组件创建有装饰的和无装饰的区域(例如边距和填充),应该使用边框(而不是 insets)。在单个组件中可使用复合边框来嵌套多个边框。 虽然从技术上讲可以在继承自 JComponent 的所有对象上设置边框,但是很多标准 Swing 组件的外观实现无法正常地使用用户设置的边框。通常,如果希望在标准的 Swing 组件而不是 JPanel 或 JLabel 上设置边框时,建议将组件放入 JPanel 中,并在 JPanel 上设置边框。
Border对象的定义主要通过BorderFactory进行,这也是本文讨论的重点,根据API的解释:BorderFactory提供标准Border对象的工厂类。在任何可能的地方,此工厂类都将提供对已共享Border实例的引用。下面讨论具体的应用方法:
importjava.awt.Color;importjava.awt.Dimension;importjava.awt.GridLayout;import javax.swing.*;importjavax.swing.border.Border;importjavax.swing.border.TitledBorder;public classsetBorderDemo {public static voidmain(String[] args) {//TODO Auto-generated method stub
JPanel panel = newJPanel();
panel.setLayout(new GridLayout(0, 2, 5, 10));
panel.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));
JButton p1= newJButton();
p1.setBorder(BorderFactory.createLineBorder(Color.red,3));
p1.add(new JLabel("线边框"));
panel.add(p1);
JPanel p2= newJPanel();
p2.setBorder(BorderFactory.createEtchedBorder());
p2.add(new JLabel("蚀刻边框"));
panel.add(p2);
JPanel p3= newJPanel();
p3.setBorder(BorderFactory.createRaisedBevelBorder());
p3.add(new JLabel("斜面边框(凸)"));
panel.add(p3);
JPanel p4= newJPanel();
p4.setBorder(BorderFactory.createLoweredBevelBorder());
p4.add(new JLabel("斜面边框(凹)"));
panel.add(p4);
JPanel p5= newJPanel();
p5.setBorder(BorderFactory.createTitledBorder("标题"));
p5.add(new JLabel("标题边框"));
panel.add(p5);
JPanel p6= newJPanel();
TitledBorder tb= BorderFactory.createTitledBorder("标题");
tb.setTitleJustification(TitledBorder.RIGHT);
p6.setBorder(tb);
p6.add(new JLabel("标签边框(右)"));
panel.add(p6);
JPanel p7= newJPanel();
p7.setBorder(BorderFactory.createMatteBorder(1, 5, 1, 1, Color.yellow));
p7.add(new JLabel("花色边框"));
panel.add(p7);
JPanel p8= newJPanel();
Border b1= BorderFactory.createLineBorder(Color.blue, 2);
Border b2=BorderFactory.createEtchedBorder();
p8.setBorder(BorderFactory.createCompoundBorder(b1, b2));
p8.add(new JLabel("组合边框"));
panel.add(p8);
JFrame frame= new JFrame("Swing边框演示");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(panel);
frame.pack();
frame.setVisible(true);
}
}
运行效果如下图所示:
运行效果图
需注意的是,panel与frame之间其实是有一个宽度为5像素的emptyBorder,它只占空间而不显示。
原文:http://www.cnblogs.com/pzy4447/p/4573140.html
java swing setborder_Swing-setBorder()用法-入门相关推荐
- java swing setborder_Swing编程边框(Border)的用法总结
2. 下面列出程序的完整实现代码: Java示例: package Test; import java.awt.*; import javax.swing.*; import javax.swing. ...
- java buttongroup方框_「buttongroup」关于Java Swing ButtonGroup获取用法 - seo实验室
buttongroup 简单事例代码: Jradiobuttonb1 = new JRadioButton("b1"); JRadioButtonb2 = new JRadioBu ...
- 关于Java Swing ButtonGroup获取用法
简单事例代码: JRadioButtonb1 = new JRadioButton("b1"); JRadioButtonb2 = new JRadioButton("b ...
- Java Swing入门
Java Swing相当于升级版本的AWT(Abstract Window Toolkit),是一组易于使用和理解的JavaBeans. 大多数的Swing应用都是建立在基础的JFrame的内部,JF ...
- Java Swing框架实战
Java Swing框架介绍 Swing 是一个为Java设计的GUI工具包.(PC的一个UI库) Swing是JAVA基础类的一部分. Swing包括了图形用户界面(GUI)器件如:文本框,按钮,分 ...
- 基于Java Swing界面编程教学
基于Java Swing界面编程 Swing是Java基础类的一部分,是一个为Java设计的GUI工具包. Swing包含了诸多图形用户界面(GUI)器件,提供了许多比awt更好的屏幕显示元素. 本教 ...
- 【java毕业设计】基于java+swing+Eclipse的俄罗斯方块游戏GUI设计与实现(毕业论文+程序源码)——俄罗斯方块游戏
基于java+swing+Eclipse的俄罗斯方块游戏GUI设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+swing+Eclipse的俄罗斯方块游戏GUI设计与实现,文章末尾 ...
- Java项目:潜艇大战项目(java+swing)
源码获取:博客首页 "资源" 里下载! 功能简介: Java swing实现的一款小游戏潜艇大战的项目源码 游戏界面: @SuppressWarnings({ "unus ...
- 我应该避免在Java Swing中使用set(Preferred | Maximum | Minimum)Size方法吗?
本文翻译自:Should I avoid the use of set(Preferred|Maximum|Minimum)Size methods in Java Swing? Several ti ...
- java swing实现计算器_Java swing实现的计算器功能完整实例
本文实例讲述了Java swing实现的计算器功能.分享给大家供大家参考,具体如下: package awtDemo; import java.awt.*; import java.awt.event ...
最新文章
- Android 基于 Speex 的高度封装语音库,0 耦合,没三方jar包
- JavaScript服务器端开发基础之Math对象小结
- (原創) 如何將CMOS所擷取的影像傳到PC端? (SOC) (DE2) (TRDB-DC2)
- 【8】青龙面板系列教程之nolanjdc的一键安装获取cookie【作者删库了,不用尝试了】
- Linux常用命令大全(转载收藏)
- git rebase 的常见冲突及解决办法
- 简约好看的域名售卖页html源码
- 机器人视觉场景理解挑战赛
- WINDOWS7都谢幕了,微软为何不出个补丁包?
- jms与ActivityMQ中的简单使用
- 动态添加 data 属性的时候 发现某一个值无法取到
- 如何一次将蓝牙耳机连接到多个设备
- 电脑系统故障维修,系统C盘满了怎么办?教你c盘清理方法
- 1058: 素数判定
- iOS 在itunes connect创建App内购项目时遇到的坑
- 坐式养生八段锦口诀及练法图解
- CKEditor和CKFinder及CKEditor配置属性说明
- 软件直接爬取数据——以MOOC课程数据为例+现已公开的数据库(网盘分享)
- java中的applet的问题
- 利用MDK软件生成bin文件的简单方法
热门文章
- 机器人门窗共亨_机器人来了!门窗生产成本降低70%
- Dynamics 365: 详解插件的执行深度(PluginExecutionContext.Depth)
- 计算机ppt操作知识,职称计算机知识:Powerpoint幻灯片操作
- 【计算机视觉 | 目标检测】CORA: Adapting CLIP for Open-Vocabulary Detection with Region Prompting and Anchor
- B站韩顺平老师超全超详细的Java企业级学习路线图(后期整理每一小部分的学习内容)
- 【模拟登录】Pythoncookie17k
- 关于在python中如何使用pandas库读取excel表格后 删除含有空值的列
- openGauss全密态黑科技再升级,无感知加解密原理剖析
- 充满未来和科幻的界面设计FUI在国内还没有起步在国外早起相当成熟
- vivado:生成比特流报错-约束Bank电平冲突