JtabbedPane (abas)

2 respostas
gqferreira
Olá pessoal! :thumbup: :thumbup: :thumbup: Tudo bem com vocês?! :wink: Amigos, estou com uma dúvida que não estou consiguindo achar em lugar algum: Como colocar um evento na hora que eu clicar em uma aba do JtabbedPane? Por exemplo: quando clicar na aba 2 quero que mostre uma mensagem. Segue um código modelo só para facilitar os teste.
package testesGUJ;

import java.awt.event.FocusAdapter;
import java.awt.event.FocusEvent;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JSlider;
import javax.swing.JTabbedPane;

public class Abas extends JFrame {

	public static void main(String[] args) {
		Abas tab = new Abas();
		tab.setVisible(true);
	}

	public Abas() {
		super();
		
		getContentPane().setLayout(null);
		this.setSize(500,500);
		this.setLocationRelativeTo(null);
		this.setTitle("Testando eventos das abas");
		this.setResizable(false);

		final JTabbedPane tabbedPane = new JTabbedPane();
		tabbedPane.setBounds(0, 0, 502, 371);
		getContentPane().add(tabbedPane);

		final JPanel panel = new JPanel();
		
		panel.setLayout(null);
		tabbedPane.addTab("Tab 1", null, panel, null);

		final JSlider slider = new JSlider();
		slider.setBounds(133, 144, 200, 16);
		panel.add(slider);

		final JPanel panel_1 = new JPanel();
		panel_1.setLayout(null);
		tabbedPane.addTab("Tab 2", null, panel_1, null);

		final JCheckBox checkBox = new JCheckBox();
		checkBox.setBounds(170, 130, 118, 24);
		checkBox.setText("New JCheckBox");
		panel_1.add(checkBox);

		final JPanel panel_2 = new JPanel();
		panel_2.setLayout(null);
		tabbedPane.addTab("Tab 3", null, panel_2, null);

		final JRadioButton radioButton = new JRadioButton();
		radioButton.setText("New JRadioButton");
		radioButton.setBounds(180, 141, 129, 24);
		panel_2.add(radioButton);

	}

}
Valeu gente! :thumbup: :thumbup: :thumbup:

2 Respostas

davidtiagoconceicao

http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/JTabbedPane.html#addChangeListener(javax.swing.event.ChangeListener)

http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/JTabbedPane.html#fireStateChanged()

Acho que deve resolver.

AssemblyXP

cara… desabilita o setResizable para true… e da um :

getContentPane().setLayout(new GridLayout()); getContentPane().add(tabbedPane);

que daí ele redimensiona a tela, bem como a TabbedPane. testa aii… não é a sua real nescessidade… mais fica uma aplicação DIGNA…

VLWSSS

Criado 5 de fevereiro de 2009
Ultima resposta 27 de nov. de 2011
Respostas 2
Participantes 3