A. 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類的對象了.現在你懂了吧.你再回去看看我的題干對不對.再告訴我題乾的答案.
====================================
問問題的都是爺.
問問題的都是爺.
問問題的都是爺.
問問題的都是爺.
問問題的都是爺.
問問題的都是爺.
"那是你思維跟我不一樣."
你們全家思維都和別人不一樣.
.別給我發消息了。問題已經給你解決了。
B. 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){
//關閉整個應用程序.如果只是是想關閉當前窗口,可以用
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程序中,當點擊一個按鈕後,關閉當前窗口,開啟一個新的窗口
JButtonbtn=newJButton(newAbstractAction("關閉並打開"){@(ActionEvente){oldFrame.dispose();//關閉並銷毀,無需銷毀可採用oldFrame.setVisible(false);newFrame.setVisible(true);//打開新窗口}});
E. java中關閉當前窗口用什麼代碼
setDefaultCloseOperation(JFrame.EXIT_ON_CLOES)會讓整個程序都退出
JFrame.DISPOSE_ON_CLOSE只讓當前的窗口關閉而已
F. java在後台能關閉頁面嗎
當然可以啊,在Java中設置返回一個布爾值,然後在js中寫下:如果返回值是false就return,不返回任何值,否則執行彈出子畫面操作,望採納
G. JAVA怎麼實現點擊按鈕關閉窗口
你可以按鈕上添加事件把窗口2設置為隱藏。
jButton1.setText("ok");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
jFrame1.setVisible(false);
}
});
另外 按鈕退出的命令是在按鈕的事件中寫
System.exit(0);
H. java中如何關閉當前窗口
窗口關閉應該設置成DISPOSE_ON_CLOSE(窗口關閉),而不是EXIT_ON_CLOSE(程序退出)
I. java中關閉窗口的方法
1 package applicationGraphicsInOut;
2 import java.awt.*;
3 import java.awt.event.*;
4 public class ApplicationGraphicsInOut {
5 public static void main(String args[])
6 {
7 new FrameInOut();
8 }
9
10 }
11 class FrameInOut extends Frame implements ActionListener
12 {
13 Label prompt;
14 TextField input,output;
15 FrameInOut()
16 {
17 super("圖形界面的Java Application程序");
18 prompt=new Label("請輸入您的名字");
19 input=new TextField(6);
20 output=new TextField(20);
21 setLayout(new FlowLayout());
22 add(prompt);
23 add(input);
24 add(output);
25 input.addActionListener(this);
26 setSize(300,200);
27 setVisible(true);
28 }
29 public void actionPerformed(ActionEvent e)
30 {
31 output.setText(input.getText()+",歡迎你");
32 }
33 }
該程序在Eclipse下運行通過,但是就是不能關不掉!
什麼原因呢?
其中有以下幾種解決方法:
1:
把main函數改為如下
1 public static void main(String args[])
2 {
3 Frame fr=new FrameInOut();
4 fr.addWindowListener(new java.awt.event.WindowAdapter()
5 {
6 public void windowClosing(java.awt.event.WindowEvent e)
7 {
8 System.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:代表窗口失活(其他窗口被激活後原活動窗口失活)。
(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 {
3 public void windowClosing(WindowEvent e)
4 {
5 (e.getWindow()).dispose();
6 System.exit(0);
7 }
8
9 @Override
10 public void windowActivated(WindowEvent arg0) {
11 // TODO Auto-generated method stub
12
13 }
14
15 @Override
16 public void windowClosed(WindowEvent arg0) {
17 // TODO Auto-generated method stub
18
19 }
20
21 @Override
22 public void windowDeactivated(WindowEvent arg0) {
23 // TODO Auto-generated method stub
24
25 }
26
27 @Override
28 public void windowDeiconified(WindowEvent arg0) {
29 // TODO Auto-generated method stub
30
31 }
32
33 @Override
34 public void windowIconified(WindowEvent arg0) {
35 // TODO Auto-generated method stub
36
37 }
38
39 @Override
40 public void windowOpened(WindowEvent arg0) {
41 // TODO Auto-generated method stub
42
43 }
44 }