JTabbedPane problem
This is the example of coding:
** Tabmain.java **
============================================
import java.awt.*;
import java.awt.event.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.*;
public class Tabmain extends JFrame{
JTabbedPane tab;
public Tabmain(){
super();
addWindowListener( new WindowAdapter() {
public void windowClosing(WindowEvent e)
{System.exit(0);}});
getContentPane().setLayout(new BorderLayout());
tab = new JTabbedPane();
Tab1 t1 = new Tab1();
Tab2 t2 = new Tab2();
t2.txt2.setDocument(t1.txt1.getDocument());
tab.add("Tab1",t1);
tab.add("Tab2",t2);
getContentPane().add(tab,BorderLayout.CENTER);
this.setSize(500,400);
this.setVisible(true);
}
public static void main(String args[]){
Tabmain tabmain = new Tabmain();
}
}
** Tab1.java **
===========================================
import java.awt.*;
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Tab1 extends JPanel{
public JTextField txt1;
private JButton jb;
private JPanel panel1;
Tabmain tabmain;
public Tab1(){
super();
this.setLayout(new BorderLayout());
this.add(getPanel1());
}
public JPanel getPanel1(){
panel1 = new JPanel();
panel1.setLayout(new BorderLayout());
txt1 = new JTextField();
txt1.setBounds(new Rectangle(10, 10, 100, 12));
panel1.add(txt1,BorderLayout.NORTH);
jb = new JButton("OK");
jb.addActionListener(new Action());
panel1.add(jb,BorderLayout.SOUTH);
return panel1;
}
class Action implements ActionListener{
public void actionPerformed(ActionEvent event){
String jbtxt = ((JButton)event.getSource()).getText();
SwingUtilities.invokeLater(new Runnable() {
public void run() {
tabmain.tab.setSelectedIndex(1);
}
});
}
}
}
** Tab2.java **
===============================================
import java.awt.*;
import javax.swing.*;
public class Tab2 extends JPanel{
public JTextField txt2;
private JPanel panel2;
public Tab2(){
super();
this.setLayout(new BorderLayout());
this.add(getPanel2());
}
public JPanel getPanel2(){
panel2 = new JPanel();
panel2.setLayout(new BorderLayout());
txt2 = new JTextField();
txt2.setBounds(new Rectangle(10, 10, 100, 12));
panel2.add(txt2,BorderLayout.NORTH);
return panel2;
}
}
## anyone can help me how to coding in the action performanced events of a JButton when I press, then it will switch to Tab2?

