Java SwingのJButtonでHTMLテキストを実装する方法
JButtonはAbstractButtonのサブクラスであり、Java Swingのコンポーネント階層において非常に重要な役割を担うクラスです。JButtonは、ログイン画面を持つアプリケーションなど、ユーザーに操作を促す場面で広く利用されています。
ボタンを押下・クリックすると、ActionListenerインターフェースを通じてアクションイベントが発生し、それに応じた処理を実行できます。また、JButtonにはテキストのみ、アイコンのみ、あるいはテキストとアイコンの両方を設定することが可能です。
さらに便利な点として、ボタンのラベルにHTMLタグを使用できるため、太字(bold)や斜体(italic)といった文字装飾を簡単に実現できます。通常のプレーンテキストでは表現できないリッチな表示が、追加のカスタム描画なしに行えるのが大きな魅力です。
サンプルコード
import java.awt.*;
import javax.swing.*;
public class JButtonHtmlTextTest extends JFrame {
private JButton jbutton1, jbutton2;
public JButtonHtmlTextTest() {
setTitle("JButtonHtmlText Test");
jbutton1 = new JButton("Normal Button");
jbutton1.setHorizontalAlignment(SwingConstants.CENTER);
add(jbutton1, BorderLayout.WEST);
jbutton2 = new JButton("HTML Text Button");
jbutton2.setHorizontalAlignment(SwingConstants.CENTER);
add(jbutton2, BorderLayout.EAST);
setSize(375, 250);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setVisible(true);
}
public static void main(String[] args) {
new JButtonHtmlTextTest();
}
}コードのポイント
jbutton1は通常のプレーンテキスト「Normal Button」を表示する標準的なボタンです。jbutton2のラベルにはHTMLタグ(<em>と<strong>)が含まれており、Swingが自動的にHTMLとして解釈して斜体・太字で描画します。BorderLayoutを使用して、2つのボタンをウィンドウの左右(WEST/EAST)に配置しています。
実行結果
このプログラムを実行すると、左側に通常のテキストボタン、右側にHTMLタグによって太字・斜体で装飾されたボタンが並んで表示されます。

このように、JButtonのテキストにHTMLを活用することで、フォントスタイルや色の変更など、見栄えの良いUIを少ないコード量で実装できます。
-
JavaでJPanelのpaintComponent()メソッドを実装する方法をわかりやすく解説
JPanelはJavaにおける軽量コンテナであり、それ自体は不可視(インビジブル)なコンポーネントとして扱われます。デフォルトのレイアウトにはFlowLayoutが採用されています。JPanelを生成した後は、Containerクラスから継承されたadd()メソッドを呼び出すことで、ボタンやラベルなどの他のコンポーネントをJPanelオブジェクトに自由に追加できます。 paintComponent()メソッドとは このメソッドは、単なる背景色の描画にとどまらず、JPanel上に独自の図形や画像などを描画したい場合に必要となります。paintComponent()メソッドはすでにJPanelクラ
-
JavaのJToggleButton実装ガイド:ON/OFF切替ボタンの作り方を解説
JToggleButtonとは JToggleButtonはAbstractButtonを拡張したクラスで、クリックするたびにONとOFFが切り替わるトグルボタンを実現するために使用されます。通常のボタンと異なり、押した状態を保持できるのが特徴です。 JToggleButtonの主な特徴 最初に押されたときは押し込まれた状態のままとなり、もう一度押してはじめて元の状態(押されていない状態)に戻ります。 ボタンが押されるたびにActionEventが発生します。 さらに、JToggleButtonはItemEventも発生させることができます。このイベントは、選択状態という概念を持つコンポー