你說的是打開非模態(tài)對(duì)話框。

為文山州等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及文山州網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、文山州網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!
如果模態(tài)對(duì)話框不關(guān)閉,無法操作主窗體。喊孝坦如果非模態(tài)對(duì)話框不關(guān)閉,仍然可以操作主窗體。
//構(gòu)造模態(tài)對(duì)話框
final Dialog d = new Dialog(this, "模態(tài)對(duì)話框", true);
//構(gòu)造非模態(tài)對(duì)話框
final Dialog d = new Dialog(this, "模慎圓態(tài)對(duì)話框", false);
樣例程序如下:
import?java.awt.Dialog;
import?java.awt.FlowLayout;
import?java.awt.event.ActionEvent;
import?java.awt.event.ActionListener;
import?java.awt.event.WindowAdapter;
import?java.awt.event.WindowEvent;
import?javax.swing.JButton;
import?javax.swing.JFrame;
public?class?Main?extends?JFrame?implements?ActionListener?{
JButton?btnModel,?btnNonModel;
public?Main()?{
super("對(duì)話框");
this.setLayout(new?FlowLayout());
btnModel?=?new?JButton("打開模態(tài)對(duì)話框");
btnNonModel?=?new?JButton("打開非模態(tài)對(duì)話框");
this.add(btnModel);
this.add(btnNonModel);
btnModel.addActionListener(this);
btnNonModel.addActionListener(this);
this.setSize(200,?200);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public?static?void?main(String[]?args)?{
new?Main();
}
@Override
public?void?actionPerformed(ActionEvent?arg0)?{
JButton?btn?=?(JButton)?arg0.getSource();
if(btn?==?btnModel)?{ //打開模態(tài)對(duì)話框
final?Dialog?d?=?new?Dialog(this,?"模態(tài)對(duì)話框",?true);
d.setSize(800,?600);
d.addWindowListener(new?WindowAdapter()?{
public?void?windowClosing(WindowEvent?evt)?{
d.setVisible(false);
}
});
d.setVisible(true);
}
else?if(btn?==?btnNonModel)?{ //打開非模態(tài)對(duì)話框
final?Dialog?d?=?new?Dialog(this,?"非模態(tài)對(duì)話框",?false);
d.setSize(800,?600);
d.addWindowListener(new?WindowAdapter()?鄭桐{
public?void?windowClosing(WindowEvent?evt)?{
d.setVisible(false);
}
});
d.setVisible(true);
}
}
}
setModal(true)時(shí),顯示的,是模態(tài)窗口,此時(shí)界面線程阻塞,無法操作其他迅穗散界面了,只能操作族肢此對(duì)畝氏話框上的內(nèi)容。
一般用于顯示警告/錯(cuò)誤信息、錄入信息等。
//問題的關(guān)鍵在于,如何從jDialog中獲取jFrame的引用。
//我是用內(nèi)部類的形式解決該問題的。而且直接操作jFrame的早清組件。
//還可以在新建自定義jDialog類時(shí),傳入jFrame的引用。
import?java.awt.BorderLayout;
import?java.awt.GridLayout;
import?java.awt.event.ActionEvent;
import?java.awt.event.ActionListener;
import?javax.swing.JButton;
import?javax.swing.JDialog;
import?javax.swing.JFrame;
import?javax.swing.JLabel;
import?javax.swing.JTextArea;
import?javax.swing.JTextField;
public?class?FrameTest?extends?JFrame?{
private?JTextArea?textArea;
public?static?void?main(String[]?args)?{
new?FrameTest();
}
public?FrameTest()?{
this.setSize(400,?300);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
initPanel();
this.setVisible(true);
}
private?void?initPanel()?{
JButton?button?=?new?JButton("Add");
textArea?=?new?JTextArea();
button.addActionListener(new?ActionListener()?{
public?void?actionPerformed(ActionEvent?e)?{
openDialog();
}
});
this.add(button,?BorderLayout.NORTH);
this.add(textArea,?BorderLayout.CENTER);
}
private?void?openDialog()?{
final?JDialog?dialog?=?new?JDialog(this,?true);
含友????dialog.setSize(300,?200);
dialog.setLocation(getX()?+?50,?getY()?+?50);
dialog.setLayout(new?GridLayout(3,?2));
final?JTextField?name?=?new?JTextField(10);
final?JTextField?phone?=?new?JTextField(10);
JButton?save?=?new?JButton("保存");
JButton?cancel?=?new?JButton("取消");
save.addActionListener(new?ActionListener()?{
public?void?actionPerformed(ActionEvent?e)?{
textArea.append(name.getText()?+?":"?+?phone.getText()?+?"\n");
dialog.dispose();
}
});
cancel.addActionListener(new?ActionListener()?{
public?void?actionPerformed(ActionEvent?e)?{
dialog.dispose();
}
});
dialog.add(new?JLabel("姓名:"));
dialog.add(name);
dialog.add(new?JLabel("Tel :"));
dialog.add(phone);
dialog.add(save);
談睜槐????dialog.add(cancel);
dialog.setVisible(true);
}
}
網(wǎng)站欄目:java代碼添加模態(tài)框 java動(dòng)態(tài)加載類框架
當(dāng)前網(wǎng)址:http://chinadenli.net/article1/dsphsod.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化、網(wǎng)頁設(shè)計(jì)公司、營銷型網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站建設(shè)、服務(wù)器托管、品牌網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)