關於封裝彈窗丶java教程網的信息

本文目錄一覽:

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-hant/n/137867.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
BLCX的頭像BLCX
上一篇 2024-10-04 00:18
下一篇 2024-10-04 00:18

相關推薦

  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • Java Bean加載過程

    Java Bean加載過程涉及到類加載器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean加載的過程。 一、類加載器 類加載器是Java虛擬機…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • MQTT使用教程

    MQTT是一種輕量級的消息傳輸協議,適用於物聯網領域中的設備與雲端、設備與設備之間的數據傳輸。本文將介紹使用MQTT實現設備與雲端數據傳輸的方法和注意事項。 一、準備工作 在使用M…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Python3.6.5下載安裝教程

    Python是一種面向對象、解釋型計算機程序語言。它是一門動態語言,因為它不會對程序員提前聲明變量類型,而是在變量第一次賦值時自動識別該變量的類型。 Python3.6.5是Pyt…

    編程 2025-04-29
  • Deepin系統分區設置教程

    本教程將會詳細介紹Deepin系統如何進行分區設置,分享多種方式讓您了解如何規劃您的硬盤。 一、分區的基本知識 在進行Deepin系統分區設置之前,我們需要了解一些基本分區概念。 …

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字符串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字符串中是否存在多個指定字符: 一、字符串遍歷 字符串是Java編程中非常重要的一種數據類型。要判斷字符串中是否存在多個指定字符…

    編程 2025-04-29

發表回復

登錄後才能評論