十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
Java中幾種常見的消息對話框
創(chuàng)新互聯(lián)專注于灤南網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠為您提供灤南營銷型網(wǎng)站建設(shè),灤南網(wǎng)站制作、灤南網(wǎng)頁設(shè)計(jì)、灤南網(wǎng)站官網(wǎng)定制、微信小程序開發(fā)服務(wù),打造灤南網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供灤南網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。
1、JOptionPane.ERROR_MESSAGE:顯示向用戶表明錯(cuò)誤的對話框 ?
對應(yīng)圖標(biāo) ? ?
2、JOptionPane.INFORMATION_MESSAGE:顯示向用戶傳達(dá)指示性信息的對話框;用戶可以僅取消該對話框?
對應(yīng)圖標(biāo)??? ? ? ?
3、JOptionPane.WARNING_MESSAGE:顯示警告的對話框,說明某個(gè)潛在的問題
對應(yīng)圖標(biāo)??? ? ?
4、JOptionPane.QUESTION_MESSAGE:顯示向用戶提出問題的對話框。該對話框通常要求用戶響應(yīng),諸如單擊Yes或者No按鈕 ? ? ?
對應(yīng)圖標(biāo)??
5、JOptionPane.PLAIN_MESSAGE:顯示只有消息而沒有圖標(biāo)的對話框 ? ?
沒有圖標(biāo) ? ?
if(true){
out.println("scriptalert('彈出來了');/script");
}
// 上面這個(gè)是寫在JSP 頁面上的.
"要求是(若用戶名或密碼為空(包括空格字符)則提示"
你的意思是不是你在做登陸的時(shí)候要求用戶輸入用戶名和密碼? 而且不能為空?
如果是這樣的話,你可以在 提交 按鈕上加一句 onclick ='checkinfo()' .調(diào)用一個(gè) JS來進(jìn)行判定.
JS可以寫成...
if(document.getElementByID("用戶名").value==null || document.getElementByID("用戶名").value=="")
{
alert("請輸入用戶名");
retrun false ;
}else if(document.getElementByID("密碼").value==null || document.getElementByID("密碼").value=="")
{
alert("請輸入密碼");
retrun false ;
}else {
return true ;
}
這樣的話,在你點(diǎn)提交的時(shí)候,會(huì)先進(jìn)行JS的驗(yàn)證, 如果有其中一項(xiàng)沒有填寫則回彈出對應(yīng)的提示框,并返回false.表單提交不了.......否則返回一個(gè)真值, 這個(gè)時(shí)候你的 表單就能順利提交了....
復(fù)雜的對話消息框可以參考JDialog
說明: JDialog的寫法和JFrame基本類似. 可以自由添加組件等,代碼量偏多.
簡單的消息對話框可以使用JOptionPane
說明: 功能較少, 可拓展性不強(qiáng),但是代碼非常簡潔. 適合大多數(shù)的應(yīng)用場景.
效果圖
舉例:
public?class?Demo?{
public?static?void?main(String[]?args)?{
JOptionPane.showMessageDialog(null,?"提示:今天天氣不錯(cuò)喲~");??
JOptionPane.showMessageDialog(null,?"提示:?6/0出錯(cuò),?被除數(shù)不能為0!?",?"警告",JOptionPane.ERROR_MESSAGE);??
}
}
關(guān)于觸發(fā)的舉例
效果圖
參考代碼
import?java.awt.*;
import?java.awt.event.*;
import?javax.swing.*;
//該窗口繼承自JFrame.?
public?class?DemoFrame?extends?JFrame?implements?ActionListener{
JTextField?jtf;
JButton?jb;
public?DemoFrame()?{
jtf?=?new?JTextField(8);
jtf.setText("Hello?~");
jb?=?new?JButton("顯示文本框的內(nèi)容");
jb.addActionListener(this);
JPanel?jp?=?new?JPanel();
jp.add(jtf);
jp.add(jb);
add(jp);
setTitle("窗口");//?窗口標(biāo)題
setSize(380,?185);//?窗口大小
setLocationRelativeTo(null);//?窗口居中
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//?通常添加這行代碼,點(diǎn)擊窗口右下角的關(guān)閉時(shí)會(huì)結(jié)束程序
setVisible(true);
}
//?main方法
public?static?void?main(String[]?args)?{
new?DemoFrame();
}
@Override
public?void?actionPerformed(ActionEvent?e)?{
JButton?jb1?=?(JButton)?e.getSource();
if(jb==jb1)?{
JOptionPane.showMessageDialog(null,?"文本框的內(nèi)容是:"+jtf.getText());
}
}
}
拓展:
更多的關(guān)于JDialog和JOptionPane兩個(gè)組件的使用方法, 可以查看java API文檔
建議經(jīng)常查看java的 API文檔, 網(wǎng)上有很多的中文版. 不熟悉的類和方法,就看看, 是學(xué)習(xí)的利器~
有兩點(diǎn)要修改
首先你沒有加監(jiān)聽器
but1.addActionListener(this);
其次,e.getSource()是獲取事件源,應(yīng)該是but1
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==but1)
{
d.setVisible(true);
}
}