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?

[2885 byte] By [jiong_ronga] at [2007-11-27 9:19:10]
# 1
answered here http://forum.java.sun.com/thread.jspa?threadID=5189817&tstart=0
Michael_Dunna at 2007-7-12 22:11:07 > top of Java-index,Desktop,Core GUI APIs...