Ⅰ 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);
}
}
}