SwingボーダーBorder
2989 ワード
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にネストすることで、2つのBorderオブジェクトを1つの枠線にマージします.
使用方法:
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にネストすることで、2つのBorderオブジェクトを1つの枠線にマージします.
// : 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);
}
} ///:~