当前位置: 技术问答>java相关
急问高手关于Frame的问题
来源: 互联网 发布时间:2015-01-12
本文导语: 我在Frame1有一个TextField,然后在里面写了字以后,我用一个button转到Frame2中 Frame2 f2=new Frame2(); f2.show(); this.hide(); 可是,我在Frame2中的button再转到Frame1中,这些textfield里面的字就没有了, Frame1 f1=new Frame1(); f1.show(); thi...
我在Frame1有一个TextField,然后在里面写了字以后,我用一个button转到Frame2中
Frame2 f2=new Frame2();
f2.show();
this.hide();
可是,我在Frame2中的button再转到Frame1中,这些textfield里面的字就没有了,
Frame1 f1=new Frame1();
f1.show();
this.hide();
请问怎样才能使那些字还在那里?
非常感谢。
//bow
Frame2 f2=new Frame2();
f2.show();
this.hide();
可是,我在Frame2中的button再转到Frame1中,这些textfield里面的字就没有了,
Frame1 f1=new Frame1();
f1.show();
this.hide();
请问怎样才能使那些字还在那里?
非常感谢。
//bow
|
你在frame2中新建了frame1,当然没有拉。可以这样:
Frame2 f2=new Frame2(frame1); //将frame1作为参数传到frame2;
然后在frame2中:
frame1 f1=new frame1();f1=frame1;f1.show();OK。
Frame2 f2=new Frame2(frame1); //将frame1作为参数传到frame2;
然后在frame2中:
frame1 f1=new frame1();f1=frame1;f1.show();OK。
|
import java.awt.*;
import java.awt.event.*;
public class Frame1 extends Frame
{
public void init()
{
setLayout(new BorderLayout());
TextField tf = new TextField(20);
Button btn = new Button("Frame2");
btn.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
btnAction();
}
});
add("North",tf);
add("South",btn);
}
public void btnAction()
{
Frame2 f2 = new Frame2(this);
f2.init();
f2.setSize(200,200);
f2.show();
hide();
}
public static void main(String args[])
{
Frame1 f = new Frame1();
f. init();
f.setSize(300,300);
f.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
f.show();
}
}
class Frame2 extends Frame
{
Frame1 f1 = null;
public Frame2(Frame1 f1)
{
this.f1 = f1;
}
public void init()
{
setLayout(new BorderLayout());
Button btn = new Button("Frame1");
btn.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
f1.show();
hide();
}
});
add("South",btn);
}
}
import java.awt.event.*;
public class Frame1 extends Frame
{
public void init()
{
setLayout(new BorderLayout());
TextField tf = new TextField(20);
Button btn = new Button("Frame2");
btn.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
btnAction();
}
});
add("North",tf);
add("South",btn);
}
public void btnAction()
{
Frame2 f2 = new Frame2(this);
f2.init();
f2.setSize(200,200);
f2.show();
hide();
}
public static void main(String args[])
{
Frame1 f = new Frame1();
f. init();
f.setSize(300,300);
f.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
f.show();
}
}
class Frame2 extends Frame
{
Frame1 f1 = null;
public Frame2(Frame1 f1)
{
this.f1 = f1;
}
public void init()
{
setLayout(new BorderLayout());
Button btn = new Button("Frame1");
btn.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
f1.show();
hide();
}
});
add("South",btn);
}
}