新建frame的问题

boyard 2004-06-28 10:42:35
点击主frame里的一个按钮,生成一个frame页
再次点击按钮后,还会再生成一个同样的frame页
这并非本意,如何让该按钮只响应一次。
...全文
109 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
boyard 2004-07-01
  • 打赏
  • 举报
回复
wonderful!
多谢几位了
luiss 2004-06-30
  • 打赏
  • 举报
回复
楼主,试试这段代码吧,应该可以的。


import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;


public class NewFrame {
private static JFrame newframe=new JFrame();
public NewFrame()
{

JFrame f=new JFrame("窗口");
JButton b=new JButton("按我产生新窗口!");
Container contentPane=f.getContentPane();
contentPane.add(b);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setSize(400,300);
f.show();
b.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{

createNewFrame();
}
});

}
public static JFrame createNewFrame()
{

newframe.setSize(800,600);
newframe.setLocation(200,100);
newframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
newframe.show();

return newframe;

}
public static void main(String args[])
{
new NewFrame();
}

}
HawaiiLeo 2004-06-30
  • 打赏
  • 举报
回复
按钮事件中判断:
if(frame == null)
{
Frame frame = new Frame("The frame");
}
flywind63 2004-06-30
  • 打赏
  • 举报
回复
看一下设计模式中的单态模式会对你有帮助的!
MyXin 2004-06-30
  • 打赏
  • 举报
回复
Good. 我的做法是保存引用在HashMap中,当初次创建的时候保存,关闭时清除。每次点击会先去检查MAP,然后确定是重新生成还是显示原先的。
shuneng 2004-06-30
  • 打赏
  • 举报
回复
你可以用一个标志位记下是否已经打开一个FRAME,是则屏蔽了这个按扭。
好的做法是将新建的FRAME做成SINGLETON,那样按多少次都是同一个FRAME了。
boyard 2004-06-30
  • 打赏
  • 举报
回复
up

62,628

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧