appendix> Component> JButton TOPUPPREVNEXT

 javax.swing.JButton

【主な機能】

押しボタンを生成し、ボタンがクリックされた場合の処理を登録します。

【継承関係】


    java.lang.Object
       └java.awt.Component
            └java.awt.Container
                 └javax.swing.JComponent
                       └javax.swing.AbstractButton
                             └javax.swing.JButton
  

【主なコンストラクタ】

コンストラクタ機能
JButton ( ) テキストもアイコンも付いていないボタンを生成します。
JButton ( String text ) 文字列 text を表示したボタンを生成します。
JLabel ( Icon image ) アイコン image の付いたボタンを生成します。
JLabel ( String text, Icon image ) 文字列 text と、アイコン image の両方を表示したボタンを生成します。

【よく使われるメソッド】

JButton のメソッドもありますが、あまり使われません。 以下のよく使われるメソッドは、すべて親クラス AbstructButton から継承したものです。
メソッド機能
void addActionListener ( ActionListener a ) ボタンに アクションリスナ a を登録します。
void setActionCommand ( String ac )

String getActionCommand ( )
ボタンにアクションコマンドを設定したり、取得したりします。 アクションコマンドは文字列で、ボタンの識別に使います。
設定せずにゲットすると setText で設定された文字列が得られます。
void setEnabled ( boolean b ) ボタンを enable (有効) にしたり、 disable (無効) にしたりします。
b は次のいずれか:
  • true ... ボタンを有効にする
  • false ... ボタンを無効にする
void setFocusPainted ( boolean b ) ボタンにフォーカスがあたったことを明示するか否かを指定します。
b は次のいずれか:
  • true ... フォーカスを表示する
    通常、青い枠線が表示されます。
  • false ... フォーカスを表示しない
void setIcon ( Icon image ) ボタンに表示するアイコンを指定します。
void setText ( String text ) ボタンに表示する文字列を指定します。
void setPressedIcon ( Icon image ) ボタンが押されているときに表示すべきアイコンを指定します。
void setDisabledIcon ( Icon image ) ボタンが disable になったときに表示されるアイコンを指定します。
void setHorizontalAlignment ( int ha ) 横方向の配置を ha で指定します。 ha は次のいずれか:
  • SwingConstants.LEFT      ... 左詰め
  • SwingConstants.CENTER    ... 中央揃え
  • SwingConstants.RIGHT     ... 右詰め
  • SwingConstants.LEADING   ... (注1)
  • SwingConstants.TRAILING  ... (注2)
デフォルトは RIGHT。
void setVerticalAlignment ( int htp ) 縦方向の配置を指定します。 va は次のいすれか:
  • SwingConstants.TOP      ... 上に配置
  • SwingConstants.CENTER   ... 中央に配置
  • SwingConstants.BOTTOM   ... 下に配置
デフォルトは CENTER。
void setHorizontalTextPosition ( int htp ) イメージとテキストの両方がある場合に、 テキストの横方向の相対位置を htp で指定します。 htp は次のいずれか:
  • SwingConstants.LEFT      ... 左に配置
  • SwingConstants.CENTER    ... 中央に配置
  • SwingConstants.RIGHT     ... 右に配置
  • SwingConstants.LEADING   ... (注1)
  • SwingConstants.TRAILING  ... (注2)
デフォルトは RIGHT。
void setVerticalTextPosition ( int vtp ) アイコンとテキストの両方がある場合に、 テキストの縦方向の相対位置を vtp で指定します。 vtp は次のいずれか:
  • SwingConstants.TOP      ... 上に配置
  • SwingConstants.CENTER   ... 中央に配置
  • SwingConstants.BOTTOM   ... 下に配置
デフォルトは CENTER。

(注1)左から右に書く言語では左詰め、右から左へ書く言語では右詰め。
(注2)左から右に書く言語では右詰め、右から左へ書く言語では左詰め。

【例1】

ボタンをクリックして画面の背景色が変えてみましょう。

プログラム ColorButton.java

実行結果

実行直後

「青」ボタンをクリック

「赤」ボタンをクリック

実行結果

青をクリック

赤をクリック

プログラムの解説

【例2】

ボタンを enabel にしたり、 disable にしたりしてみましょう。

プログラムの実行には  niko.gif、  niko1.gif、  niko2.gif  が必要です。 プログラムと同じフォールダにダウンロードしてください。 このプログラムで使用している主なメソッドは:

プログラム ButtonDemo2.java

実行結果

ButtonDemo2-1.jpg   ButtonDemo2-2.jpg   ButtonDemo2-3.jpg

【例3】

setVerticalTextPosition の働きをしらべましょう。

プログラムの実行には  niko.gif、  が必要です。 プログラムと同じフォールダにダウンロードしてください。

プログラム ButtonDemo6.java

実行結果

ButtonDemo6-1.jpg

ButtonDemo6-2.jpg

ButtonDemo6-3.jpg

【例4】

Swing の ボタン、メニュー項目、ラベル、タブ付きペインおよび tree と table のようにラベルを用いるコンポーネントでは、テキストに HTML( Hyper Text Markup Language ) を記述できます。

たとえば、次のようなボタンを生成すると図のようなボタンが表示されます。

JButton button = new JButton(
"<HTML><P ALIGN=CENTER>ここを<BR>" +
"<FORT COLOR=RED>2回</FONT><BR>クリック" +
"してください</P></HTML>");

qandab18-1.gif

プログラム HTMLButton.java


更新日:2004-04-09