addFocusListener(),然后在focusLost()里面写自己的事情

解决方案 »

  1.   

    第一个问题:
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    public class TabDemo extends JPanel implements ActionListener
    {
    static JFrame myFrame;
    JTabbedPane tabs;
    JPanel PanelA,PanelB;
    public TabDemo()
    {
    tabs=new JTabbedPane(SwingConstants.TOP);
    PanelA=new JPanel();
    JButton btn=new JButton("Show PanelB");
    btn.addActionListener(this);
    PanelA.add(btn);
    PanelA.setBackground(Color.red);
    PanelB=new JPanel();
    PanelB.setBackground(Color.blue);
    tabs.addTab("PA",PanelA);
    tabs.addTab("PB",PanelB);
    setLayout(new BorderLayout());
    add(tabs,BorderLayout.CENTER);
    }
    public void actionPerformed(ActionEvent e)
    {
    tabs.setSelectedComponent(PanelB);

    }
    public static void main(String[] args)
    {
    myFrame=new JFrame();
    TabDemo tabDemo=new TabDemo();
    myFrame.getContentPane().add("Center",tabDemo);
    myFrame.setSize(300,200);
    myFrame.show();
    }
    }
      

  2.   

    就是setSelectedComponent()方法的应用