『壹』 java中 怎麼控制一個 彈出框 右上角的關閉按鈕的。
該關閉按鈕與窗口適配器WindowAdapter有關,WindowAdapter中有一個方法:windowClosing(WIndowEvent e){}。該方法用於當滑鼠點擊關閉按鈕,就會執行方法windowClosing(WindowEvent e)中的語句。
『貳』 java設置關閉窗口按鈕
package org.t20110219.test;
/**
* 修改後的代碼
* 能關閉,
* 希望能幫助你
*/
import java.awt.*;
import java.awt.event.*;
public class MainProgram extends Frame implements ActionListener,WindowListener
{
int i;
Button b1 = new Button("確定");
Button b2 = new Button("關閉");
void FlowLayoutEX()
{
this.setTitle("布局管理器");
this.setLayout(new FlowLayout());
this.add(b1);
b1.addActionListener(this);
this.add(b2);
b2.addActionListener(this);
this.addWindowListener(this);
this.setBounds(100, 100, 250, 250);
this.setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
/**------------修改代碼--------------*/
/**
* 修改 合理就可以了
* e.getSource() 可以得到 你點擊了哪個 按鈕
* 判斷之後就可以 設定 對應的 操作了
*/
if(e.getSource()==b2){
System.exit(0);
}else{
i++;
Button bi = new Button("按鈕"+i);
this.add(bi);
this.show(true);
}
}
public void windowClosing(WindowEvent f)
{
System.exit(0);
}
public void windowOpened(WindowEvent f){}
public void windowClosed(WindowEvent f){}
public void windowIconified(WindowEvent f){}
public void windowDeiconified(WindowEvent f){}
public void windowActivated(WindowEvent f){}
public void windowDeactivated(WindowEvent f){}
public static void main(String args[])
{
MainProgram window = new MainProgram();
window.FlowLayoutEX();
}
}
『叄』 java做一個窗口怎麼設置一個退出按鈕
1、打開eclipse,並且建立java一個工程,具體如下代碼:
addActionListene
(newActionListene
()
{
pu
licvoidactionPe
fo
med(ActionEvente)
{
dispose();
}
});
2、執行該程序查看結果,如圖所示。
『肆』 如何在java程序中,當點擊一個按鈕後,關閉當前窗口,開啟一個新的窗口
JButtonbtn=newJButton(newAbstractAction("關閉並打開"){@(ActionEvente){oldFrame.dispose();//關閉並銷毀,無需銷毀可採用oldFrame.setVisible(false);newFrame.setVisible(true);//打開新窗口}});
『伍』 java做一個窗口怎麼設置一個退出按鈕
如果是點擊上面的那個叉號退出的話就加上這樣一句setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
如果是通過按鈕退出就用監聽器實現如:
class MyListener2 implements ActionListener {
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
}
一般情況下這兩種都有。
『陸』 如何在java程序中,當點擊一個按鈕後,關閉當前窗口,開啟一個新的窗口。
首先分析需要的GUI技術
java中一般使用swing 和awt技術來實現圖形界面,Swing組件較多,功能比較強大,所以這里使用Swing組件來實現。窗口使用(JFrame),按鈕使用(JButton)。
設想一個符合題目需求的場景
兩個窗口關聯並且跳轉,最常見的場景就是登陸了。
登陸窗口,輸入用戶名和密碼,如果成功就跳轉到主窗口
核心邏輯,跳轉窗口的關鍵代碼
一般可以隱藏本窗口(setVisible(false);),顯示新窗口來實現窗口的跳轉。
但是隱藏窗口,會在後面浪費系統資源。
如果不再使用該窗口,應該徹底銷毀(dispose();),釋放系統資源
代碼和注釋
LoginFrame 類
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
//LoginFrame登陸窗口功能實現用戶登陸,如果成功就跳轉
//LoginFrame繼承於窗口類,並實現ActionListener介面
{
//申明需要的組件
JButtonjb1,jb2;//按鈕
JTextFieldjtf1;//文本框
JPasswordFieldjpf1;//密碼框
publicLoginFrame(){
//窗口屬性的設置
setTitle("登陸窗");//窗口標題
setSize(300,180);//窗口大小
setLocationRelativeTo(null);//窗口居中
setDefaultCloseOperation(EXIT_ON_CLOSE);//關閉窗口則退出虛擬機
setLayout(newFlowLayout());//設置布局流式布局
JPaneljp=newJPanel(newGridLayout(4,1));//設置面板為表格布局4行1列
//第一行
JPaneljp1=newJPanel();
JLabeljl1=newJLabel("賬號");
jtf1=newJTextField(12);
jp1.add(jl1);
jp1.add(jtf1);
jp.add(jp1);
//第二行
JPaneljp2=newJPanel();
JLabeljl2=newJLabel("密碼");
jpf1=newJPasswordField(12);
jp2.add(jl2);
jp2.add(jpf1);
jp.add(jp2);
//第三行
JPaneljp3=newJPanel();
jb1=newJButton("登陸");
jb1.addActionListener(this);//添加動作響應器
jb2=newJButton("重置");
jb2.addActionListener(this);//添加動作響應器
jp3.add(jb1);
jp3.add(jb2);
jp.add(jp3);
//第四行
JPaneljp4=newJPanel();
JLabeljl3=newJLabel("提示:賬號admin密碼123");
jl3.setForeground(Color.DARK_GRAY);
jp4.add(jl3);
jp.add(jp4);
add(jp);
}
//動作響應
publicvoidactionPerformed(ActionEvente){
Stringcmd=e.getActionCommand();//根據動作命令,來進行分別處理
if(cmd.equals("登陸")){
Stringid=jtf1.getText();//取得用戶名
Stringkey=newString(jpf1.getPassword());//取得密碼
if(id.equals("admin")&&key.equals("123")){//判斷是否登錄成功
//如果登錄成功
setVisible(false);//本窗口隱藏,
newMainFrame(id).setVisible(true);//新窗口顯示
dispose();//本窗口銷毀,釋放內存資源
}else{
//如果登錄失敗彈出提示
JOptionPane.showMessageDialog(this,"用戶名或者密碼錯誤.","通知",JOptionPane.ERROR_MESSAGE);
clearText();//清空文本框密碼框的輸入
}
}elseif(cmd.equals("重置")){
clearText();
}
}
privatevoidclearText(){//清空文本框,密碼框的輸入
jtf1.setText("");
jpf1.setText("");
}
//main方法,程序的入口
publicstaticvoidmain(String[]args){
newLoginFrame().setVisible(true);//創建登錄窗口,並可見
}
}
MainFrame類
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
{
publicMainFrame(Stringname){
setTitle("主窗口");//標題
setSize(300,260);//大小
setLocationRelativeTo(null);//居中
setDefaultCloseOperation(EXIT_ON_CLOSE);
JPaneljp=newJPanel();
JLabeljl1=newJLabel("歡迎");
JLabeljl2=newJLabel(name);
jl2.setForeground(Color.BLUE);//設置文本顏色
JLabeljl3=newJLabel("使用系統.");
jp.add(jl1);
jp.add(jl2);
jp.add(jl3);
add(jp,BorderLayout.NORTH);
JTextAreajta=newJTextArea();
jta.setLineWrap(true);
jta.append("消息提示");
jta.append("消息!通知~!");
JScrollPanejsp=newJScrollPane(jta,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
add(jsp);
JPaneljp2=newJPanel();
JButtonjb=newJButton("退出");
jb.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
System.exit(0);//退出
}
});
jp2.add(jb);
add(jp2,BorderLayout.SOUTH);
}
}
運行效果圖
『柒』 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怎麼設置窗體關閉鍵不可用
import javax.swing.*;
public class Test{
public staticvoid main( String args[]) {
Jframe frame = new JFrame("一個簡單窗口");
frame.setVisible( true);
//用戶單擊窗口的關閉按鈕時程序執行的操作
frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
}
}
/*
setDefaultCloseOperation( ); 各個參數的定義:
1、為「0」或DO_NOTHING_ON_CLOSE:
(在 WindowConstants 中定義):不執行任何操作;要求程序在已注冊的WindowListener 對象的 windowClosing 方法中處理該操作。
2、為「1」或HIDE_ON_CLOSE:
調用任意已注冊的 WindowListener 對象後自動隱藏該窗體。此時沒有關閉程序,只是將程序界面隱藏了。
3、為「2」或DISPOSE_ON_CLOSE:
調用任意已注冊 WindowListener 的對象後自動隱藏並釋放該窗體。但繼續運行應用程序,釋放了窗體中佔用的資源。
4、為「3」EXIT_ON_CLOSE:
(在 JFrame 中定義)使用 System exit 方法退出應用程序。僅在應用程序中使用。結束了應用程序。
5、默認情況下,該值被設置為 HIDE_ON_CLOSE。
『玖』 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);
『拾』 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();
}
}
分享