Swing の JTabbedPane のタブ切り替えイベント

ここでは JTabbedPane のタブ切り替えイベントについて説明します。

JTabbedPane の基本的な利用方法については「タブ表示 JTabbedPane の使い方」 をみてください。 この記事はほぼ同じサンプルコードを利用して説明します。

さて、ここでは次のようにタブ切り替えイベントをとらえて、選択されたタブのタイトルを表示してみましょう。

タブが切り替わった時に JTabbedPane では、チェンジイベント ChangeEvent が発生します。

JTabbedPaneaddChangeListener メソッドで ChangeListener を設定すれば、 リスナーにて ChangeEvent を取得することができます。

package com.keicode.java.testapp;
...
import javax.swing.JTabbedPane;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;

@SuppressWarnings("serial")
public class TabTest1 extends JFrame {

	JTabbedPane tabbedPane;
	
	public TabTest1() {
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setSize(300, 150);
		
		// TabbedPane
		tabbedPane = new JTabbedPane();
		tabbedPane.addChangeListener(new ChangeListener() {
			@Override
			public void stateChanged(ChangeEvent e) {
				int selIndex = tabbedPane.getSelectedIndex();
				String t = tabbedPane.getTitleAt(selIndex);
				System.out.println("Selected tab: " + t);
			}
		});
		add(tabbedPane);

	...

現在のタブのインデックスは getSelectedIndex メソッドで取得ででき、 特定のインデックスにあるタブのタイトルは getTitleAt メソッドで直ちに取得できます。

ここまでお読みいただき、誠にありがとうございます。SNS 等でこの記事をシェアしていただけますと、大変励みになります。どうぞよろしくお願いします。

© 2024 Java 入門