发表文章

[最新] Java Swing Border(Swing 边框) 归纳

iteye17172 2010-5-27 0

对Swing Border的一个小总结:
使用方法:
TitledBorder nameTitle =new TitledBorder("FileName List");
JPanel panel1 = new new JPanel()
panel1.setBorder(nameTitle);

[b]TitledBorder[/b] 该类实现在指定位置以指定对齐方式显示字符串标题的任意边框。
[b]EtchedBorder[/b] 该类实现简单的浮雕化边框,它既可以是阴刻浮雕化边框,也可以是[b]LineBorder [/b]阳刻浮雕化边框。如果创建边框时未初始化任何高亮/阴影颜色,则这些颜色将从传递给 paintBorder() 方法的组件参数的背景色动态派生。
实现单色、任意厚度线边框的类。
[b]MatteBorder [/b]该类提供类似衬边的边框,衬边图案既可以是纯色也可以是平铺的图标。
[b]BevelBorder [/b]该类实现简单的双线斜面边框。
[b]SoftBevelBorder[/b]实现某种斜面的类,这种斜面要么凸出要么凹入且拐角圆滑。
[b]CompoundBorder[/b]一个复合 Border 类,通过将内部 Border 对象嵌套到外部 Border 对象的 insets 中实现将两个 Border 对象合并为一个单个边框。

例子:

// : c14:Borders.java
// Different Swing borders.
// <applet code=Borders width=500 height=300></applet>
// 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);
}
} ///:~


[img]http://www.kutoku.info/images/java/border/Borders.PNG[/img]
相关推荐
最新评论 (0)
返回
发表文章
iteye17172
文章数
320
评论数
0
注册排名
1340004