你吧窗体看成实例处理(其实窗体本身就是一个类的实例),
一般窗体在tpye后都有
var
Form1:Tform;
这个Form1就是你的窗体,
同样在Form2中也有
你在Form2中应用函数
application.FindComponent(Fomr1);
判断是否身成就可以了
至于你说的函数,恐怕要自己写了
一般窗体在tpye后都有
var
Form1:Tform;
这个Form1就是你的窗体,
同样在Form2中也有
你在Form2中应用函数
application.FindComponent(Fomr1);
判断是否身成就可以了
至于你说的函数,恐怕要自己写了
同一个实例进程中就好处理,只是方法相互调用而以。
也可以利用Observer 进行组件间通信,我觉得也很不错.
setContentPane(desk);
然后就可以用
JInternalFrame[] frame=desk.getAllFrames();
然后就可以判断
frame[i].isClosed();
如果已经打开了,就可以用frame[i].getTitle()或其他的函数得到你所要的JInternalFrame,其他的就能自己处理了。
w_2 = new w_2();
w_1 = new w_1();
w_1.w_2 = w_2;类似这样的代码就可以解决你说的问题。
还有 bigpool(wtj) ,我以前试过,可是怎么获得JInternalFrame的父窗体那?
内的windowClosed()不行么?
很easy!import javax.swing.JFrame;
import java.awt.HeadlessException;
import java.awt.event.*;/**
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2004</p>
* <p>Company: </p>
* @author ieqq
* @version 1.0
*/public class fm extends JFrame
{
public boolean opened = false;
public fm() throws HeadlessException
{
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) throws HeadlessException
{
fm fm1 = new fm();
fm1.setTitle("注意看JBuilder下面的信息栏的输出文字.");
fm1.show();
}
private void jbInit() throws Exception {
this.addWindowFocusListener(new fm_this_windowFocusAdapter(this));
} void this_windowLostFocus(WindowEvent e) {
this.opened = false;
System.out.println("窗体已经失去焦点了!");
} void this_windowGainedFocus(WindowEvent e) {
this.opened = true;
System.out.println("窗体已经获得焦点了!");
}}class fm_this_windowFocusAdapter implements java.awt.event.WindowFocusListener {
fm adaptee; fm_this_windowFocusAdapter(fm adaptee) {
this.adaptee = adaptee;
}
public void windowGainedFocus(WindowEvent e) {
adaptee.this_windowGainedFocus(e);
}
public void windowLostFocus(WindowEvent e) {
adaptee.this_windowLostFocus(e);
}
}