java关闭窗体的代码 java窗口关闭代码

JAVA中怎么关闭一个窗口java关闭窗口可以使用dispose(),只是该窗体在内存中所占有的资源得到了释放,而整个程序并没有因此而退出,如果整个程序要退出,在以java.awt中的frame为控件时,需手动添加:System.exit();
而在以javax.Swing中的jFrame为控件时 , 一般不需要再写相应的事件,默认点击窗体上的小叉时,是隐藏,当然你可更改其参数 。
JAVA GUI swt,关闭当前窗口的代码(多个窗口的时候)package tes;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class AFrame extends JFrame implements ActionListener{
private JButton button;
private JPanel panel;
public void initFrame(String message,int x,int y,int z,int g){
setBounds(x,y,z,g);
setTitle(message);
button=new JButton("打开");
panel=new JPanel();
button.addActionListener(this);
panel.add(button);
add(panel);
setVisible(true);
setResizable(false);
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource().equals(button)) {
new AFrame().initFrame("第二个窗口!",200,200,200,200);
}
}
public static void main(String[] args) {
new AFrame().initFrame("第一个窗口!",300,300,300,300);
}
}
代码虽然简单,但是可以回答你的问题了,自己运行一下试试 。
JAVA如何用按钮关闭窗体很久没有用过界面编程了,就当复习一下了,哈哈
如一楼所说的,给按钮加一个监听器ActionListener,写一个实现方法
actionPerformed.此时当按钮点击时会调用actionPerformed方法,代码如下:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Close extends JFrame implements ActionListener{
JButton close;
public Close(){
close = new JButton("close");//增加一个按钮
add(close);
close.addActionListener(this);//给按钮增加一个监听器
setLayout(new FlowLayout());
setSize(200,100);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
//捕捉到按钮点击时的事件处理方法
//按钮点击时一定会自动执行actionPerformed(ActionEvent e)方法
public void actionPerformed(ActionEvent e){
//关闭整个应用程序.如果只是是想关闭当前窗口,可以用
//dispose();
System.exit(0);
}
public static void main(String[] args){
new Close();
}
}
Java jframe中如何实现窗口的关闭效果图
参考代码和注释如下
import java.awt.event.*;
import javax.swing.*;
public class DemoFrame extends JFrame{
JButton jbExit;
public DemoFrame() {
jbExit = new JButton("退出");
//当点击退出 按钮时候的响应器
jbExit.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
doExit();//退出时候的方法
}
});
JPanel jp = new JPanel();
jp.add(jbExit);
add(jp);
setTitle("窗口");// 窗口标题
setSize(380, 185);// 窗口大小
setLocationRelativeTo(null);// 窗口居中
//setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//通常添加这行代码,点击窗口右下角的关闭时会结束程序
setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);//右下角的关闭,不主动采取任何行动
//当点击窗口右上角的关闭按钮时候的响应器
addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
doExit();
}
});
}
// main方法
public static void main(String[] args) {
new DemoFrame().setVisible(true);
}
//退出时候的选择
private void doExit() {
int n = JOptionPane.showConfirmDialog(null, "你确定要退出吗?", "消息提示",JOptionPane.YES_NO_OPTION);
//取消选择是 -1 ,确定是0 ,取消是1
System.out.println(n);
if(n==0) { //如果选择了确定
System.exit(0);//那么退出
}
}
}
java程序关闭窗口代码import java.applet.*;
import java.awt.Color;
import java.awt.Frame;
import javax.swing.JFrame;
import java.awt.event.*;
public class FirstFrame extends Frame {
public static void main(String args[]) {
FirstFrame fr = new FirstFrame("First contianer!");
fr.setSize(240, 240);
//继承JFrame的关闭窗口代码
//fr.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//继承Frame的
fr.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);//退出系统
}
});
fr.setVisible(true);
}
public FirstFrame(String str) {
super(str);
}
}
java中关闭窗口的方法1 package applicationGraphicsInOut;
2 import java.awt.*;
3 import java.awt.event.*;
4 public class ApplicationGraphicsInOut {
5public static void main(String args[])
6{
7new FrameInOut();
8}
9
10 }
11 class FrameInOut extends Frame implements ActionListener
12 {
13Label prompt;
14TextField input,output;
15FrameInOut()
16{
17super("图形界面的Java Application程序");
18prompt=new Label("请输入您的名字");
19input=new TextField(6);
20output=new TextField(20);
21setLayout(new FlowLayout());
22add(prompt);
23add(input);
24add(output);
25input.addActionListener(this);
26setSize(300,200);
27setVisible(true);
28}
29public void actionPerformed(ActionEvent e)
30{
31output.setText(input.getText() ",欢迎你");
32}
33 }
该程序在Eclipse下运行通过,但是就是不能关不掉!
什么原因呢?
其中有以下几种解决方法:
1:
把main函数改为如下
1 public static void main(String args[])
2{
3Frame fr=new FrameInOut();
4fr.addWindowListener(new java.awt.event.WindowAdapter()
5{
6public void windowClosing(java.awt.event.WindowEvent e)
7{
8System.exit(0);
9}
10});
11
12}
这种方法我有点不解,addWindowListener()括号里是怎么回事,我有点纳闷 , 我还没见过这样的形式,不过我猜可能是实现了java.awt.event.WindowAdapter()类里面的一个抽象方法windowClosing(),但是我真没有见过这种格式,求解释 。
2:
对WINDOWS_CLOSING事件做出响应,每个窗口都有3个控制图标,其中最小化和最大化操作Frame可自动完成,而关闭窗口的操作不能通过单击关闭图标实现,需要程序专门书写有关的代码,其实这种方法与上一种一样,则不过换了一种格式,一种初学者更明白易懂的格式 。
在FrameInOut()构造函数里面添加监听函数,添加监听函数之后构造函数如下:
FrameInOut()
{
super("图形界面的Java Application程序");
prompt=new Label("请输入您的名字");
input=new TextField(6);
output=new TextField(20);
setLayout(new FlowLayout());
addWindowListener(new HandleWin());//添加监听函数,引发WindowEvent事件
add(prompt);
add(input);
add(output);
input.addActionListener(this);
setSize(300,200);
setVisible(true);
}
其中HandleWin()为内部类,主要实现WindowListener借口 , 添加监听之后会引发WindowEvent类代表的所以七中事件,具体情况如下:
(1)WINDOW_ACTIVATED:代表窗口被激活(在屏幕的最前方待命) 。
(2)WINDOW_DEACTIVATED:代表窗口失活(其他窗口被激活后原活动窗口失活) 。
【java关闭窗体的代码 java窗口关闭代码】(3)WINDOW_OPENED:代表窗口被打开 。
(4)WINDOW_CLOSED:代表窗口被关闭(关闭窗口后发生) 。
(5)WINDOW_CLOSING:代表窗口正在被关闭(指关闭前 。如单击窗口标题栏上的关闭按钮时) 。
(6)WINDOW_ICONIFIED:代表使窗口最小化成图标 。
(7)WINDOW_DEICONIFIED:代表使窗口从图标恢复
在WindowEvent类的主要方法有:
public window getWindow();
此方法返回引发当前WindowEvent事件的具体窗口对象 , 与getSource()方法返回的是相同的事件引用 。
HandleWin定义如下:
class HandleWin extends WindowAdapter
{
public void windowClosing(WindowEvent e)
{
(e.getWindow()).dispose();
System.exit(0);
}
}
HandleWin是窗口事件的裁剪类WindowAdapter的子类,重载了WindowClosing()方法 。
当然也可以这样写HandleWin
1 class HandleWin implements WindowListener
2{
3public void windowClosing(WindowEvent e)
4{
5(e.getWindow()).dispose();
6System.exit(0);
7}
8
9@Override
10public void windowActivated(WindowEvent arg0) {
11// TODO Auto-generated method stub
12
13}
14
15@Override
16public void windowClosed(WindowEvent arg0) {
17// TODO Auto-generated method stub
18
19}
20
21@Override
22public void windowDeactivated(WindowEvent arg0) {
23// TODO Auto-generated method stub
24
25}
26
27@Override
28public void windowDeiconified(WindowEvent arg0) {
29// TODO Auto-generated method stub
30
31}
32
33@Override
34public void windowIconified(WindowEvent arg0) {
35// TODO Auto-generated method stub
36
37}
38
39@Override
40public void windowOpened(WindowEvent arg0) {
41// TODO Auto-generated method stub
42
43}
44}
关于java关闭窗体的代码和java窗口关闭代码的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息 , 记得收藏关注本站 。

    推荐阅读