| ■swingコンポーネント->Border |
|
ボーダーはコンポーネントの周囲に描画される境界線のことです。 直線、斜影、飾り縁など様々なボーダーがあります。コンポーネントはボーダーをひとつだけ保持できるが、ボーダーをネストさせることにより、複数のボーダーを付加できます。 |
|
|
|
|
| コンポーネントに境界線をつけるには |
| @new演算子を使って、ボーダークラスのコンストラクタからオブジェクトを生成 BevelBorder bevel = new BevelBorder(BevelBorder.RAISED); |
| ABorderFactoryクラスのクラスメソッドを使う。 BorderFactoryクラスは標準的な境界線を生成するためのクラスです。 BorderFactory.createRaisedBevelBorder(); など |
| SampleBorder.java |
| import java.awt.*; |
| import java.awt.event.*; |
| import javax.swing.*; |
| import javax.swing.border.*; |
| public class SampleBorder extends JFrame{ |
| Container contentPane; |
| String str[] = {"BevelBorder RAISED","BevelBorder LOWERED","CompoundBorder", |
| "EtchedBorder RAISED","EtchedBorder LOWERED","LineBorder","MatteBorder", |
| " SoftBevelBorder RAISED"," SoftBevelBorder LOWERED","TitledBorder"}; |
| JButton btn[] = new JButton[str.length]; |
| public SampleBorder() { |
| super("SampleBorder"); |
| addWindowListener(new WindowAdapter() { |
| public void windowClosing(WindowEvent e) { |
| System.exit(0); |
| } |
| }); |
| contentPane = getContentPane(); |
| contentPane.setLayout(new GridLayout(5,2)); |
| for(int i=0; i<str.length; i++){ |
| btn[i] = new JButton(str[i]); |
| contentPane.add(btn[i]); |
| } |
| btn[0].setBorder(BorderFactory.createRaisedBevelBorder()); |
| btn[1].setBorder(BorderFactory.createLoweredBevelBorder()); |
| btn[2].setBorder(BorderFactory.createCompoundBorder (BorderFactory.createLineBorder(Color.blue,4), BorderFactory.createEtchedBorder(BevelBorder.RAISED,Color.green,Color.gray))); |
| btn[3].setBorder(new EtchedBorder(BevelBorder.RAISED, getBackground().darker(),getBackground().brighter())); |
| btn[4].setBorder(new EtchedBorder(BevelBorder.LOWERED, getBackground().darker(),getBackground().brighter())); |
| btn[5].setBorder(BorderFactory.createLineBorder(Color.red)); |
| btn[6].setBorder(new MatteBorder(new ImageIcon("fmini_walk.gif"))); |
| btn[7].setBorder(new SoftBevelBorder(BevelBorder.RAISED)); |
| btn[8].setBorder(new SoftBevelBorder(BevelBorder.LOWERED)); |
| btn[9].setBorder(BorderFactory.createTitledBorder(str[9])); |
| setSize(490,500); |
| setVisible(true); |
| } |
| static public void main(String[] args) { |
| new SampleBorder(); |
| } |
| } |
| もどる |