欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java Swing 只關(guān)閉當前窗體的實現(xiàn)

 更新時間:2020年11月16日 11:09:49   作者:Jimmy.li  
這篇文章主要介紹了Java Swing 只關(guān)閉當前窗體的實現(xiàn),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

看到很多人都在詢問怎么在java swing中只關(guān)閉當前的窗體,因此寫下此文。

主界面主要是有兩個JButton,一個是通過按鈕事件調(diào)起另一個JFame,另一個是關(guān)閉當前窗體。

1、關(guān)閉當前窗體不能使用setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)方法,可以使用

setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

2、通過JButton事件不能使用exit(),這樣會使得整個程序的窗體全部關(guān)閉,可以使用dispose();這樣就只關(guān)閉了當前窗體

具體實現(xiàn)如下:

NewFrame.java
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener; 
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
 
public class NewFrame extends JFrame {
 
 /**
 * called another JFrame
 * close this JFrame
 * write by Jimmy.li
 * time:2016/4/6 22:55
 */
 private static final long serialVersionUID = 1L;
 
 public NewFrame() {
 // 普通按鈕控件
 JFrame jf = new JFrame("main");
 Toolkit tk = this.getToolkit();// 得到窗口工具條
 int width = 650;
 int height = 500;
 Dimension dm = tk.getScreenSize();
 jf.setSize(300, 200);// 設置程序的大小
 jf.setLocation((int) (dm.getWidth() - width) / 2,
 (int) (dm.getHeight() - height) / 2);// 顯示在屏幕中央
 jf.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
 jf.setVisible(true);
 JPanel contentPane = new JPanel();
 jf.setContentPane(contentPane);
 
 // 創(chuàng)建兩個按鈕,并且將按鈕添加到內(nèi)容面板中
 
 JButton another = new JButton("另起頁面"); 
 JButton close = new JButton("關(guān)閉"); 
 contentPane.add(another); 
 contentPane.add(close);
 
 another.addActionListener(new ActionListener() {
 @Override
 public void actionPerformed(ActionEvent e) {
 // TODO Auto-generated method stub
 new exit();
 }
 });
 
 close.addActionListener(new ActionListener() {
 
 @Override
 public void actionPerformed(ActionEvent e) {
 // TODO Auto-generated method stub
 System.exit(0);
 }
 });
 }
 
 public static void main(String[] args)
 
 {
 new NewFrame(); 
 }
}

效果圖如下:

只關(guān)閉exit的窗體,而不涉及父窗體。

exit.java代碼如下

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener; 
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
 
/**
 * called another JFrame close this JFrame write by Jimmy.li time:2016/4/6 22:55
 */
 
public class exit {
 
 private static final int WIDTH = 300; 
 private static final int HEIGHT = 200;
 public exit() {
 // 普通按鈕控件
 final JFrame jf = new JFrame("exit");
 jf.setSize(WIDTH, HEIGHT);
 jf.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
 jf.setVisible(true);
 JPanel contentPane = new JPanel();
 jf.setContentPane(contentPane);
 
 // 創(chuàng)建兩個按鈕并添加到內(nèi)容面板
 
 JButton close1 = new JButton("關(guān)閉");
 contentPane.add(close1); 
 close1.addActionListener(new ActionListener() {
 
 @Override
 public void actionPerformed(ActionEvent e) {
 // TODO Auto-generated method stub
 // System.exit(0);
 jf.dispose();
 }
 });
 }
 
 public static void main(String[] args)
 
 {
 new exit();
 } 
}

這樣通過點擊關(guān)閉按鈕,只關(guān)閉了當前的exit窗體,而父窗體還存在。

補充知識:java中JFrame和Frame的窗體關(guān)閉區(qū)別

在JFrame中是使用setDefaultCloseOperation()方法的,例如:

win.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

在Frame中是使用一個事件監(jiān)聽器,如下:

win.addWindowListener(new WindowAdapter(){
 public void windowClosing(WindowEvent e){
  System.exit(0);
  }
 });

以上這篇Java Swing 只關(guān)閉當前窗體的實現(xiàn)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解spring cloud構(gòu)建微服務架構(gòu)的網(wǎng)關(guān)(API GateWay)

    詳解spring cloud構(gòu)建微服務架構(gòu)的網(wǎng)關(guān)(API GateWay)

    這篇文章主要介紹了詳解spring cloud構(gòu)建微服務架構(gòu)的網(wǎng)關(guān)(API GateWay),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-01-01
  • 淺談C#與Java兩種語言的比較

    淺談C#與Java兩種語言的比較

    今天小編就為大家分享一篇關(guān)于淺談C#與Java兩種語言的比較,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-10-10
  • Java中Runnable和Callable分別什么時候使用

    Java中Runnable和Callable分別什么時候使用

    提到 Java 就不得不說多線程了,就算你不想說,面試官也得讓你說呀,那說到線程,就不得不說Runnable和Callable這兩個家伙了,二者在什么時候使用呢,下面就來和簡單講講
    2023-08-08
  • 淺談如何優(yōu)雅地停止Spring Boot應用

    淺談如何優(yōu)雅地停止Spring Boot應用

    這篇文章主要介紹了淺談如何優(yōu)雅地停止Spring Boot應用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-05-05
  • Java中的線程池如何實現(xiàn)線程復用

    Java中的線程池如何實現(xiàn)線程復用

    這篇文章主要介紹了Java中的線程池如何實現(xiàn)線程復用問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • spring?boot?使用Mybatis-plus查詢方法解析

    spring?boot?使用Mybatis-plus查詢方法解析

    這篇文章主要介紹了spring?boot?使用Mybatis-plus查詢方法解析,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-09-09
  • 使用synchronized關(guān)鍵字實現(xiàn)信號量的方法

    使用synchronized關(guān)鍵字實現(xiàn)信號量的方法

    在Java中,信號量(Semaphore)是一種常用的同步工具,它可以用來控制對共享資源的訪問數(shù)量,下面,我們將使用Synchronized關(guān)鍵字來實現(xiàn)一個簡單的信號量,我們的目標是實現(xiàn)一個計數(shù)信號量,其中信號量的計數(shù)指示可以同時訪問某一資源的線程數(shù),需要的朋友可以參考下
    2024-04-04
  • springboot基于過濾器實現(xiàn)接口請求耗時統(tǒng)計操作

    springboot基于過濾器實現(xiàn)接口請求耗時統(tǒng)計操作

    這篇文章主要介紹了springboot基于過濾器實現(xiàn)接口請求耗時統(tǒng)計操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • Java中的阻塞隊列詳細介紹

    Java中的阻塞隊列詳細介紹

    這篇文章主要介紹了Java中的阻塞隊列詳細介紹的相關(guān)資料,需要的朋友可以參考下
    2016-11-11
  • Java實例講解文件上傳與跨域問題

    Java實例講解文件上傳與跨域問題

    這篇文章主要介紹了Java文件上傳與跨域問題,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-09-09

最新評論