frame2用JDialog或者JInternalFrame.

解决方案 »

  1.   

    1.加个方法:
      
      public int getX(frame f) {
         return Integer.parseInt(f.textfield1.getText());
      }
      
      用的时候,把你那句int x = .......去掉。frame2创建后,想什么时候得到文本框的数据时,就调用这个方法,把frame2作为参数传入2.在button1的按钮事件中这样写:
      frame2.hide();
      

  2.   

    调用 setVisible(false)就可以了。
      

  3.   

    你的步骤计划成这样更好,首先frame2.show();在frame2中创建frame1对象,将button1的响应处理类注册,执行的方法可处理frame2.setVisible(false);frame1.setVisible(true);
    至于x的值,可以在frame2中获取,然后在创建frame1时作为构造器参数传递给frame1