我想问下程序中的setInfo()和getInfo()它们怎调用的??

//程序1

package myprojects.testdialog;

import java.awt.*;

import java.awt.event.*;

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");//将b1放置到中间

add(b2,"East"); //b2放到东面

b1.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e)

{//以模态的方式打开对话框

MyDialog dlg = new MyDialog(TestDialog.this,"modal dialog",true);

// TestDialog.this调用外部类TestDialog

//假设对话框名称为MyDialog(拥有此对话框的拥有者,标题,T/F是否为模态对话框)

dlg.setInfo(tf.getText()); //设置子窗口打开时显示与主窗口一样的信息

//设置它的信息,,setInfo好像是用于Dialog窗口中的

dlg.setVisible(true);

//显示窗口

tf.setText(dlg.getInfo(/*方法用于返回关闭模态框后返回数据*/));

//设置到主框中

}

}

);

b2.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e)

{//以非模态的方式打开对话框

MyDialog dlg = new MyDialog(TestDialog.this,"modeless dialog",false);

// TestDialog.this调用外部类TestDialog

//假设对话框名称为MyDialog(拥有此对话框的拥有者,标题,T/F是否为模态对话框)

dlg.setInfo(tf.getText());

//设置它的信息

dlg.setVisible(true);

//显示窗口

//tf.setText(dlg.getInfo()); 因为是非模态它不等待子窗口关后才运行,而会立即运行

//设置到主框中

}

}

);

addWindowListener(new WindowAdapter() {

public void windowClosing(WindowEvent e) {

dispose();

System.exit(0);

}

});

}

public void setInfo(String strInfo)

{

tf.setText(strInfo);

}

public static void main(String args[]) {

System.out.println("Starting TestDialog...");

TestDialog mainFrame = new TestDialog();

mainFrame.setSize(400, 400);

mainFrame.setTitle("TestDialog");

mainFrame.setVisible(true);

}

}

/*

*运行过程:

*创好主窗口后,在文本标签设置一个tf.getText()利用它为子窗口设置第一次打开子窗口时显示的信息,

*调用方法进入MyDialog这个类设定子窗口里的内容

*/

//程序2

package myprojects.testdialog;

import java.awt.*; //为TextField

import java.awt.Dialog;

import java.awt.event.*;//为ActionListener

public class MyDialog extends Dialog {

private TextField tf = new TextField(10);

private String strInfo = null;

//拥有者为Frame owner,标题title

//定义一个构造函数,将它传递给父类Dialog

public MyDialog(Frame owner,String title,boolean modal)

{

super(owner,title,modal);

setBounds(0,0,200,150);

//设置窗口大小,还可设置窗口位置

Button b1 = new Button("应用");

Button b2 = new Button("确定");

this.add(tf,"North");

this.add(b1,"Center");

this.add(b2,"East");

if(this.isModal() == true) //判断是否为模态对话框

{

b1.setEnabled(false);

//设定b1不可用

}

b1.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e) //方法

{

((TestDialog)getOwner(/*得到它的拥有者*/)).setInfo(tf.getText());

//返回Owner,再返回主窗口

}

});

b2.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e) //方法

{

if(isModal() == true)

{

strInfo = new String(tf.getText());

}

else

{

((TestDialog/*主窗口名称*/)MyDialog.this.getOwner()).setInfo(tf.getText(/*取出当前标签内容*/));

//用getOwner()把当前标签内容返回到主窗口标签

//主窗口有一个方法setInfo()它自己会调用这个方法自己设定把当前标签内容设到主窗口

}

dispose();

}

});

}

public String getInfo()

{

return strInfo;

}

public void setInfo(String strInfo)

{

tf.setText(strInfo);

}

}

Java成员方法getinfo_我想问下程序中的setInfo()和getInfo()它们怎调用的??相关推荐

  1. python中的and_我想问下python中 逻辑与:“”和“and”的区别

    慕容4345310 1."&"和"and"有本质区别,属于不同类型的运行符号.& 是位运算:and 是逻辑运算.2.首先是&:该运输符属 ...

  2. mysql存储过程实验几轮_想问下数据库中有关存储过程的实验,求大神!

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 DELIMITER || CREATE PROCEDURE procedure_for_customers () BEGIN -- 定义参数 DECLAR ...

  3. 华南理工计算机应用基础考试答案,我想问下华南理工大学继续教育学院大学英语B(一)和计算机应用基础的随堂练习答案有吗?复习题纲有吗?...

    我想问下华南理工大学继续教育学院大学英语B(一)和计算机应用基础的随堂练习答案有吗?复习题纲有吗?,一.我想问下华南理工大学继续教育学院大学英语B(一)和计算机应用基础的随堂练习答案有吗?复习题纲有吗 ...

  4. 什么分数适合学计算机,我是今年高考毕业生分数293,我想问下女孩子学计算机类的专业合适吗?还有我这个分数可以学吗?...

    我是今年高考毕业生分数293,我想问下女孩子学计算机类的专业合适吗?还有我这个分数可以学吗?以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶 ...

  5. mysql存储过程执行两边_麻烦问下,为什么我的mysql存储过程一次调用,会被执行了两次?...

    你的位置: 问答吧 -> MySQL -> 问题详情 麻烦问下,为什么我的mysql存储过程一次调用,会被执行了两次? mysql版本是 mysql-community-5.1.45 系统 ...

  6. Java成员方法getinfo_成员方法

    4.4 成 员 方 法 成员方法描述对象所具有的功能或操作,反映对象的行为, 是具有某种相对独立功能的程序模块.它与过去所说的子程序. 函数等概念相当.一个类或对象可以有多个成员方法,对象通过 执行它 ...

  7. java 登录 https_java – 如何在Web应用程序中实现HTTPS登录页面?

    首先,您需要为您的服务器启用SSL.对于Tomcat,您需要生成一个openSSL密钥库,并将以下连接器添加到server.xml: keystoreFile="mykeystore&quo ...

  8. java按钮退出_java – 如何在此程序中添加退出按钮?怎么样“清楚”?

    我需要添加一个"清除计算器"的按钮,以及一个退出butPanel上的程序的按钮.它也需要是非常基本的 Java代码,因为我是初学者,并且有一个糟糕的comp.sci.老师.我有一个 ...

  9. 用Java实现猜数游戏:在程序中预设一个0-9之间的整数,让用户通过键盘输入所猜的数,如果大于预设的数,显示“遗憾,太大了” ;小于预设的数,显示“遗憾,太小了” ,如此循环,直至猜中该数,

    猜数游戏 在程序中预设一个0-9之间的整数,让用户通过键盘输入所猜的数,如果大于预设的数,显示"遗憾,太大了" ;小于预设的数,显示"遗憾,太小了" ,如此循环 ...

  10. 想把下载的qlv格式视频转MP4格式,想问下大家Java有解决方案么?

    网上很多qlv格式转换为mp4格式的教程比较复杂 一.什么是qlv格式: qlv视频格式是tx视频下载后的一种格式文件,由于其固版的格式特点,通常只能通过tx视频客户端进行播放:支持播放qlv的播放器 ...

最新文章

  1. spring的依赖注入方式详解
  2. Java学习lesson 14
  3. Java 面向对象的程序设计(二)
  4. Hibernate脏检查的剖析
  5. 机器学习之欠拟合与过拟合
  6. DVWA-CSRF-low级别
  7. php方便,两个方便测试PHP特性的小程序
  8. 购买二手房时 众多购房者忽视办理土地证过户
  9. 模板题——数位DP、状态压缩、记忆化搜索
  10. Win系统 - NETSH WINSOCK RESET
  11. 【方向盘】使用IDEA的60+个快捷键分享给你,权为了提效(IDEA导航篇)
  12. day4-数字类型和列表基础
  13. 每日一佳——A Support Vector Method for Multivariate Performance Measures(Thorsten Joachims,ICML,2005)
  14. 行业新宠倔强的尾巴首登亚宠展,朝云集团迅速布局宠物市场
  15. 用pytorch官网命令 安装pytorch1.10.1+CUDA11.1报错
  16. AlexNet神经网络结构
  17. 三十八. geotrellis使用 COG 写入和读取
  18. vs2017或vs2019安装中Microsoft.VisualStudio.MinShell.Msi.Resources出错的问题
  19. php 403 -禁止访问 访问被拒绝,HTTP 错误 403.6 - Forbidden 访问IP地址被拒绝
  20. 二级mysql选择题要对一半才能拿证书_计算机二级选择题需要达到多少分才能及格...

热门文章

  1. var_threshold
  2. android动画入门
  3. VGG19图像风格迁移
  4. mv单位是什么意思_mv单位(mv是什么意思单位)
  5. 虚幻引擎UE4加载GIS数据《数字孪生智慧城市》
  6. 基于轨迹的游客行为特征分析
  7. 2019上半年个人成长复盘
  8. 计算机用户名登录取消,win7系统取消登录界面显示用户名的还原办法
  9. android 国际电话区号,中国国际区号_电话区号_中国区号是多少-中国区号查询
  10. 对于listview条目item上checkbook点击监听回调更新listview外UI以及对listview外checkbook点击监听itemUI变化