导航:首页 > 编程语言 > javaframe关闭

javaframe关闭

发布时间:2022-10-24 04:32:34

‘壹’ java怎么样通过按钮关闭一个JFrame

importjavax.swing.JFrame;

{

publicstaticvoidmain(String[]args){
newFrameTest("frame1");
newFrameTest("frame2");
newFrameTest("frame3");
}

publicFrameTest(Stringtitle){
this.setTitle(title);
this.setSize(800,600);
// this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
// this.setDefaultCloseOperation(HIDE_ON_CLOSE);
// this.setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
this.setVisible(true);
}

}

只要在每个Frame里设定this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);即可。

EXIT_ON_CLOSE,关闭程序。(所有窗口和进程都会关闭)

DISPOSE_ON_CLOSE,只关闭本窗口。

HIDE_ON_CLOSE,只隐藏本窗口,不关闭。

DO_NOTHING_ON_CLOSE,不做任何事,点击关闭无效。

‘贰’ java swing:关闭当前Frame

setVisible(false); //隐藏当前窗口
dispose();//销毁当前窗口
一般用隐藏

‘叁’ java的Frame窗体如何设置鼠标点击关闭图标时关闭窗体

每个AWT窗体的右上角都有三个图标,分别控制窗体的最小化、最大化和关闭。最小化和最大化图标的功能是内置的,无需编程实现。而当用户单击关闭图标时,AWT窗体无响应。用户如果要关闭AWT窗体,只能通过任务管理器结束java进程,这显然太麻烦了。因此,必须编程实现关闭图标的功能,而这需要通过捕获窗体事件来实现。

窗体事件是指示窗体状态改变的低级别事件。当打开、关闭、激活、停用、图标化或取消图标化窗体对象时,或者焦点转移到窗体内或移出窗体时,由窗体对象生成此事件。该事件被传递给每一个使用窗体的 addWindowListener 方法注册以接收窗体事件的 WindowListener对象。也就是说,当用户单击窗体的关闭图标时,将产生窗体事件(WindowEvent)。该事件由窗体监听器接口(WindowListener)负责捕获。

捕获窗体事件的步骤是:
(1) 让类实现窗体监听器接口,这将使得该类变成窗体事件监听器;
(2) 向类注册窗体事件监听器;
(3) 实现窗体事件监听器的所有方法。

源代码Calc.java可修改如下:
package calc;

import java.awt.*;
import java.awt.event.*;

public class Calc extends Frame implements WindowListener{

public Calc(){
super(“计算器”);
setSize(200,200);
addWindowListener(this);
}

// 用户单击窗体的关闭图标时调用本方法。
public void windowClosing(WindowEvent e) {
System.exit(0); //终止当前正在运行的 Java 虚拟机,退出系统。
}
public void windowClosed(WindowEvent e) {}

public void windowOpened(WindowEvent e) {}

public void windowIconified(WindowEvent e) {}

public void windowDeiconified(WindowEvent e) {}

public void windowActivated(WindowEvent e) {}

public void windowDeactivated(WindowEvent e) {}

public static void main(String args[]){
new Calc().setVisible(true);
}
}

运行结果:单击窗体的关闭图标,窗体关闭。这说明窗体已具备响应事件的能力。

‘肆’ java中怎样关闭一个框架

框架没有说关闭不关闭的问题,框架只是对你平时工作的一种封装,用来简化你的工作量的。一般的框架都是要在工程中引入一些jar包,然后配置一些文件,如web.xml和框架对应的XXX.xml,如果你不想使用这些框架,直接去掉web.xml中的相关配置即可。
目前常用的java web框架有 Spring,Hibernate,Struts1,Struts2等,有需要的可以去了解下。

‘伍’ JAVA关于窗体JFrame的关闭事件

//设置关闭后直接退出
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);


packageLogin;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjava.awt.event.MouseAdapter;
importjava.awt.event.MouseEvent;
importjava.net.URL;
importjavax.swing.ComboBoxModel;
importjavax.swing.DefaultComboBoxModel;

importjavax.swing.JLabel;
importjavax.swing.JPasswordField;
importjavax.swing.JRadioButton;
importjavax.swing.JTextField;

importjavax.swing.ImageIcon;
importjavax.swing.JButton;
importjavax.swing.JComboBox;
importjavax.swing.JOptionPane;
importjavax.swing.WindowConstants;
importjavax.swing.SwingUtilities;


/**
*'sJigloo
*SWT/SwingGUIBuilder,whichisfreefornon-commercial
*use.(ie,byacorporation,
*)thenyou
*.
*Pleasevisit

*.
*
*THISMACHINE,
*.
*/
.swing.JFrame{
privateJLabeljLabel_School_logo;
privateJLabeljLabel_user_name;
privateJLabeljLabel_passwd;
privateJButtonjButton_reg;
privateJButtonjButton_login;
;
privateJTextFieldjTextField_user_name;
privateJLabeljLabel_title;
privateintstudent_statue=0;
privateJComboBoxjComboBox1;
privateintmanager_statue=0;
/**
*
*/
/**
*
*/
/**
*Auto-
*/
publicstaticvoidmain(String[]args){
SwingUtilities.invokeLater(newRunnable(){
publicvoidrun(){
NewJFrameinst=newNewJFrame();
inst.setTitle("教室管理系统登录");
inst.setLocationRelativeTo(null);
inst.setVisible(true);
}
});
}

publicNewJFrame(){
super();
initGUI();
}

privatevoidinitGUI(){
try{
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
getContentPane().setLayout(null);
{
jLabel_School_logo=newJLabel();
getContentPane().add(jLabel_School_logo);
jLabel_School_logo.setBounds(0,0,86,84);
ImageIconlogo=newImageIcon("img/log.jpg");
jLabel_School_logo.setIcon(logo);
}
{
jLabel_title=newJLabel();
getContentPane().add(jLabel_title);
jLabel_title.setBounds(86,0,447,84);
ImageIcontitle=newImageIcon("img/title.jpg");
jLabel_title.setIcon(title);
}
{
jLabel_user_name=newJLabel();
getContentPane().add(jLabel_user_name);
jLabel_user_name.setText("u5b66u53f7uff1a");
jLabel_user_name.setBounds(155,131,51,31);
jLabel_user_name.setFont(newjava.awt.Font("叶根友毛笔行书2.0版",0,12));
}
{
jTextField_user_name=newJTextField();
getContentPane().add(jTextField_user_name);
jTextField_user_name.setBounds(199,135,151,23);
}
{
jLabel_passwd=newJLabel();
getContentPane().add(jLabel_passwd);
jLabel_passwd.setText("u5bc6u7801uff1a");
jLabel_passwd.setBounds(152,185,51,31);
jLabel_passwd.setFont(newjava.awt.Font("叶根友毛笔行书2.0版",0,12));
}
{
jPasswordField=newJPasswordField();
getContentPane().add(jPasswordField);
jPasswordField.setBounds(199,189,151,23);
}
{
jButton_login=newJButton();
getContentPane().add(jButton_login);
jButton_login.setText("u767bu5f55");
jButton_login.setBounds(199,235,68,23);
jButton_login.setFont(newjava.awt.Font("叶根友毛笔行书2.0版",0,12));
}
{
jButton_reg=newJButton();
getContentPane().add(jButton_reg);
jButton_reg.setText("u6ce8u518c");
jButton_reg.setBounds(282,235,68,23);
jButton_reg.setFont(newjava.awt.Font("叶根友毛笔行书2.0版",0,12));
jButton_reg.addMouseListener(newMouseAdapter(){
publicvoidmouseClicked(MouseEventevt){
jButton_regMouseClicked(evt);
}
});
}
{
ComboBoxModeljComboBox1Model=
newDefaultComboBoxModel(
newString[]{"学生/老师登录","管理员登录"});
jComboBox1=newJComboBox();
getContentPane().add(jComboBox1);
jComboBox1.setModel(jComboBox1Model);
jComboBox1.setBounds(199,90,152,23);
jComboBox1.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEventevt){
jComboBox1ActionPerformed(evt);
}
});
}
pack();
this.setSize(549,334);
}catch(Exceptione){
//addyourerrorhandlingcodehere
e.printStackTrace();
}
}

(ActionEventevt){
if(jComboBox1.getSelectedIndex()==0)
{
jLabel_user_name.setText("学号:");
}
else
{
jLabel_user_name.setText("帐号:");
}
}

privatevoidjButton_regMouseClicked(MouseEventevt){
if(jComboBox1.getSelectedIndex()==1)
{
JOptionPane.showMessageDialog(NewJFrame.this,"管理员帐号不提供注册!","",JOptionPane.DEFAULT_OPTION);
}
else
{
regregister=newreg();
register.setTitle("注册");
register.setLocationRelativeTo(this);
register.setVisible(true);
}
}

}

//设置setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);在另一个方法,你怎么用到你这个F呢?

‘陆’ 如何在frame里面的窗口里面关掉整个窗口

importjava.awt.*;

{

publicDemoFrame(){
ButtonbtnClose=newButton("关闭窗口");

add(btnClose);
setLayout(newFlowLayout());
setTitle("Frame窗口");
setSize(230,120);
setLocationRelativeTo(null);

//点击窗口的关闭按钮时,关闭窗口.结束程序
btnClose.addActionListener(e->{
this.setVisible(false);//窗口不可见
this.dispose();//销毁窗口
System.exit(0);//结束程序
});
}

publicstaticvoidmain(String[]args){
//创建窗口并设置可见
EventQueue.invokeLater(()->newDemoFrame().setVisible(true));
}
}

‘柒’ java如何关闭JFrame

1、你没有为窗口添加窗口事件侦听
2、这两个变量要在你的main方法里调用,你的main方法是静态的,静态方法只能使用静态变量,所以要将这两个变量设置成静态的
frm.addWindowListener(new WindowListener(){
@Override
public void windowActivated(WindowEvent e) {
// TODO Auto-generated method stub
}
@Override
public void windowClosed(WindowEvent e) {
// TODO Auto-generated method stub
}
@Override
public void windowClosing(WindowEvent e) {
// TODO Auto-generated method stub
}
@Override
public void windowDeactivated(WindowEvent e) {
// TODO Auto-generated method stub
}
@Override
public void windowDeiconified(WindowEvent e) {
// TODO Auto-generated method stub
}
@Override
public void windowIconified(WindowEvent e) {
// TODO Auto-generated method stub
}
@Override
public void windowOpened(WindowEvent e) {
// TODO Auto-generated method stub
}});
貌似低版本jdk需要手动添加窗口事件监听
你在那个close事件里加上关闭程序的代码就行了

‘捌’ Java jframe中如何实现窗口的关闭

效果图

importjava.awt.event.*;
importjavax.swing.*;

{
JButtonjbExit;
publicDemoFrame(){
jbExit=newJButton("退出");
//当点击退出按钮时候的响应器
jbExit.addActionListener(newActionListener(){
@Override
publicvoidactionPerformed(ActionEvente){
doExit();//退出时候的方法
}
});
JPaneljp=newJPanel();
jp.add(jbExit);

add(jp);
setTitle("窗口");//窗口标题
setSize(380,185);//窗口大小
setLocationRelativeTo(null);//窗口居中
//setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//通常添加这行代码,点击窗口右下角的关闭时会结束程序
setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);//右下角的关闭,不主动采取任何行动

//当点击窗口右上角的关闭按钮时候的响应器
addWindowListener(newWindowAdapter(){
@Override
publicvoidwindowClosing(WindowEvente){
doExit();
}
});
}

//main方法
publicstaticvoidmain(String[]args){
newDemoFrame().setVisible(true);
}

//退出时候的选择
privatevoiddoExit(){
intn=JOptionPane.showConfirmDialog(null,"你确定要退出吗?","消息提示",JOptionPane.YES_NO_OPTION);
//取消选择是-1,确定是0,取消是1
System.out.println(n);
if(n==0){//如果选择了确定
System.exit(0);//那么退出
}
}
}

‘玖’ java如何关闭某JFrame窗口,而不是退出整个程序!

  1. DO_NOTHING_ON_CLOSE(在 WindowConstants 中定义):不执行任何操作;要求程序在已注册的 WindowListener 对象的 windowClosing 方法中处理该操作。

  2. HIDE_ON_CLOSE(在 WindowConstants 中定义):调用任意已注册的 WindowListener 对象后自动隐藏该窗体。

  3. DISPOSE_ON_CLOSE(在 WindowConstants 中定义):调用任意已注册 WindowListener 的对象后自动隐藏并释放该窗体。

  4. EXIT_ON_CLOSE(在 JFrame 中定义):使用 System exit 方法退出应用程序。仅在应用程序中使用。

  5. 默认情况下,该值被设置为 HIDE_ON_CLOSE。更改此属性的值将导致激发属性更改事件,其属性名称为 "defaultCloseOperation"。

‘拾’ Java如何关闭JFrame的其中一个子自定义窗口

1,XXX.dispose()方法吧!只关闭当前想要关闭的窗口,不影响其他窗口
2,JFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);方法。
设置右上角的[x]为注销窗口。

阅读全文

与javaframe关闭相关的资料

热点内容
阿里云服务器远程链接不成功 浏览:482
文件系统pdf 浏览:762
原神安卓区服什么意思 浏览:34
贝壳app怎么线上发布 浏览:157
如何挑选安卓系统机顶盒 浏览:53
安卓快充使用有什么注意事项 浏览:909
黑马程序员的云计算网课 浏览:946
endnotestyle文件夹怎么导入 浏览:460
讲解少儿编程演讲会开头 浏览:424
思科交换机基础命令 浏览:497
便签可以设置加密吗 浏览:339
免费漫画app怎么看书 浏览:27
华为笔记本电脑怎么安装抖音app 浏览:412
阿里云国际版试用的服务器怎么搞 浏览:895
java正则表达式工具 浏览:160
oa服务器怎么设置ftp 浏览:10
安卓如何安装obb 浏览:442
QQ聊天记录journal文件夹 浏览:118
苹果公司云服务器地址 浏览:85
加密记事本手机 浏览:437