Namen von Tabs einer JTabbedPane ändern.

Moin,
es ist fast immer hilfreich, in die API zu schauen:

void setTitleAt(int index, String title)
Sets the title at index to title which can be null.
 
Hallo!

Schau mal hier:
Code:
/*
 * Created on 24.02.2005
 *
 */
package de.tutorials;

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;
import javax.swing.JTextField;

/**
 * @author TDarimont
 */
public class JTabbedPaneExample extends JFrame {

	private JButton btnChangePaneText;

	private JTabbedPane tabbedPane;

	private JTextField txtTitle;

	private JPanel pane0, pane1;

	public JTabbedPaneExample() {
		super("JTabbedPaneExample");
		setDefaultCloseOperation(EXIT_ON_CLOSE);

		tabbedPane = new JTabbedPane();
		pane0 = new JPanel();
		pane1 = new JPanel();

		tabbedPane.add("Pane0", pane0);
		tabbedPane.add("Pane1", pane1);

		getContentPane().add(tabbedPane, BorderLayout.CENTER);
		JPanel panel = new JPanel(new BorderLayout());
		btnChangePaneText = new JButton("Rename Selected Pane");
		btnChangePaneText.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				String name = txtTitle.getText();
				if (!name.equals(""))
					tabbedPane.setTitleAt(tabbedPane.getSelectedIndex(), name);
			}
		});
		txtTitle = new JTextField(20);
		panel.add(txtTitle, BorderLayout.CENTER);
		panel.add(btnChangePaneText, BorderLayout.EAST);

		getContentPane().add(panel, BorderLayout.SOUTH);

		pack();
		setVisible(true);
	}

	public static void main(String[] args) {
		new JTabbedPaneExample();
	}
}

Gruß Tom
 
Zurück