Ejecuta este código de ejemplo, creo que te sirva. En él se crea un JTabbedPane con tres pestañas: ficha uno, ficha 2 y ficha 3. Cuando se elige la ficha 2 y se pulsa sobre el panel 2 se abre una ventana de consola donde aparece el mensaje "Has hecho click sobre el panel", si vuelves a hacer click te vuelve a aparecer el mensaje (sin cerrar la ventana de consola, porque si no no ves el mensaje) tantas veces como hagas click.
Para poder hacer uso de esta utilidad tienes que incluir:
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
Luego usando el nombre de tu panel (en el ejemplo el nombre es panel2 tienes que añadir un listener del evento del ratón mousePressed (click del ratón):
panel2.addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent me) {
System.out.println("Has hecho click sobre el panel");
}
});
En este caso mostramos un mensaje, pero en tu caso puedes invocar un método de otra clase o introducir el código que quieras.
Código:
import java.awt.*;
import javax.swing.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
//Ejemplo para post foro aprenderaprogramar.com
public class DemoJTabbedPane extends JFrame {
// configurar GUI
public DemoJTabbedPane() {
super( "Demo de JTabbedPane " );
// crear objeto JTabbedPane
JTabbedPane panelConFichas = new JTabbedPane();
// establecer pane11 y agregarlo al objeto JTabbedPane
JLabel etiqueta1 = new JLabel( "panel uno", SwingConstants.CENTER );
JPanel panel1 = new JPanel();
panel1.add( etiqueta1 );
panelConFichas.addTab( "Ficha uno", null, panel1, "Primer panel" );
// establecer panel2 y agregarlo al objeto JTabbedPane
JLabel etiqueta2 = new JLabel( "panel dos", SwingConstants.CENTER );
JPanel panel2 = new JPanel();
panel2.setBackground( Color.YELLOW );
panel2.add( etiqueta2 );
panelConFichas.addTab( "Ficha dos", null, panel2, "Segundo panel" );
panel2.addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent me) {
System.out.println("Has hecho click sobre el panel");
}
});
// establecer panel3 y agregarlo al objeto JTabbedPane
JLabel etiqueta3 = new JLabel( "panel tres" );
JPanel panel3 = new JPanel();
panel3.setLayout( new BorderLayout() );
panel3.add( new JButton( "Norte" ), BorderLayout.NORTH );
panel3.add( new JButton( "Oeste" ), BorderLayout.WEST );
panel3.add( new JButton( "Este" ), BorderLayout.EAST );
panel3.add( new JButton( "Sur" ), BorderLayout.SOUTH );
panel3.add( etiqueta3, BorderLayout.CENTER );
panelConFichas.addTab( "Ficha tres", null, panel3, "Tercer panel" );
// agregar objeto JTabbedPane al contenedor
getContentPane().add( panelConFichas );
setSize( 250, 200 );
setVisible( true );
} // fin del constructor
public static void main( String args[] )
{
DemoJTabbedPane demoPanelConFichas = new DemoJTabbedPane();
demoPanelConFichas.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
}
} // fin de la clase DemoJTabbedPane