首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

既是applet又是application的java程序的关闭有关问题

2012-01-02 
既是applet又是application的java程序的关闭问题。有一个既是applet又是application的java程序,当作为appli

既是applet又是application的java程序的关闭问题。
有一个既是applet又是application的java程序,当作为application运行时,点击windows窗口的X时,并不能关闭程序,而只能关闭进程,添加什么语句可以使用windows的X关闭程序呢?

代码如下:
import   java.awt.*;
import   java.awt.event.*;
import   java.applet.*;
import   javax.swing.*;
import   java.awt.*;
import   java.awt.event.*;
import   javax.swing.*;
import   javax.swing.event.*;

/**
  *   <p> Title:   </p>
  *   <p> Description:   </p>
  *   <p> Copyright:   Copyright   (c)   2006 </p>
  *   <p> Company:   </p>
  *   @author   not   attributable
  *   @version   1.0
  */

public   class   Applet1   extends   Applet   {
    private   boolean   isStandalone   =   false;
    JTabbedPane   stradacTab   =   new   JTabbedPane();
    JPanel   jPanel1   =   new   JPanel();
    JPanel   jPanel2   =   new   JPanel();
    JScrollPane   jScrollPane1   =   new   JScrollPane();
    JTextField   jTextField1   =   new   JTextField();
    JComboBox   jComboBox1   =   new   JComboBox();
    JTextPane   jTextPane1   =   new   JTextPane();
    JButton   jButton1   =   new   JButton();
    JTextArea   jTextArea1   =   new   JTextArea();
    JToggleButton   jToggleButton1   =   new   JToggleButton();
    JButton   jButton2   =   new   JButton();
    JTextArea   jTextArea2   =   new   JTextArea();
    JEditorPane   jEditorPane1   =   new   JEditorPane();

//Get   a   parameter   value
    public   String   getParameter(String   key,   String   def)   {
        return   isStandalone   ?   System.getProperty(key,   def)   :
                (getParameter(key)   !=   null   ?   getParameter(key)   :   def);
    }

//Construct   the   applet
    public   Applet1()   {
    }

//Initialize   the   applet
    public   void   init()   {
        try   {
            jbInit();
        }
        catch(Exception   e)   {
            e.printStackTrace();
        }
    }

//Component   initialization
    private   void   jbInit()   throws   Exception   {
        this.setLayout(null);
        stradacTab.setBounds(new   Rectangle(40,   18,   317,   260));
        jPanel1.setBounds(new   Rectangle(6,   51,   31,   52));
        jPanel1.setLayout(null);
        jPanel2.setBounds(new   Rectangle(1,   129,   38,   87));


        jButton1.setBounds(new   Rectangle(56,   143,   93,   47));


        jButton1.setText( "jButton1 ");
        jButton1.addActionListener(new   java.awt.event.ActionListener()   {
            public   void   actionPerformed(ActionEvent   e)   {
                jButton1_actionPerformed(e);
            }
        });

        jButton2.setText( "jButton2 ");
        jButton2.addActionListener(new   java.awt.event.ActionListener()   {
            public   void   actionPerformed(ActionEvent   e)   {
                jButton2_actionPerformed(e);
            }
        });
        jPanel1.add(jButton1,   null);
        jPanel2.add(jButton2,   null);

        this.add(stradacTab,   null);
        stradacTab.add( "druhy ",jPanel2);
        stradacTab.add( "prvni ",jPanel1);


        stradacTab.addChangeListener(new   ChangeListener()   {
            public   void   stateChanged(ChangeEvent   e)   {
                int   index   =   stradacTab.getSelectedIndex();
                String   title   =   stradacTab.getTitleAt(index);
                System.out.println( "index   =   "   +
                                                      index);
                System.out.println( "title   =   "   +
                                                      title);
            }
        });

    }

//Start   the   applet
    public   void   start()   {
    }

//Stop   the   applet
    public   void   stop()   {
    }

//Destroy   the   applet
    public   void   destroy()   {
    }

//Get   Applet   information
    public   String   getAppletInfo()   {
        return   "Applet   Information ";
    }

//Get   parameter   info
    public   String[][]   getParameterInfo()   {
        return   null;
    }

//Main   method
    public   static   void   main(String[]   args)   {
        Applet1   applet   =   new   Applet1();
        applet.isStandalone   =   true;
        Frame   frame;


        frame   =   new   Frame();
        frame.setTitle( "Applet   Frame ");
        frame.add(applet,   BorderLayout.CENTER);
        applet.init();
        applet.start();
        frame.setSize(400,320);
        Dimension   d   =   Toolkit.getDefaultToolkit().getScreenSize();
        frame.setLocation((d.width   -   frame.getSize().width)   /   2,   (d.height   -   frame.getSize().height)   /   2);
        frame.setVisible(true);
    }

    void   jButton2_actionPerformed(ActionEvent   e)   {
        stradacTab.setSelectedIndex(1);
    }

    void   jButton1_actionPerformed(ActionEvent   e)   {
        stradacTab.setSelectedIndex(0);
    }

}


[解决办法]
使用JFrame:

import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.JFrame;

/**
* <p> Title: </p>
* <p> Description: </p>
* <p> Copyright: Copyright (c) 2006 </p>
* <p> Company: </p>
* @author not attributable
* @version 1.0
*/

public class Applet1 extends Applet {
private boolean isStandalone = false;
JTabbedPane stradacTab = new JTabbedPane();
JPanel jPanel1 = new JPanel();
JPanel jPanel2 = new JPanel();
JScrollPane jScrollPane1 = new JScrollPane();
JTextField jTextField1 = new JTextField();
JComboBox jComboBox1 = new JComboBox();
JTextPane jTextPane1 = new JTextPane();
JButton jButton1 = new JButton();
JTextArea jTextArea1 = new JTextArea();
JToggleButton jToggleButton1 = new JToggleButton();
JButton jButton2 = new JButton();
JTextArea jTextArea2 = new JTextArea();
JEditorPane jEditorPane1 = new JEditorPane();

//Get a parameter value
public String getParameter(String key, String def) {
return isStandalone ? System.getProperty(key, def) :
(getParameter(key) != null ? getParameter(key) : def);
}

//Construct the applet
public Applet1() {
}

//Initialize the applet
public void init() {
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}

//Component initialization
private void jbInit() throws Exception {
this.setLayout(null);
stradacTab.setBounds(new Rectangle(40, 18, 317, 260));
jPanel1.setBounds(new Rectangle(6, 51, 31, 52));
jPanel1.setLayout(null);
jPanel2.setBounds(new Rectangle(1, 129, 38, 87));


jButton1.setBounds(new Rectangle(56, 143, 93, 47));
jButton1.setText( "jButton1 ");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
jButton1_actionPerformed(e);
}
});

jButton2.setText( "jButton2 ");
jButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
jButton2_actionPerformed(e);


}
});
jPanel1.add(jButton1, null);
jPanel2.add(jButton2, null);

this.add(stradacTab, null);
stradacTab.add( "druhy ",jPanel2);
stradacTab.add( "prvni ",jPanel1);


stradacTab.addChangeListener(new ChangeListener() {
public void stateChanged(ChangeEvent e) {
int index = stradacTab.getSelectedIndex();
String title = stradacTab.getTitleAt(index);
System.out.println( "index = " +
index);
System.out.println( "title = " +
title);
}
});

}
protected void processWindowEvent(WindowEvent e) {
System.out.print( "hello ");
System.exit(0);
}

//Start the applet
public void start() {
}

//Stop the applet
public void stop() {
}

//Destroy the applet
public void destroy() {
}

//Get Applet information
public String getAppletInfo() {
return "Applet Information ";
}

//Get parameter info
public String[][] getParameterInfo() {
return null;
}

//Main method
public static void main(String[] args) {
Applet1 applet = new Applet1();
applet.isStandalone = true;
JFrame frame;
frame = new JFrame();
frame.setTitle( "Applet Frame ");
frame.getContentPane().add(applet, BorderLayout.CENTER);
applet.init();
applet.start();
frame.setSize(400,320);
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
frame.setLocation((d.width - frame.getSize().width) / 2, (d.height - frame.getSize().height) / 2);
frame.setVisible(true);
//frame.setDefaultCloseOperation(EXIT_ON_CLOSE);
}

void jButton2_actionPerformed(ActionEvent e) {
stradacTab.setSelectedIndex(1);
}

void jButton1_actionPerformed(ActionEvent e) {
stradacTab.setSelectedIndex(0);
}

}

[解决办法]
好吧,只解决你退出问题
JFrame f=new JFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

热点排行