Ⅰ java如何實現模式窗體
setModel(true)
不好意思,這個好像是JDialog的方法,你一定要用JFrame嗎?
用JDialog也可以啊
Ⅱ java關閉模態對話框
比如JDialog jDialog;
那麼調用jDialog.dispose()來關閉此窗口(釋放資源)。
Ⅲ 如何用Java script寫模式窗體
a.html 內容如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> A </TITLE>
<script language="javaScript">
function change(){
var value = window.showModalDialog("b.html",document);
if(value!=""){
alert(value);
}
}
</script>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>
<BODY>
<input type="text" id="username" readonly="1">
<input type="button" onClick="change()" value="查找">
</BODY>
</HTML>
----------------偶是分割線------------------
b.html內容如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<base target="_self">
<TITLE> B </TITLE>
<script language="javaScript">
window.returnValue="這個是從B.html返回的值";
function change(){
var doc = window.dialogArguments;
var username = document.getElementById("busername").value;
<!--這里是在用a.html的doc對象操作a頁面中的文本框-->
doc.getElementById("username").value = username;
window.close();
}
</script>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>
<BODY>
<!--這里還能用table等,獲取跟多的信息(比如雙擊單元格獲取單元格裡面的值)-->
<input type="text" id="busername"/>
<input type="button" onClick="change()" value="確定">
</BODY>
</HTML>
----------------偶是分割線------------------
參考資料
基本介紹:
showModalDialog() (IE 4+ 支持)
showModelessDialog() (IE 5+ 支持)
window.showModalDialog() 方法用來創建一個顯示HTML內容的模態對話框。
window.showModelessDialog() 方法用來創建一個顯示HTML內容的非模態對話框。
使用方法:
vReturnValue = window.showModalDialog(sURL [, vArguments] [,sFeatures])
vReturnValue = window.showModelessDialog(sURL [, vArguments] [,sFeatures])
參數說明:
sURL -- 必選參數,類型:字元串。用來指定對話框要顯示的文檔的URL。
vArguments -- 可選參數,類型:變體。用來向對話框傳遞參數。傳遞的參數類型不限,包括數組等。對話框通過window.dialogArguments來取得傳遞進來的參數。
sFeatures -- 可選參數,類型:字元串。用來描述對話框的外觀等信息,可以使用以下的一個或幾個,用分號「;」隔開。
----------------
1. dialogHeight: 對話框高度,不小於100px
2. dialogWidth: 對話框寬度。
3. dialogLeft: 離屏幕左的距離。
4. dialogTop: 離屏幕上的距離。
5. center: { yes | no | 1 | 0 } : 是否居中,默認yes,但仍可以指定高度和寬度。
6. help: {yes | no | 1 | 0 }: 是否顯示幫助按鈕,默認yes。
7. resizable: {yes | no | 1 | 0 } [IE5+]: 是否可被改變大小。默認no。
8. status: {yes | no | 1 | 0 } [IE5+]: 是否顯示狀態欄。默認為yes[ Modeless]或no[Modal]。
9. scroll: { yes | no | 1 | 0 | on | off }:是否顯示滾動條。默認為yes。
下面幾個屬性是用在HTA中的,在一般的網頁中一般不使用。
10. dialogHide:{ yes | no | 1 | 0 | on | off }:在列印或者列印預覽時對話框是否隱藏。默認為no。
11. edge:{ sunken | raised }:指明對話框的邊框樣式。默認為raised。
12. unadorned:{ yes | no | 1 | 0 | on | off }:默認為no。
參數傳遞:
1. 要想對話框傳遞參數,是通過vArguments來進行傳遞的。類型不限制,對於字元串類型,最大為4096個字元。也可以傳遞對象,例如:
-------------------------------
parent.htm
<script>
var obj = new Object();
obj.name="51js";
window.showModalDialog("modal.htm",obj,"dialogWidth=200px;dialogHeight=100px");
</script>
modal.htm
<script>
var obj = window.dialogArguments
alert("您傳遞的參數為:" + obj.name)
</script>
-------------------------------
2. 可以通過window.returnValue向打開對話框的窗口返回信息,當然也可以是對象。例如:
------------------------------
parent.htm
<script>
str =window.showModalDialog("modal.htm",,"dialogWidth=200px;dialogHeight=100px");
alert(str);
</script>
modal.htm
<script>
window.returnValue="http://www..com";
</script>
Ⅳ JAVA模態窗體
showdialog, 模式窗體只能對當前窗體進行操作,當前窗體必須有應答才有下一步的動作
Ⅳ java模態窗口
好像有個setModal(true),這個方法,不記得了,好久不用java做桌面應用了,桌面應用不是java的菜
Ⅵ JAVA SWING 用了JDialog的模態窗口後,為什麼監聽器沒反應了
你的意思是作為單獨窗口時可以運行,作為彈出窗口時會有問題?我覺得是父界面裡面那個負責彈出JDialog窗口的按鈕有問題,你仔細看看那個按鈕的監聽器,是不是在彈出JDialog之後又在做一個很耗時間的事情,或者在做等待JDialog結束的事,而JDialog里的事件處理必須等到這個函數結束之後才能進行,因而發生了死鎖。
一般來說這樣寫就行了
void actionPerformed(..) {
JDialog d = new JDialog(frame, true);
d.setVisibale(true);
}
如果你做了更多的事,就要好好檢查一下。
郁悶,我給的答案又顯示不了,只要匿名再回答一次。
Ⅶ 急急急!! java 新建了一個jFrame窗體和一個模態Dialog ,jFrame裡面有個表
假設JFrame中的表格為JTable myTable;
則對話框可以這樣創建:
classMyDlgextendsJDialog{
MyDlg(JTableaTable){
introw=aTable.getSelectedRow();//獲取選中行
intcol=0;
System.out.println("["+row+","+col+"]="+aTable.getValueAt(row,col));
}
}
Ⅷ 【求助】如何在Java裡面關閉模態窗口
模態窗口顯示後,必須要在模態窗口裡才能關閉,因為它顯示後,程序就停止在的那句話上,就是停止在SetVisible
,控制權到了dlg里,必須給dlg編程來關閉
Ⅸ java.swing中的JDialog類的問題
關於模態對話框和非模態對話框的解釋:
模態對話框(Modal Dialogue Box,又叫做模式對話框),是指在用戶想要對對話框以外的應用程序進行操作時,必須首先對該對話框進行響應。一般來說,Windows應用程序中,對話框分為模態對話框和非模態對話框兩種。二者的區別在於當對話框打開時,是否允許用戶進行其他對象的操作。
參考代碼
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
//窗口類
{
JButtonjb1,jb2;
publicMyFrame(){
jb1=newJButton("模態對話框");
jb1.addActionListener(this);
jb2=newJButton("非模態對話框");
jb2.addActionListener(this);
JPaneljp=newJPanel();
jp.add(jb1);
jp.add(jb2);
add(jp,BorderLayout.NORTH);
setTitle("窗口");//窗口標題
setSize(300,200);//窗口大小
setLocationRelativeTo(null);//居中
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//當點擊窗口右上角的關閉按鈕時,退出虛擬機,結束
}
publicstaticvoidmain(String[]args){
MyFramemf=newMyFrame();
mf.setVisible(true);
}
@Override
publicvoidactionPerformed(ActionEvente){
JButtonjb=(JButton)e.getSource();
//判斷按鈕是哪一個被點擊了
if(jb1==jb){
MyDialogmd1=newMyDialog(this,"模態對話框");
md1.setModal(true);//設置為模態窗口
md1.setVisible(true);//對話框可見
}elseif(jb2==jb){
MyDialogmd2=newMyDialog(this,"非模態對話框");
md2.setVisible(true);
}
}
}
//對話框類
classMyDialogextendsJDialog{
publicMyDialog(Frameowner,Stringtitle){
super(owner,title);//調用JDialog父類的構造方法
//JDialog(Dialogowner,Stringtitle)
//創建一個具有指定標題和指定所有者的對話框。
JLabeljl=newJLabel("彈出的窗口");
add(jl);
setSize(200,120);//大小
//setModal(true);//設置為模態
setLocationRelativeTo(null);//居中
setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);//當點擊對話框右上角的關閉按鈕時,銷毀該對話框
}
}
效果圖
Ⅹ 問下各位大神,在java編寫的程序中點擊菜單欄的一個菜單項,比如在格式菜單下的字體和顏色,彈出一個窗口
你說的是打開非模態對話框。
如果模態對話框不關閉,無法操作主窗體。如果非模態對話框不關閉,仍然可以操作主窗體。
//構造模態對話框
final Dialog d = new Dialog(this, "模態對話框", true);
//構造非模態對話框
final Dialog d = new Dialog(this, "模態對話框", false);
樣常式序如下:
importjava.awt.Dialog;
importjava.awt.FlowLayout;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjava.awt.event.WindowAdapter;
importjava.awt.event.WindowEvent;
importjavax.swing.JButton;
importjavax.swing.JFrame;
{
JButtonbtnModel,btnNonModel;
publicMain(){
super("對話框");
this.setLayout(newFlowLayout());
btnModel=newJButton("打開模態對話框");
btnNonModel=newJButton("打開非模態對話框");
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);
}
publicstaticvoidmain(String[]args){
newMain();
}
@Override
publicvoidactionPerformed(ActionEventarg0){
JButtonbtn=(JButton)arg0.getSource();
if(btn==btnModel){ //打開模態對話框
finalDialogd=newDialog(this,"模態對話框",true);
d.setSize(800,600);
d.addWindowListener(newWindowAdapter(){
publicvoidwindowClosing(WindowEventevt){
d.setVisible(false);
}
});
d.setVisible(true);
}
elseif(btn==btnNonModel){ //打開非模態對話框
finalDialogd=newDialog(this,"非模態對話框",false);
d.setSize(800,600);
d.addWindowListener(newWindowAdapter(){
publicvoidwindowClosing(WindowEventevt){
d.setVisible(false);
}
});
d.setVisible(true);
}
}
}