我写了这样的代码——public class login
{
private static login instance = null;
public static final void getInstance()
{System.out.println(instance);
if (instance==null)
instance=new login();
else
JOptionPane.showMessageDialog(null, "已经有一个实例在运行了~\n请不要打开多个实例...",
"信息提示", JOptionPane.ERROR_MESSAGE);
System.out.println(instance);
} 然后Main函数里面调用getInstance()
其他窗体方法略过
可是起不到作用,怎么改??????
{
private static login instance = null;
public static final void getInstance()
{System.out.println(instance);
if (instance==null)
instance=new login();
else
JOptionPane.showMessageDialog(null, "已经有一个实例在运行了~\n请不要打开多个实例...",
"信息提示", JOptionPane.ERROR_MESSAGE);
System.out.println(instance);
} 然后Main函数里面调用getInstance()
其他窗体方法略过
可是起不到作用,怎么改??????
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;public class Test extends JFrame { private static final long serialVersionUID = -2397593626990759111L; private JPanel pane = null; private JButton button = null;
public Test() {
super("Test");
pane = new JPanel();
button = new JButton("Login");
button.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent arg0) {
Login.getInstance();
}});
pane.add(button);
this.getContentPane().add(pane);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(300, 200);
this.setVisible(true);
} public static void main(String args[]) {
new Test();
}}
class Login extends JFrame {
private static final long serialVersionUID = 1055721658253523596L; private static Login instance = null;
private Login(){
super("Login");
this.setSize(new Dimension(200, 100));
this.setVisible(true);
} public static final void getInstance() {
System.out.println(instance);
if (instance == null)
instance = new Login();
else
JOptionPane.showMessageDialog(null, "已经有一个实例在运行了~\n请不要打开多个实例...", "信息提示",
JOptionPane.ERROR_MESSAGE);
System.out.println(instance);
}}