枠線を設定する
広告
スクロールペインの枠線の設定を行う方法を確認します。枠線の設定を行うにはJScrollPaneクラスの親クラスであるJComponentクラスで用意されている「setBorder」メソッドを使います。
public void setBorder(Border border)
このコンポーネントのボーダーを設定します。Border オブジェクトは、コンポー ネントのインセットを定義し (コンポーネントで直接設定されているインセット をオーバーライドする)、任意でそれらのインセットの境界内のボーダー装飾を 描画します。Swing コンポーネントで装飾領域および非装飾領域 (マージンお よびパディングなど) の両方を生成するには、インセットではなくボーダーを 使用する必要があります。単一のコンポーネント内で複数のボーダーを入れ子 にするには、複合ボーダーを使用できます。 技術的には JComponent を継承するどのオブジェクトにもボーダーを設定できま すが、標準の Swing コンポーネントの Look & Feel の実装の多くは、ユーザー 設定のボーダーでは正しく動作しません。通常、JPanel または JLabel 以外の 標準の Swing コンポーネントでボーダーを設定するときは、コンポーネントを JPanel に入れて、JPanel でボーダーを設定することをお勧めします。 これはバウンドプロパティーです。 パラメータ: border - このコンポーネントで描画されるボーダー
引数には枠線を表すクラスであるBorderインターフェースを実装したクラスのオブジェクトを指定します。Borderインターフェースについては『Borderインターフェース』を参照して下さい。
実際の使い方は次のようになります。
JScrollPane scrollpane = new JScrollPane(); Border panel = new BevelBorder(BevelBorder.RAISED); scrollpane.setBorder(border);
サンプルプログラム
では簡単なサンプルを作成して試してみます。
import javax.swing.*; import java.awt.Dimension; import java.awt.BorderLayout; import javax.swing.border.*; public class JScrollPaneTest5 extends JFrame{ public static void main(String[] args){ JScrollPaneTest5 frame = new JScrollPaneTest5(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setBounds(10, 10, 300, 200); frame.setTitle("タイトル"); frame.setVisible(true); } JScrollPaneTest5(){ JTextArea textarea = new JTextArea("JTextAreaを配置"); JScrollPane scrollpane = new JScrollPane(textarea); scrollpane.setPreferredSize(new Dimension(200, 120)); Border border = new BevelBorder(BevelBorder.RAISED); scrollpane.setBorder(border); JPanel panel = new JPanel(); panel.add(scrollpane); getContentPane().add(panel, BorderLayout.CENTER); } }
上記をコンパイルした後で実行すると次のように表示されます。
( Written by Tatsuo Ikura )
Profile
著者 / TATSUO IKURA
プログラミングや開発環境構築の解説サイトを運営しています。