java - personalizar - ¿Cómo cambiar las pestañas en jTabbedPane haciendo clic en un botón?
tree swing java (5)
¡Sólo! Con:
JTabbedPane.setSelectedComponnet(component);
Tengo dos JTabbedPanes, JTabbedPane1 y 2 ¿Cómo puedo pulsar el botón en JTabbedPane2 para mostrar JTabbedPane1?
Aquí está el código para JTabbedPane:
public class TabbedPane extends JFrame {
public TabbedPane() {
setTitle("Tabbed Pane");
setSize(300,300);
JTabbedPane jtp = new JTabbedPane();
getContentPane().add(jtp);
JPanel1 jp1 = new JPanel1();//This will create the first tab
JPanel jp2 = new JPanel2();//This will create the second tab
//add panel .........
//example usage
public static void main (String []args){
TabbedPane tab = new TabbedPane();
}
}
Aquí está la clase JPane1:
... JLabel label1 = new JLabel();
label1.setText("This is Tab 1");
jp1.add(label1);
y clase Jpane2 con botón en int
Prueba de JButton = nueva JButton ("Prensa"); jp2.add (prueba);
ButtonHandler phandler = new ButtonHandler();
test.addActionListener(phandler);
setVisible(true);
} así que el problema está aquí en ActionListener del botón en Jpanel2
class ButtonHandler implements ActionListener{
public void actionPerformed(ActionEvent e){
// what i do now ? to call jpanel 1 show ![alt text][1]
}
}
Al igual que para agregar que su oyente de acción tiene que estar en la misma clase que sus pestañas.
Debe utilizar el método JTabbedPane.setSelectedIndex(int index)
con el índice de la pestaña que desee.
Si hace que el panel de pestañas sea accesible para ButtonHandler, puede hacer esto:
class ButtonHandler implements ActionListener{
public void actionPerformed(ActionEvent e){
jtp.setSelectedIndex(0);
}
}
Puede hacer esto haciendo que jtp (idealmente con un mejor nombre) sea un atributo privado con un método getter o se puede pasar como un argumento de constructor a ButtonHandler.
es muy simple: use el siguiente código:
JTabbedpane.setSelectedIndex();
Cualquiera que sea el nombre de usted, J Panel, reemplácelo con el JTabbedpane anterior y, por ejemplo, desea seleccionar las primeras pestañas, simplemente coloque 0 entre corchetes y si desea seleccionar la segunda pestaña, coloque 1 entre paréntesis, por ejemplo: mi panel con pestañas J es Se llama jtabbedpanel y quiero la primera pestaña, entonces la línea se verá así:
jtabbedpanel.setSelectedIndex(0);
¡¡espero que esto ayude!!