日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java弹窗代码_JAVA的弹窗怎么做?

發(fā)布時(shí)間:2023/12/20 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java弹窗代码_JAVA的弹窗怎么做? 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

展開全部

JAVA彈窗,有下面常見的2種方法實(shí)現(xiàn):通過JDialog(模式32313133353236313431303231363533e4b893e5b19e31333363376562窗口) 類來實(shí)現(xiàn).里面的寫法類似JFrame

重點(diǎn)方法提示:?setModal(true);

//當(dāng)設(shè)置為true表示,如果不關(guān)閉這個(gè)彈窗,那么主界面的其他組件都無法操作,該彈窗置于其他窗口的前面

//當(dāng)設(shè)置為false表示,可以繞開本彈窗,對(duì)主界面的其他組件進(jìn)行操作

優(yōu)點(diǎn): 功能強(qiáng)大, ?擴(kuò)展性強(qiáng)

缺點(diǎn): 代碼量大.

示例圖

通過JOptionPane(提示框) 來實(shí)現(xiàn)

效果圖如下

優(yōu)點(diǎn): 代碼量少,簡(jiǎn)單,方便, 普通場(chǎng)景已經(jīng)夠用

缺點(diǎn): 擴(kuò)展性不夠, 復(fù)雜邏輯難以實(shí)現(xiàn).

下面寫一個(gè)具體案例

場(chǎng)景:當(dāng)用于對(duì)文本域的文字,進(jìn)行操作后,那么退出時(shí),提示用戶, 是否要保存已經(jīng)更改后的內(nèi)容. ?如果用戶沒有修改內(nèi)容,那么不用提示

重點(diǎn)代碼

addDocumentListener-->用于實(shí)現(xiàn)對(duì)文本內(nèi)容發(fā)生改變時(shí)進(jìn)行響應(yīng)

addWindowListener--->用于實(shí)現(xiàn)對(duì)窗口進(jìn)行操作時(shí)進(jìn)行響應(yīng)

完整代碼如下import?java.awt.Font;

import?java.awt.event.*;

import?javax.swing.*;

import?javax.swing.event.*;

public?class?JDDemo?extends?JFrame?implements?DocumentListener,WindowListener{

JTextArea?jta;

boolean?flag;

public?JDDemo()?{

jta?=?new?JTextArea();//文本域

jta.setText("床前明月光");//文本域的文字-->可以通過IO加載txt文檔的文字

jta.setFont(new?Font("宋體",Font.BOLD,?20));//文本域的字體

jta.setLineWrap(true);//設(shè)置自動(dòng)換行

jta.getDocument().addDocumentListener(this);//添加文檔變化事件的響應(yīng).比如修改,刪除等

JScrollPane?jsp?=?new?JScrollPane(jta);//滾動(dòng)面板(當(dāng)文字太多時(shí),顯示滾動(dòng)條)

add(jsp);

setTitle("主窗口");//標(biāo)題

setSize(300,?260);//大小

setLocationRelativeTo(null);//居中

setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);//點(diǎn)擊窗口的關(guān)閉按鈕時(shí),執(zhí)行windowClosing的代碼

addWindowListener(this);

setVisible(true);//窗口可見

}

public?static?void?main(String[]?args)?{

new?JDDemo();

}

//實(shí)現(xiàn)WindowListener接口,需要重寫下面的6個(gè)方法,?windowClosing專門處理關(guān)閉時(shí)的方法

public?void?windowOpened(WindowEvent?e)?{

}

public?void?windowClosing(WindowEvent?e)?{

if(flag){

int?n?=?JOptionPane.showConfirmDialog(null,?"已經(jīng)更改了內(nèi)容,需要保存后再退出嗎?",?"提示",JOptionPane.YES_NO_OPTION);

//n等于-1表示關(guān)閉了彈出的對(duì)話框等情況的默認(rèn)值

//n等于0(JOptionPane.YES_OPTION)表示選擇了Yes

//n等于1(JOptionPane.NO_OPTION)表示選擇了No

if(n==JOptionPane.YES_OPTION){

//把文字保存到文件的代碼省略...

System.out.println("正在使用IO進(jìn)行保存..ing");

closeFrame();//關(guān)閉窗口并退出

}else?if(n==JOptionPane.NO_OPTION){

System.out.println("放棄保存修改.馬上退出");

closeFrame();

}

}else{

closeFrame();

}

}

public?void?windowClosed(WindowEvent?e)?{

}

public?void?windowIconified(WindowEvent?e)?{

}

public?void?windowDeiconified(WindowEvent?e)?{

}

public?void?windowActivated(WindowEvent?e)?{

}

public?void?windowDeactivated(WindowEvent?e)?{

}

//文檔事件,有下面三個(gè),如果觸發(fā)其中一個(gè),都可以認(rèn)為修改了文檔,所以需要在退出時(shí)進(jìn)行提示,是否保存

public?void?insertUpdate(DocumentEvent?e)?{//插入

flag=true;

}

public?void?removeUpdate(DocumentEvent?e)?{//刪除

flag=true;

}

public?void?changedUpdate(DocumentEvent?e)?{//改變

flag=true;

}

//關(guān)閉窗口的方法

public?void?closeFrame(){

this.setVisible(false);//窗口不可見

this.dispose();//窗口銷毀

System.exit(0);//JVM虛擬機(jī)退出

}

}

運(yùn)行效果圖:

總結(jié)

以上是生活随笔為你收集整理的java弹窗代码_JAVA的弹窗怎么做?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。