编辑:下面的所有内容都是有效的编程知识,但您可能还想考虑MiniPad
扩展JDialog
类。我以前没用过,但它的实现看起来很像JFrame
. 你实际上可能不需要在MiniPad
课堂上做太多改变。文档在这里:http ://docs.oracle.com/javase/7/docs/api/javax/swing/JDialog.html
如果您想知道原因,请在此处查看 Andrew Thompson 的帖子。
--
根据我对您的问题的理解,MiniPad
extendsJFrame
和该pad()
方法创建了MiniPad
该类的一个新实例。最简单的解决方案是将MiniPad
类(至少通过pad()
方法)变成单例。单例是一种在任何给定时间只能存在一个实例(或对象)的类。通过调用静态方法(在这种情况下pad()
),您可以检查对象的实例是否已经存在;如果是这样,只需使用该现有对象:
public class MiniPad extends JFrame {
//whatever code you have
private static MiniPad padInstance = null; //the singleton instance of your MiniPad
public static MiniPad pad() {
if(padInstance == null)
padInstance = new MiniPad();
//If you want to reset the object every time you call the method for whatever reason, do it here
pad.setVisible(true); // I believe this is all you want to do
}
}
这应该做你想要的。通过调用该pad()
方法,只会MiniPad
出现一个。
但是,如果我读错了你的问题,请告诉我,我会修改我的答案。
关于单身人士的信息:
http ://en.wikipedia.org/wiki/Singleton_pattern