你在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。
解决方案 »
- java 代码 tab格式化的问题
- Java Swing怎么调用系统计算器
- 怎么把截图保存到粘贴板
- throw 引发一个异常后,程序是怎样继续执行的呢?
- 一个疑问:用java德有多少人关心过内存的使用情况,我发现java程序员只会new Object()没有人使用像c里面的析构函数。不明白,清高人指
- 1.如何修改工具栏按钮的尺寸? 2.如何把按钮做成工具栏按钮的效果(不突出显示)?
- 为什么程序运行的时候总说找不到com/borland/jbcl/layout.*;
- 有关邮件的自动回复问题希望大家指点
- 一个基本语法问题,帮帮忙!!!!!!看看和C++有什么不同?
- dom4j的问题
- 怎样限定只输入数字?
- 很奇怪的关于socket和IO流的问题,大家都来看啊……
可是我在Frame1中用
Frame2 f2=new Frame2(Frame1);
报错:variable Frame1 not found in class Frame1.
请问这是为什么?
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);
}
}