Dialog(模态和非模态两种,FileDialog不再举例):
package gui.test08;
import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Frame;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class TestDialog extends Frame {
private TextField tf = new TextField(10);
public TestDialog() {
Button b1 = new Button("打开模态对话框");
Button b2 = new Button("打开非模态对话框");
add(tf,"North");
add(b1,"Center");
add(b2,BorderLayout.EAST);
//
b1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
MyDialog dlg = new MyDialog(TestDialog.this,"modal dialog",true);
dlg.setInfo(tf.getText());
dlg.setVisible(true);//模态对话框阻塞在这里,直到它被关闭
//...
tf.setText(dlg.getInfo());
}
});
//
//
b2.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
MyDialog dlg = new MyDialog(TestDialog.this,"nonModal dialog",false);
dlg.setInfo(tf.getText());
dlg.setVisible(true);//非模态对话框后面的代码会继续往下执行,不会阻塞
//...
//tf.setText(dlg.getInfo());
}
});
//
addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
dispose();
System.exit(0);
}
});
}
public static void main(String[] args) {
TestDialog mainFrame = new TestDialog();
mainFrame.setSize(400, 400);
mainFrame.setTitle("TestDialog");
mainFrame.setVisible(true);
}
public void setInfo(String text) {
tf.setText(text);
}
}
///////////////////////////////////////////////
package gui.test08;
import java.awt.Button;
import java.awt.Dialog;
import java.awt.Frame;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class MyDialog extends Dialog {
private TextField tf = new TextField(10);
private String strInfo = null;
public MyDialog(Frame testDialog, String title, boolean modal) {
super(testDialog, title, modal);
setBounds(0, 0, 200, 150);
Button b1 = new Button("应用");
Button b2 = new Button("确定");
//
add(tf, "North");
add(b1, "Center");
add(b2, "East");
if (this.isModal()) {
b1.setEnabled(false);
}
//
b1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
((TestDialog)(MyDialog.this.getOwner())).setInfo(tf.getText());
}
});
//
//
b2.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if(isModal()){
strInfo = tf.getText();
}else{
((TestDialog)(MyDialog.this.getParent())).setInfo(tf.getText());
}
dispose();
}
});
//
}
public String getInfo() {
return strInfo;
}
public void setInfo(String text) {
tf.setText(text);
}
}
分享到:
相关推荐
java课程设计大作业,java、算法练手项目,适合初学java、数据结构的同学拿来学习研究,基于java、GUI开发的小游戏,程序都经过测试,可以直接运行,资源含程序运行所需的源码、资源文件等全部数据,有需要的可放心...
使用java语言,开发一个模拟太阳系的GUI小项目。主要是对GUI部分的使用以及对于java项目如何打包的方式的实践。
java课程设计大作业,java、算法练手项目,适合初学java、数据结构的同学拿来学习研究,基于java、GUI开发的小游戏,程序都经过测试,可以直接运行,资源含程序运行所需的源码、资源文件等全部数据,有需要的可放心...
java课程设计大作业,java、算法练手项目,适合初学java、数据结构的同学拿来学习研究,基于java、GUI开发的小游戏,程序都经过测试,可以直接运行,资源含程序运行所需的源码、资源文件等全部数据,有需要的可放心...
java课程设计大作业,java、算法练手项目,适合初学java、数据结构的同学拿来学习研究,基于java、GUI开发的小游戏,程序都经过测试,可以直接运行,资源含程序运行所需的源码、资源文件等全部数据,有需要的可放心...
java课程设计大作业,java、算法练手项目,适合初学java、数据结构的同学拿来学习研究,基于java、GUI开发的小游戏,程序都经过测试,可以直接运行,资源含程序运行所需的源码、资源文件等全部数据,有需要的可放心...
"Java练手小项目"通常是指使用Java编程语言进行实践操作的小型应用程序,旨在帮助开发者提升技能、熟悉Java特性和编程流程。在这个特定的案例中,我们关注的是一个名为"简易通企业进销存管理系统"的项目。进销存管理...
java课程设计大作业,java、算法练手项目,适合初学java、数据结构的同学拿来学习研究,基于java、GUI开发的小游戏,程序都经过测试,可以直接运行,资源含程序运行所需的源码、资源文件等全部数据,有需要的可放心...
### Java GUI设计原则详解 #### 一、理解用户与任务分析 **1.1 知晓你的用户** 在设计任何用户界面之前,首先要了解的是你的目标用户群体。设计师往往容易从自身角度出发来构建系统,这可能导致最终产品的可用性...
java课程设计大作业,java、算法练手项目,适合初学java、数据结构的同学拿来学习研究,基于java、GUI开发的小游戏,程序都经过测试,可以直接运行,资源含程序运行所需的源码、资源文件等全部数据,有需要的可放心...
java课程设计大作业,java、算法练手项目,适合初学java、数据结构的同学拿来学习研究,基于java、GUI开发的小游戏,程序都经过测试,可以直接运行,资源含程序运行所需的源码、资源文件等全部数据,有需要的可放心...
java课程设计大作业,java、算法练手项目,适合初学java、数据结构的同学拿来学习研究,基于java、GUI开发的小游戏,程序都经过测试,可以直接运行,资源含程序运行所需的源码、资源文件等全部数据,有需要的可放心...
java课程设计大作业,java、算法练手项目,适合初学java、数据结构的同学拿来学习研究,基于java、GUI开发的小游戏,程序都经过测试,可以直接运行,资源含程序运行所需的源码、资源文件等全部数据,有需要的可放心...
java课程设计大作业,java、算法练手项目,适合初学java、数据结构的同学拿来学习研究,基于java、GUI开发的小游戏,程序都经过测试,可以直接运行,资源含程序运行所需的源码、资源文件等全部数据,有需要的可放心...
java课程设计大作业,java、算法练手项目,适合初学java、数据结构的同学拿来学习研究,基于java、GUI开发的小游戏,程序都经过测试,可以直接运行,资源含程序运行所需的源码、资源文件等全部数据,有需要的可放心...
java课程设计大作业,java、算法练手项目,适合初学java、数据结构的同学拿来学习研究,基于java、GUI开发的小游戏,程序都经过测试,可以直接运行,资源含程序运行所需的源码、资源文件等全部数据,有需要的可放心...
java课程设计大作业,java、算法练手项目,适合初学java、数据结构的同学拿来学习研究,基于java、GUI开发的小游戏,程序都经过测试,可以直接运行,资源含程序运行所需的源码、资源文件等全部数据,有需要的可放心...
java课程设计大作业,java、算法练手项目,适合初学java、数据结构的同学拿来学习研究,基于java、GUI开发的小游戏,程序都经过测试,可以直接运行,资源含程序运行所需的源码、资源文件等全部数据,有需要的可放心...
在本项目"Java练手_电子时钟"中,我们主要关注的是如何使用Java编程语言来实现一个实时更新的数字时钟。这个练习涉及到多个Java技术领域,包括Java线程、AWT(Abstract Window Toolkit)绘图库以及Swing组件库。下面...
java课程设计大作业,java、算法练手项目,适合初学java、数据结构的同学拿来学习研究,基于java、GUI开发的小游戏,程序都经过测试,可以直接运行,资源含程序运行所需的源码、资源文件等全部数据,有需要的可放心...