对Swing Border的一个小总结:
使用方法:
TitledBorder nameTitle =new TitledBorder("FileName List");
JPanel panel1 = new new JPanel()
panel1.setBorder(nameTitle);
TitledBorder 该类实现在指定位置以指定对齐方式显示字符串标题的任意边框。
EtchedBorder 该类实现简单的浮雕化边框,它既可以是阴刻浮雕化边框,也可以是LineBorder 阳刻浮雕化边框。如果创建边框时未初始化任何高亮/阴影颜色,则这些颜色将从传递给 paintBorder() 方法的组件参数的背景色动态派生。
实现单色、任意厚度线边框的类。
MatteBorder 该类提供类似衬边的边框,衬边图案既可以是纯色也可以是平铺的图标。
BevelBorder 该类实现简单的双线斜面边框。
SoftBevelBorder实现某种斜面的类,这种斜面要么凸出要么凹入且拐角圆滑。
CompoundBorder一个复合 Border 类,通过将内部 Border 对象嵌套到外部 Border 对象的 insets 中实现将两个 Border 对象合并为一个单个边框。
例子:
Java代码
// : c14:Borders.java
// Different Swing borders.
//
// From 'Thinking in Java, 3rd ed.' (c) Bruce Eckel 2002
// www.BruceEckel.com. See copyright notice in CopyRight.txt.
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.GridLayout;
import javax.swing.JApplet;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.border.BevelBorder;
import javax.swing.border.Border;
import javax.swing.border.CompoundBorder;
import javax.swing.border.EtchedBorder;
import javax.swing.border.LineBorder;
import javax.swing.border.MatteBorder;
import javax.swing.border.SoftBevelBorder;
import javax.swing.border.TitledBorder;
public class Borders extends JApplet {
static JPanel showBorder(Border b) {
JPanel jp = new JPanel();
jp.setLayout(new BorderLayout());
String nm = b.getClass().toString();
nm = nm.substring(nm.lastIndexOf('.') + 1);
jp.add(new JLabel(nm, JLabel.CENTER), BorderLayout.CENTER);
jp.setBorder(b);
return jp;
}
public void init() {
Container cp = getContentPane();
cp.setLayout(new GridLayout(2, 4));
cp.add(showBorder(new TitledBorder("Title")));
cp.add(showBorder(new EtchedBorder()));
cp.add(showBorder(new LineBorder(Color.BLUE))); //单线边框
cp.add(showBorder(new MatteBorder(5, 5, 30, 30, Color.GREEN))); //设置四边框粗细和颜色
cp.add(showBorder(new BevelBorder(BevelBorder.RAISED))); //凸出边框
cp.add(showBorder(new SoftBevelBorder(BevelBorder.LOWERED))); //凹下边框
cp.add(showBorder(new CompoundBorder(new EtchedBorder(),
new LineBorder(Color.RED))));
}
public static void main(String[] args) {
run(new Borders(), 500, 300);
}
public static void run(JApplet applet, int width, int height) {
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(applet);
frame.setSize(width, height);
applet.init();
applet.start();
frame.setVisible(true);
}
} ///
分享到:
相关推荐
3. **边框事件处理**:Swing并没有直接提供专门的边框事件类,但可以通过添加组件的鼠标监听器(`MouseListener`)或鼠标移动监听器(`MouseMotionListener`)来捕获用户与边框的交互。例如,当用户点击边框时,可以...
Swing 编程边框(Border)的用法总结 Swing 编程边框(Border)是 Java 中一个常用的 UI 组件,用于设置控件的边框样式。通过 setBorder 方法可以设置边框,该方法是 JComponent 类的成员方法。 BorderFactory 是一个...
这个接口被`AbstractBorder`类实现,`AbstractBorder`是所有预定义Swing边框类(如`BevelBorder`, `CompoundBorder`, `EmptyBorder`, `EtchedBorder`, `LineBorder`, `MatteBorder`, `SoftBevelBorder` 和 `...
根据给定的信息,本文将详细解释如何在Java Swing框架中创建具有圆角效果的自定义按钮。这将涉及Swing的基本概念、自定义组件的方法以及如何实现特定的视觉效果。 ### Swing简介 Swing是Java平台的一个图形用户...
在开发过程中,Java Swing的组件可以通过调整各种属性来改变其外观,例如颜色、字体、边框等,从而实现漂亮的界面设计。同时,Swing还支持自定义布局管理器,这使得组件在不同尺寸的屏幕上都能够适应性地排列和展示...
- `javax.swing.border.*`: Swing边框样式。 ##### 2. 定义计算器类 ```java public class Calculator extends JApplet implements ActionListener { ``` - `extends JApplet`: 表示该计算器继承自`JApplet`类,...
- `javax.swing.border`:提供了各种边框(Border)类,允许开发者为组件添加不同的装饰效果。 - `javax.swing.colorchooser`:包含了`JColorChooser`类,用于创建颜色选择对话框。 - `javax.swing.event`:处理...
在Swing中,`Border`接口及其相关实现类是用于定制组件边框的关键工具。了解和熟练使用`Border`,可以帮助我们创建具有专业外观和感觉的应用程序。 `Border`接口位于`javax.swing.border`包中,它是所有边框类的父...
这个库特别注重细节,例如窗口边框、按钮、滚动条等组件的样式,使得Swing应用看起来更加专业和精致。 Substance库则是另一种Swing界面美化工具,它提供了超过50种不同的皮肤,每种皮肤都有多种颜色方案。Substance...
BeautyEye通过自定义的L&F(LookAndFeel)实现组件的美化,如窗口边框、按钮样式、菜单设计等。 3. **资源管理器**:这里提到的资源管理器是指一个用于浏览和管理文件系统的应用程序。它通常包含文件和目录的查看、...
(6)为组件增加边框 (7)处理事件 (8)辅助技术支持 导入 下面语句导入Swing包 import javax.swing.*; 大部分Swing程序用到了AWT的基础底层结构和事件模型,因此需要导入两个包: import java.awt.*; import java....
然而,有时候我们希望为`JFrame`添加更丰富的视觉效果,比如阴影边框和透明窗口。在给定的场景中,我们将探讨如何实现`JFrame`的窗口透明以及添加阴影边框效果。 首先,要实现`JFrame`的透明,我们需要设置`JFrame`...
Border对象是Swing中的一种基本组件,用于设置组件的边框。Border对象可以是各种不同的边框样式,例如BevelBorder、LineBorder、EmptyBorder、EtchedBorder、TitledBorder等。这些边框可以单独使用,也可以组合使用...
- `javax.swing.border`: 提供Swing组件的边框功能。 - `javax.swing.event`: 定义了Swing的事件模型和监听器。 - `javax.swing.plaf`: 定义了UI代理的行为。 - `javax.swing.plaf.metal`: 实现Metal风格的UI...
标题中的"8款完美Swing皮肤"指的是有八种不同的LookAndFeel设计,这些设计可能包括各种颜色主题、边框样式、图标集等,旨在提升Swing应用的美观性和用户体验。每款皮肤都经过了“完美修复”,意味着它们已经解决了...
Swing是Java的一种图形用户界面(GUI)工具包,它是Java Foundation Classes (JFC)的一部分,用于构建桌面应用程序。Swing提供了丰富的组件集,包括按钮、文本框、表格、菜单等,使得开发者能够创建功能丰富的、交互式...
3. 边框:Swing提供了多种内置边框类型,如etched、line、empty等。通过`BorderFactory`可以创建各种边框效果,增强组件视觉效果。 4. 图标:组件可以设置图标,例如按钮的图标、菜单项的图标等,使用`setIcon()`...
但为了实现圆角边框,我们可以使用`javax.swing.BorderFactory`类的工厂方法,结合`javax.swing.JComponent`的`setBorder`方法。然而,这些方法无法直接创建带有圆角的边框,因此我们需要使用`java.awt.geom.Round...
这可以通过重写`paintComponent()`方法,或者使用`Border`和`Icon`对象来改变组件的边框和图标。 4. **刷新界面**: 更改LookAndFeel后,必须调用`SwingUtilities.updateComponentTreeUI()`方法来刷新所有的Swing...