本文目錄一覽:
JAVA的彈窗怎麼做?
JAVA彈窗,有下面常見的2種方法實現:
通過JDialog(模式窗口) 類來實現.裡面的寫法類似JFrame
重點方法提示: setModal(true);
//當設置為true表示,如果不關閉這個彈窗,那麼主界面的其他組件都無法操作,該彈窗置於其他窗口的前面
//當設置為false表示,可以繞開本彈窗,對主界面的其他組件進行操作
優點: 功能強大, 擴展性強
缺點: 代碼量大.
示例圖
通過JOptionPane(提示框) 來實現
效果圖如下
優點: 代碼量少,簡單,方便, 普通場景已經夠用
缺點: 擴展性不夠, 複雜邏輯難以實現.
下面寫一個具體案例
場景:當用於對文本域的文字,進行操作後,那麼退出時,提示用戶, 是否要保存已經更改後的內容. 如果用戶沒有修改內容,那麼不用提示
重點代碼
addDocumentListener–用於實現對文本內容發生改變時進行響應
addWindowListener—用於實現對窗口進行操作時進行響應
完整代碼如下
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);//設置自動換行
jta.getDocument().addDocumentListener(this);//添加文檔變化事件的響應.比如修改,刪除等
JScrollPane jsp = new JScrollPane(jta);//滾動面板(當文字太多時,顯示滾動條)
add(jsp);
setTitle(“主窗口”);//標題
setSize(300, 260);//大小
setLocationRelativeTo(null);//居中
setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);//點擊窗口的關閉按鈕時,執行windowClosing的代碼
addWindowListener(this);
setVisible(true);//窗口可見
}
public static void main(String[] args) {
new JDDemo();
}
//實現WindowListener介面,需要重寫下面的6個方法, windowClosing專門處理關閉時的方法
public void windowOpened(WindowEvent e) {
}
public void windowClosing(WindowEvent e) {
if(flag){
int n = JOptionPane.showConfirmDialog(null, “已經更改了內容,需要保存後再退出嗎?”, “提示”,JOptionPane.YES_NO_OPTION);
//n等於-1表示關閉了彈出的對話框等情況的默認值
//n等於0(JOptionPane.YES_OPTION)表示選擇了Yes
//n等於1(JOptionPane.NO_OPTION)表示選擇了No
if(n==JOptionPane.YES_OPTION){
//把文字保存到文件的代碼省略…
System.out.println(“正在使用IO進行保存..ing”);
closeFrame();//關閉窗口並退出
}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) {
}
//文檔事件,有下面三個,如果觸發其中一個,都可以認為修改了文檔,所以需要在退出時進行提示,是否保存
public void insertUpdate(DocumentEvent e) {//插入
flag=true;
}
public void removeUpdate(DocumentEvent e) {//刪除
flag=true;
}
public void changedUpdate(DocumentEvent e) {//改變
flag=true;
}
//關閉窗口的方法
public void closeFrame(){
this.setVisible(false);//窗口不可見
this.dispose();//窗口銷毀
System.exit(0);//JVM虛擬機退出
}
}
運行效果圖:
哪裡有java視頻教程?求推薦。
java視頻教程網站:Codecademy、慕課網和實驗樓。
1、Codecademy:
Codecademy是一家國外知名的在線學習編程的網站,世界各地的人都在上面學習編程,雖然是全英文的,但是大多數單詞都比較通熟易懂,在學習編程的同時,也可以提高我們的英語閱讀能力,遇到實在不認識的單詞,可以用谷歌翻譯一下。Codecademy會根據你的愛好和目前水平,給你推薦合適的課程,我感覺還挺不錯的。
2、慕課網:
慕課網是垂直的互聯網IT技能免費學習網站。我認為是目前國內最好的編程類學習網站,資源十分豐富,以獨家視頻教程為特色,學習成本較低。慕課網上幾乎涵蓋了目前所有主流技術的教程。
3、實驗樓:
實驗樓是以實驗為核心的IT在線教育網站,網站為IT學習者提供實踐操作實驗環境和全面的IT課程。這是一家格外注重實踐操作的網站,這也是它的特色所在,裡面設置了各種樓賽,進行挑戰升級,學習成本較低,學習效率較高。
哪有免費的JAVA教程?
java最新基礎入門教程百度網盤免費資源在線學習
鏈接:
提取碼: qrd2
java最新基礎入門教程 千鋒java基礎教程:第19章 項目實戰 千鋒java基礎教程:第18章 GUI事件處理 千鋒java基礎教程:第17章 XML與JSON 千鋒java基礎教程:第16章 註解 千鋒java基礎教程:第15章 枚舉 千鋒java基礎教程:第14章 正則表達式 千鋒java基礎教程:第13章 泛型 千鋒java基礎教程:第12章 反射與內省 千鋒java基礎教程:第11章 網路編程 千鋒java基礎教程:第10章 多線程與並發 千鋒java基礎教程:第09章 集合 千鋒java基礎教程:第08章 文件與IO 千鋒java基礎教程:第07章 常用類庫 千鋒java基礎教程:第06章 Eclipse與異常處理
原創文章,作者:BLCX,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/137867.html