在JAVA中实现图形界面退出(已测试)

来源:互联网 发布:htc vive mac 编辑:程序博客网 时间:2024/04/29 08:58
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class TestGUI 
{
    
public static void main(String[] args) 
    {
        frame f 
= new frame();
        
//还可以在这里加上一句
        ①f.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
        f.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
        f.setVisible(
true);
        f.addWindowListener(
new WindowAdapter()
        {
            
public void windowClosing(WindowEvent e)
            {
                
int i;
                i
=JOptionPane.showConfirmDialog(null,"are you ok");
                
                
if(i==JOptionPane.YES_OPTION)
                {
                    System.exit(
0););//或者还可以写成
                    this.dispose();//这两句都可以实现关闭窗口
                }
                
else
                {
                    
                    
                }
 
            }
        });
    }
}
 
class panel extends JPanel
{
    
public panel()
    {
        makeButton(
"red",Color.RED);
        makeButton(
"yellow",Color.yellow);
    }
 
    
private void makeButton(String name,final Color c)
    {
        Button button
=new Button(name);
        button.addActionListener(
new ActionListener()
        {
            
public void actionPerformed(ActionEvent event)
            {
                setBackground(c);
            }
        }    
        );
        add(button);
 
    }
 
}
 
class frame extends JFrame
{
    
public frame()
    {
        setTitle(
"test");
        setSize(
300,200);
        panel p
= new panel();
        
        add(p);
    }
 
}
①:这句话在JCreator中可以实现,这个代码,点是的时候可以退出,但是点否的时候,程序没有退出,进程没有终
止,只是把界面设为了隐藏.所以当点否的时候程序并没有结束,加上这句代码就可以实现当点"否"的时候程序不
隐藏的效果,大家可以自己测试一下!!

原创粉丝点击