新建frame的问题 你可以用一个标志位记下是否已经打开一个FRAME,是则屏蔽了这个按扭。好的做法是将新建的FRAME做成SINGLETON,那样按多少次都是同一个FRAME了。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Good. 我的做法是保存引用在HashMap中,当初次创建的时候保存,关闭时清除。每次点击会先去检查MAP,然后确定是重新生成还是显示原先的。 按钮事件中判断:if(frame == null){ Frame frame = new Frame("The frame");} 楼主,试试这段代码吧,应该可以的。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(); }} 这两个语句有什么区别? 关于Font和String的问题。 怎样用telnet远程建立数据库 初学java碰到一题不会做!一点概念也没有!郁闷!(望解答) applet调用本地exe文件报错,麻烦各位看一下 简单的问题,快来抢分! LinkedList的问题,那位帮帮忙 请问高手:如何通过局域网的IP地址获得该IP的用户名? 请问如何在serverlet中执行含有阿拉伯字符的sql语句?很急! 这里面有没有北京的,喜欢学习Java小弟想共同探讨 怎样让一条多折线可以获得事件? 怎样把文件或图片上传到SQL中
if(frame == null)
{
Frame frame = new Frame("The frame");
}
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();
}}