テキストフィールドにツールチップを表示する

ツールチップとはテキストフィールドなどのコンポーネントのマウスを合わせた時、どんな目的で使用しているものかなど注釈を表示する機能です。ここではテキストフィールドにツールチップを表示する方法について解説します。

(2022 年 04 月 11 日公開 / 2022 年 04 月 11 日更新)

ツールチップの設定

テキストフィールドにマウスを合わせた時にコンポーネントの説明として表示されるツールチップの設定を行うには JTextField クラスの親クラスである JComponent クラスで定義されている setToolTipText メソッドを使います。

public void setToolTipText(String text)

ツールヒントに表示するテキストを登録します。 このテキストは、カーソルがコンポーネント上にあるときに表示されます。 詳細は、『The Java Tutorial』の「How to Use Tool Tips」を参照してください。

パラメータ:
text - 表示する文字列。テキストがnullの場合、このコンポーネントのツールヒントはオフ

引数にツールチップとして表示される文字列を表す String クラスのオブジェクトを指定します。

実際の使い方は次のようになります。

JTextField text = new JTextField();
text.setToolTipText("Please enter your name");
サンプルコード

それでは簡単なサンプルプログラムを作って試してみます。テキストエディタで次のように記述したあと、 JSample14_1.java という名前で保存します。

import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.JPanel;
import java.awt.Container;
import java.awt.BorderLayout;

class JSample14_1 extends JFrame{

  public static void main(String args[]){
    JSample14_1 frame = new JSample14_1("MyTitle");
    frame.setVisible(true);
  }

  JSample14_1(String title){
    setTitle(title);
    setBounds(100, 100, 600, 400);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    JTextField nameText = new JTextField("Yamada", 40);
    nameText.setToolTipText("Please enter your name");
    JTextField ageText = new JTextField("20", 40);
    ageText.setToolTipText("Please enter your age");

    JPanel p = new JPanel();
    p.add(nameText);
    p.add(ageText);

    Container contentPane = getContentPane();
    contentPane.add(p, BorderLayout.CENTER);
  }
}

次のようにコンパイルを行います。

javac JSample14_1.java

ツールチップの設定(1)

コンパイルが終わりましたら実行します。

java JSample14_1

テキストフィールドを 2 つ追加しました。 それぞれに異なるツールチップを設定してあります。

ツールチップの設定(2)

マウスをそれぞれのテキストフィールドに合わせると、設定されたツールチップが画面に表示されます。

ツールチップの設定(3)

ツールチップの設定(4)

-- --

テキストフィールドにツールチップを表示する方法について解説しました。

( Written by Tatsuo Ikura )

プロフィール画像

著者 / TATSUO IKURA

これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。