确切的说:
    是:
    让我的jb2通过点击,实现jb1“从不可用”变成“可用”的状态.
    并且,这个过程,是要在用户眼前:“JFrame窗口中的jb1从不可用变化为可用”.

解决方案 »

  1.   


    import java.awt.BorderLayout;
    import java.awt.Rectangle;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JPanel;public class MyTest extends JFrame
    {
    /**
         * 
         */
    private static final long serialVersionUID = 1L;
    JButton jb1 = new JButton("jb1");
    JPanel jp = new JPanel();
    MyJButton00 jb2 = new MyJButton00("jb2", jb1, this); public static void main(String[] args)
    {
    new MyTest();
    } public MyTest()
    {
    this.setBounds(new Rectangle(200, 100, 800, 200));
    jp.setLayout(new BorderLayout());
    jb1.setEnabled(false);
    jp.add(jb1, BorderLayout.NORTH);
    jp.add(jb2, BorderLayout.CENTER);
    this.add(jp);
    this.setVisible(true);
    }}
    class MyJButton00 extends JButton
    {
    /**
         * 
         */
    private static final long serialVersionUID = 1L;
    JButton jb = null;
    MyTest jf = null; public MyJButton00(String str, JButton jb0, MyTest jf0)
    {
    super(str);
    addActionListener(new ActionListener()
    {

    @Override
    public void actionPerformed(ActionEvent e)
    {
    jb.setEnabled(true);
    }
    });
    jb = jb0;
    jf = jf0;
    }
    }
    应该用AddActionListener而不是实现接口