導航:首頁 > 編程語言 > java自定義對話框

java自定義對話框

發布時間:2023-09-01 12:48:33

A. java swing Jpanel 怎麼添加一個Jdialog彈出框

通過: 彈出框, 顧名思義就是剛開始看不見, 觸發某個事件後彈出的一個框

所以 我們要讓JPanel響應指定的事件然後彈出 . 比如常見的事件, 滑鼠點擊JPanel後彈出

彈出框. 一般有兩種方法實現

  1. 方法一:JOptionPane 創建1個簡單的彈出框.(代碼量少, 效果簡單)

  2. 方法二Dialog/JDialog 創建1個彈出框.(代碼量長,可以實現復雜的效果)

效果圖

importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;


publicclassDemoextendsJFrame{
JPaneljp;
staticfinalStringtitle="Message";
staticfinalStringcontent="Eggsaren'tsupposedtobegreen.";
publicDemo(){
jp=newJPanel();
jp.setBackground(Color.PINK);
jp.addMouseListener(newMouseAdapter(){
@Override
publicvoidmouseClicked(MouseEvente){
//方法1
JOptionPane.showMessageDialog(null,content,title,JOptionPane.INFORMATION_MESSAGE);
//方法2
newMyDailog(title,content).setVisible(true);//創建1個對話框,並且設置為可見
}
});
add(jp);
setTitle("測試Demo");//標題
setSize(280,280);//窗口大小
setLocationRelativeTo(null);//窗口居中
setDefaultCloseOperation(EXIT_ON_CLOSE);//窗口點擊關閉時,退出程序
setVisible(true);//窗口可見
}

publicstaticvoidmain(String[]args){
newDemo();
}

}

//對話框類
{
Stringtitle;
Stringcontent;

publicMyDailog(Stringtitle,Stringcontent){
this.title=title;
this.content=content;
ImageIconicon=newImageIcon("tp.png");//創建1個圖標實例
JLabeljlImg=newJLabel(icon);//1個圖片標簽,顯示圖片
JLabeljl=newJLabel(content);//1個文字標簽,顯示文本
jl.setForeground(Color.BLUE);//設置文字的顏色為藍色
JButtonjb=newJButton("確定");//創建1個按鈕
jb.addActionListener(this);//給按鈕添加響應事件
add(jlImg);//向對話框加入圖片標簽
add(jl);//向對話框加入文字標簽
add(jb);//向對話框添加按鈕
setLayout(newFlowLayout());//對話框流式布局
setIconImage(icon.getImage());//窗口左上角的小圖標
setTitle(title);//設置標題
setModal(true);//設置為模態窗口
setSize(275,135);//設置對話框大小
setLocationRelativeTo(null);//對話框局域屏幕中央
setResizable(false);//對話框不可縮放
setDefaultCloseOperation(DISPOSE_ON_CLOSE);//當對話框窗口的關閉按鈕[X]被點擊時,銷毀對話框
}

//當確定按鈕被點擊時會執行下面的方法
@Override
publicvoidactionPerformed(ActionEvente){
if(e.getActionCommand().equals("確定")){//判斷是不是確定按鈕被點擊
this.setVisible(false);//對話框不可見
this.dispose();//對話框銷毀
}
}
}

B. 怎麼利用java web編寫一個輸入框和一個按鈕,點擊按鈕彈出一個對話框,顯示你剛才在輸入框輸入的內容

<scripttype="text/javascript">
functionsend(){
vartxt=document.getElementById("input");
alert(txt.value);
}
</script>
<body>
<inputtype="text"id="input"></input>
<buttonid="send"onclick="send();">提交</button>
</body>

C. java對話框實現多個輸入項

效果圖

importjava.awt.BorderLayout;
importjava.awt.GridLayout;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;

importjavax.swing.JButton;
importjavax.swing.JDialog;
importjavax.swing.JLabel;
importjavax.swing.JPanel;
importjavax.swing.JTextField;

{
finalJTextFieldjtf1,jtf2,jtf3;//定義三個輸入框
finalJLabeljlinfo;

publicDHKDemo(){
setTitle("多項輸入對話框");
setModal(true);
setSize(300,200);//對話框的大小
setDefaultCloseOperation(DISPOSE_ON_CLOSE);//關閉後銷毀對話框
setLocationRelativeTo(null);
JLabeljl1=newJLabel("姓名:");
jtf1=newJTextField(8);
JLabeljl2=newJLabel("學號:");
jtf2=newJTextField(8);
JLabeljl3=newJLabel("年齡:");
jtf3=newJTextField(8);
JPaneljp=newJPanel(newGridLayout(3,2));
jp.add(jl1);
jp.add(jtf1);
jp.add(jl2);
jp.add(jtf2);
jp.add(jl3);
jp.add(jtf3);
JButtonjb=newJButton("確認輸入");
jlinfo=newJLabel("信息:",JLabel.CENTER);
jb.addActionListener(newActionListener(){

publicvoidactionPerformed(ActionEvente){
Stringinfo="姓名:"+jtf1.getText()+"學號:"+jtf2.getText()+"年齡:"+jtf3.getText();
jlinfo.setText(info);
}
});

add(jp);
add(jlinfo,BorderLayout.NORTH);
add(jb,BorderLayout.SOUTH);

}

publicstaticvoidmain(String[]args){
newDHKDemo().setVisible(true);
}
}

D. 用java編寫一個程序,程序運行時彈出一個輸入對話框,用戶使用該對話

packagecn.fu;
importjava.awt.BorderLayout;
importjava.awt.EventQueue;
importjavax.swing.JFrame;
importjavax.swing.JPanel;
importjavax.swing.border.EmptyBorder;
importjavax.swing.JOptionPane;
importjavax.swing.JTextField;
importjavax.swing.JLabel;
importjavax.swing.JButton;
importjava.awt.event.ActionListener;
importjava.awt.event.ActionEvent;
importjava.awt.Window.Type;
publicclassLoginextendsJFrame{
privateJPanelcontentPane;
privateJTextFieldtextField;
/**
*Launchtheapplication.
*/
publicstaticvoidmain(String[]args){
EventQueue.invokeLater(newRunnable(){
publicvoidrun(){
try{
Loginframe=newLogin();
frame.setVisible(true);
}catch(Exceptione){
e.printStackTrace();
}
}
});
}
/**
*Createtheframe.
*/
publicLogin(){
setTitle("工具");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100,100,450,300);
contentPane=newJPanel();
contentPane.setToolTipText("");
contentPane.setBorder(newEmptyBorder(5,5,5,5));
setContentPane(contentPane);
contentPane.setLayout(null);
textField=newJTextField();
textField.setBounds(121,86,194,21);
contentPane.add(textField);
textField.setColumns(10);
JLabellblNewLabel=newJLabel("請輸入10位數以內的字元串");
lblNewLabel.setBounds(145,59,194,15);
contentPane.add(lblNewLabel);
JButtonbtnNewButton=newJButton("確定");
btnNewButton.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
Stringca=textField.getText();
intn=ca.length();
if(n>10){
JOptionPane.showMessageDialog(null,"對不起,您輸入的字元串長度超過10",
"錯誤提示",JOptionPane.ERROR_MESSAGE);
}elseif(n>=0||n<=10){
JOptionPane.showMessageDialog(null,"字元串長度為"+n,"提示",
JOptionPane.PLAIN_MESSAGE);
}
}
});
btnNewButton.setBounds(172,130,93,23);
contentPane.add(btnNewButton);
}
}

閱讀全文

與java自定義對話框相關的資料

熱點內容
怎麼用ios玩安卓全民槍戰 瀏覽:666
程序員入行前後的頭發 瀏覽:709
嵌入式圖像演算法 瀏覽:327
伺服器如何訪問伺服器失敗 瀏覽:873
android進度球 瀏覽:999
Linux造成xfs文件夾 瀏覽:455
華為手機怎麼修改wifi加密類型 瀏覽:248
伺服器封口是什麼意思 瀏覽:741
有限元分析是演算法嗎 瀏覽:901
空氣壓縮機性能曲線 瀏覽:20
京城程序員2019 瀏覽:403
android新系統 瀏覽:510
安卓80有什麼bug 瀏覽:678
如何做單機伺服器 瀏覽:943
校訊通查成績怎麼顯示伺服器異常 瀏覽:882
冰箱壓縮機工作壓力是多少 瀏覽:408
程序員20多平米租房 瀏覽:451
電工知識用線的演算法 瀏覽:338
極光推送php伺服器端 瀏覽:5
怎麼用命令方塊控制僵屍 瀏覽:774