導航:首頁 > 編程語言 > java關閉子窗口

java關閉子窗口

發布時間:2022-05-17 06:03:04

A. java swing 菜單打開與關閉子窗口

如果實現了你第一個問題,後面的就都不存在了。
鎖住了主窗體,那麼關閉操作,菜單點擊都不可能操作了。

下邊按問題一個一個解答,這是不考慮關聯性的,如果考慮關聯性。後兩個不可能與1同時存在。

1. 這個使用Dialog而不是Frame Dialog有model屬性,setModel(true); 這樣就是模態對話框,後面的都不可以操作了。

2.窗體關閉時,使用System.exit(0); 這樣,所有的就都關閉了。

3.打開一個新的,關閉已打開的,需要有前一個窗體的對象句柄。用可以設置成非顯示。

B. java中如何使「點擊子窗口的按鈕時主窗口與子窗口同時關閉」

原來也遇到過這樣的問題。 只要設置窗體的setDefaultCloseOperation方法就可以了。這個方法是描述關閉按鈕的不同形式的,可以關閉一個窗口,也可以關閉整個程序
DO_NOTHING_ON_CLOSE(在 WindowConstants 中定義):不執行任何操作;要求程序在已注冊的 WindowListener 對象的 windowClosing 方法中處理該操作。
HIDE_ON_CLOSE(在 WindowConstants 中定義):調用任意已注冊的 WindowListener 對象後自動隱藏該窗體。
DISPOSE_ON_CLOSE(在 WindowConstants 中定義):調用任意已注冊 WindowListener 的對象後自動隱藏並釋放該窗體。
EXIT_ON_CLOSE(在 JFrame 中定義):使用 Systemexit 方法退出應用程序。僅在應用程序中使用。
如果關閉程序的話就是
setDefaultCloseOperation(EXIT_ON_CLOSE)

希望能幫助到你:)

C. java關閉當前窗口代碼

方法一:
類 JFrame
javax.swing.JFrame

JFrame中的方法void setDefaultCloseOperation(int)可以設置
以下為改方法的用法:

setDefaultCloseOperation
public void setDefaultCloseOperation(int operation)設置用戶在此窗體上發起
"close" 時默認執行的操作。必須指定以下選項之一:

DO_NOTHING_ON_CLOSE(在 WindowConstants 中定義):不執行任何操作;要求程序在已注冊的
WindowListener 對象的 windowClosing 方法中處理該操作。
HIDE_ON_CLOSE(在 WindowConstants 中定義):調用任意已注冊的 WindowListener
對象後自動隱藏該窗體。
DISPOSE_ON_CLOSE(在 WindowConstants 中定義):調用任意已注冊 WindowListener
的對象後自動隱藏並釋放該窗體。
EXIT_ON_CLOSE(在 JFrame 中定義):使用 System exit
方法退出應用程序。僅在應用程序中使用。
默認情況下,該值被設置為 HIDE_ON_CLOSE。更改此屬性的值將導致激發屬性更改事件,其屬性名稱為
"defaultCloseOperation"。

註:當 Java 虛擬機 (VM) 中最後一個可顯示窗口被釋放後,虛擬機可能會終止

要實現你說的,應該採用
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

方法二:

import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.swing.JFrame;
import javax.swing.JOptionPane;

public class Test extends JFrame {

public Test(){
this.setTitle("title");
this.setSize(300,200);
this.setLocation(100,100);

//設置關閉時什麼也不做
this.setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
//監聽關閉按鈕的點擊操作
this.addWindowListener(new WindowAdapter(){
//new 一個WindowAdapter 類 重寫windowClosing方法
//WindowAdapter是個適配器類 具體看jdk的幫助文檔
public void windowClosing(WindowEvent e) {
//這里寫對話框
if(JOptionPane.showConfirmDialog(null,
"退出","提
示",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE)==JOptionPane.YES_OPTION){

System.exit(0);
}
}

});

this.setVisible(true);
}

public static void main(String[] args) {
new Test();
}

}

D. java Swing關閉子窗口

public static void main(String[] args) throws Exception {
JFrame frame = new JFrame("swing test");
frame.setSize(300, 200);
frame.setLayout(null);
JButton btnNewFrame = new JButton("新窗口");
btnNewFrame.setBounds(30, 30, 80, 40);
frame.getContentPane().add(btnNewFrame);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//關閉時,直接退出
btnNewFrame.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO 自動生成
final JFrame frame = new JFrame("new frame");
frame.setSize(200, 180);
frame.getContentPane().add(new JLabel("this is a new frame"));
frame.setVisible(true);
frame.addWindowListener(new WindowAdapter() {
@Override
public void windowClosed(WindowEvent e) {
// TODO 自動生成
frame.dispose();//dispose會隱藏窗體並釋放窗體所佔用的部分資源
}
});
}
});
}

E. java 用按鈕關閉子窗口,不要關閉主窗口

如果是按你主題來說。他們的說法沒有錯。
子畫面關閉就是隱藏起來,不能實現真正的消毀,你的主線程不停止,它就會存在。
System.exit(0)就是停止了主線程。

你還提到了,想讓主畫面不能操作,那麼子畫面就是一個模態的對話框。
下邊是一個測試代碼,你運行一下看看效果。
--------------------------------------------------------------------------------------------------------------
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;

public class Close extends JFrame {

private JDialog dialog = new JDialog();

public Close() {
getContentPane().setLayout(null);

JButton btnTest = new JButton("Test");

JButton btn = new JButton("close");
btn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
dialog.dispose();
// dialog.setVisible(false);
}
});
dialog.add(btn);
dialog.setModal(true);
dialog.setSize(150, 80);
dialog.setLocationRelativeTo(getContentPane());

btnTest.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
dialog.setVisible(true);
}
});
btnTest.setBounds(27, 26, 91, 21);
getContentPane().add(btnTest);

setDefaultCloseOperation(EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setSize(200, 120);
setResizable(false);
setVisible(true);
}

public static void main(String[] args) {
new Close();
}
}

F. JAVA中怎麼關閉一個窗口

如果是add(XXX)那不就是在這個窗體里嗎?
直接disopose()就好了.

要不就this.dispose();

=====================================

"誰告訴你add(XXX)和disopose()都要在reg類里.我就要是前者在,後者就不讓他在reg類里,而且還要關閉reg類對象窗口.根本沒理解我的意思.我說的夠清楚了,你一眼帶過看的明白嗎,你再去看看我的題干."
又看了一遍 發現這次根本看不明白了...
=====================================

====================================
"this.dispose()我當然知道.但這句話在另一個類中寫,試問this還表示reg的對象嗎,顯然不行的.我現在就要在另一個類中寫.第二個人也是亂說,只有第一個回答可能正確,你們兩個都在亂說."
如果是在另一個類中寫就需要當前窗體當作參數傳遞.
import javax.swing.JFrame;

public class Reg extends JFrame {
/**
* 創建一個新的窗體
* */
public void newWindows(){
new newReg(this);//將自己傳遞給newReg這個窗口
}
}

這是另外一個窗體.
public class newReg extends JFrame{
public newReg(JFrame father) {//接收父窗口
father.dispose();
}
}

====================================
那是你思維跟我不一樣.我已在reg類中用了好多句add(xxx);來添加組件.現在其對象窗口,包括裡面的組建都能正常顯示.

我現在想在另一個類中,比如mm類中用dispose()方法去關掉reg類窗口,我若是再用this.dispose()那this指的就是mm類的對象了.現在你懂了吧.你再回去看看我的題干對不對.再告訴我題乾的答案.

====================================

問問題的都是爺.
問問題的都是爺.
問問題的都是爺.
問問題的都是爺.
問問題的都是爺.
問問題的都是爺.

"那是你思維跟我不一樣."
你們全家思維都和別人不一樣.
.別給我發消息了。問題已經給你解決了。

G. java如何設置關閉父窗口時關閉所有的子窗口

那要看父窗口和子窗口之間的聯系,如果你設置的是setvisiable()那麼關閉主窗口時,其他窗口設置為false,雖然窗口關閉了其實是隱藏起來了,你可以設當主窗口.dispost關閉

H. Java如何實現關閉一個窗口彈出另外一個窗口

在Java中,對窗口任何操作都會對應的監聽事件,故要實現關閉一個窗口時彈出另外一個窗口,只需要在該關閉的窗口的監聽事件中添加彈窗事件即可。
具體實現如下:
this.addWindowListener(new
WindowAdapter(){
@Override
public
void
windowClosing(WindowEvent
e)
{
setVisible(false);
new
JFrame("新窗口");
}});
在JavaGUI編程中,關閉窗口彈出新窗口是很常見的動作,比如一個窗口的業務操作完成了,需要跳轉到另一個窗口繼續執行,此時就需要關閉舊窗口並彈出新窗事件。值得注意的地方時,有時候的關閉往往只是暫時的將舊窗口暫時隱藏,而不是真的關閉,因為之後可能還會繼續用到,為了節省開銷,暫時的隱藏有利於提供效率。

I. 用java寫的一個JPanel面板中彈出子窗口,當我關閉子窗口時,父窗口不關閉怎麼做啊

//在子窗口添加一句。
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
//而不要用下面這句
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//補充
你是想在用戶不點擊右上角關閉按鈕的情況下,關閉窗口。
那麼參考xvqingya1所講,用dispose();如果是在別處調用,請用子窗口的引用.disdpose();

J. Java如何關閉JFrame的其中一個子自定義窗口

1,XXX.dispose()方法吧!只關閉當前想要關閉的窗口,不影響其他窗口
2,JFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);方法。
設置右上角的[x]為注銷窗口。

閱讀全文

與java關閉子窗口相關的資料

熱點內容
單片機左移右移後是補1還是0 瀏覽:595
湛江一號命令 瀏覽:333
導出命令行 瀏覽:274
C和php交互 瀏覽:600
蘋果手機里的通訊錄如何導入安卓手機 瀏覽:170
怎麼在京東app裡面看自己會員等級 瀏覽:43
emerson伺服器怎麼短接啟動 瀏覽:559
工控編程人員工資 瀏覽:397
速成義大利語pdf 瀏覽:250
連續加減乘除法的演算法 瀏覽:652
用mfc編程實現dda演算法 瀏覽:41
linux命令打開應用 瀏覽:146
改造後的程序員 瀏覽:270
數控編程變數 瀏覽:785
江門哪裡有plc編程系統 瀏覽:378
安卓手機如何下載外服b站 瀏覽:700
pythonetree庫 瀏覽:759
數據插值演算法 瀏覽:723
澳大利亞加密貨幣逃稅 瀏覽:484
pdf文檔如何壓縮 瀏覽:329