写个方法去改变TextField内容就可以了,在button触发的时候调用。-------------------------------继承JFrame---------------------------------------import javax.swing.JFrame;
import javax.swing.JButton;
import javax.swing.JPanel;
import java.awt.BorderLayout;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;public class TestFrame extends JFrame {
  JButton button_1, button_2; //两个按钮
  JPanel pane; //放两个按钮的JPanel
  TestPane testPane; //继承JPanel的类,类中有个JTextField
  int i = 0; //点按钮的次数
  /**
   * 构造
   */
  public TestFrame() {
    testPane = new TestPane();
    button_1 = new JButton("按钮_1");
    button_2 = new JButton("按钮_2");
    button_1.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent actionEvent) {
        i++;
        testPane.setPaneText("响应——" + i);
      }
    });
    pane = new JPanel(); //将两个按钮加入pane
    pane.add(button_1);
    pane.add(button_2);
    this.getContentPane().add(testPane); //加入继承自JPanel的类
    this.getContentPane().add(pane, BorderLayout.NORTH); //将带有两个按钮的pane加入frame
    this.setSize(300,200);
    this.setVisible(true);
  }  public static void main(String[] args) {
    new TestFrame();
  }
}----------------------------------------继承JPanel------------------------------import javax.swing.JPanel;
import javax.swing.JTextField;public class TestPane extends JPanel {
  JTextField text;
  /**
   * 构造
   */
  public TestPane() {
    text = new JTextField(10);
    this.add(text);
  }
  /**
   * 设置TestPane中JTextField的文字
   * @param str 字符串
   */
  public void setPaneText(String str){
    text.setText(str);
  }
}

解决方案 »

  1.   

    谢谢mq612(理想),但是现在如果button_1也是在另外一个class中,也就是说TestFrame中有两个相似的JPanel都独自为一个class,其中分别包含button_1和text,那么此时text怎么样才能监听到button_1事件发生呢??
      

  2.   

    在另外一个类中写个getButton()的方法来得到这个按钮就可以了。-------------------------------继承JFrame-----------------------------------import javax.swing.JFrame;
    import javax.swing.JButton;
    import javax.swing.JPanel;
    import java.awt.BorderLayout;
    import java.awt.event.ActionListener;
    import java.awt.event.ActionEvent;public class TestFrame extends JFrame {
      JButton button_1, button_2; //两个按钮
      JPanel pane; //放两个按钮的JPanel
      TestPane testPane; //继承JPanel的类,类中有个JTextField
      int i = 0; //按钮_1 点击的次数
      int i_2 = 0; //测试按钮 点击的次数
      TestPane_2 testPane_2; //继承JPanel的类,存放另外一个放按钮
      /**
       * 构造
       */
      public TestFrame() {
        testPane = new TestPane();
        testPane_2 = new TestPane_2();
        button_1 = new JButton("按钮_1");
        button_2 = new JButton("按钮_2");
        button_1.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent actionEvent) {
            i++;
            testPane.setPaneText("响应 按钮_1 ——" + i);
          }
        });
        testPane_2.getButton().addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent actionEvent) {
            i_2++;
            testPane.setPaneText("响应 测试按钮 ——" + i_2);
          }
        });
        pane = new JPanel(); //将两个按钮加入pane
        pane.add(button_1);
        pane.add(button_2);
        this.getContentPane().add(testPane); //加入继承自JPanel的类
        this.getContentPane().add(pane, BorderLayout.NORTH); //将带有两个按钮的pane加入frame
        this.getContentPane().add(testPane_2, BorderLayout.SOUTH);
        this.setSize(300,200);
        this.setVisible(true);
      }  public static void main(String[] args) {
        new TestFrame();
      }
    }------------------------------------继承JPanel------------------------------import javax.swing.JPanel;
    import javax.swing.JTextField;public class TestPane extends JPanel {
      JTextField text;
      /**
       * 构造
       */
      public TestPane() {
        text = new JTextField(15);
        this.add(text);
      }
      /**
       * 设置TestPane中JTextField的文字
       * @param str 字符串
       */
      public void setPaneText(String str){
        text.setText(str);
      }
    }--------------------------------继承JPanel含有按钮----------------------------import javax.swing.JPanel;
    import javax.swing.JButton;public class TestPane_2 extends JPanel {
      JButton button;  public TestPane_2() {
        button = new JButton("测试按钮");
        this.add(button);
      }
      /**
       * 得到这个容器中的按钮
       * @return 按钮
       */
      public JButton getButton(){
        return button;
      }
    }