当前位置:  技术问答>java相关

如何不通过全局变量和静态变量与模态对话框进行数据交换?

    来源: 互联网  发布时间:2015-04-10

    本文导语:  应用程序中常见的那种需要用户输入和选择的选项对话框,不用全局变量和静态变量来保存用户输入的数据可以么?我的思路是在用户点击‘确认’按钮后,将当前对话框对象句柄传给需要使用‘输入数据’的对象,...

应用程序中常见的那种需要用户输入和选择的选项对话框,不用全局变量和静态变量来保存用户输入的数据可以么?我的思路是在用户点击‘确认’按钮后,将当前对话框对象句柄传给需要使用‘输入数据’的对象,这样是可行的么?我不考虑使用全局变量和静态变量的原因是认为这样做安全性不高,我这个考虑是否多余?

|
在JAVA程序设计中本来就不应该有全局变量。因为在程序中所有的角色都应该是对象。
你提的方法可以,但更一般的做法是:

将输入的数据保存到该变量所处的对象中(因为基本元素是对象,所以每一个变量都有它所属的对象),而该对象的保存可以采用几种方式:1,存在SESSION中。2,存在数据库中。3,序列化到硬盘上。

如果是EJB则不需程序员自己编程实现,EJB容器会为你自动保持该对象。

|
可以在创建对话框的时候传进要用对话框数据的类实例,这样就当点击对话框的"确定"按扭后在dispose之前调用用对话框数据类的方法保存到类私有成员变量中去。直接传递引用也可以实现同样功能。

|
你可以将数据封装成一个自定义的mObject,在模态窗口的构造器中将这个mObject传进去,这样就可以在模态窗口中修改数据了.
在 java 核心技术 上有讲这种方法.不记得是I还是II册了.


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 新手问题之二:怎样关闭对话框(JDIALOG)?不是通过工具栏上的X按钮!
  • 关于jbuilder的问题:如何连接菜单事件,如何通过按钮显示别的窗体,如何显示对话框
  • 通过VS中的数据源选择对话框简单实现数据库连接配置[图]
  • 通过javascript实现DIV居中,兼容各浏览器版本
  • applet可以不通过数字签名,通过设置IE直接在本地访问本地文件吗
  • php通过socket_bind()设置IP地址代码示例
  • 我使用.net编译通过,但是使用g++编译不能通过。总是提示我undefined reference to ~myclass()
  • 通过javascript库JQuery实现页面跳转功能代码
  • 紧急求救!能通过jdbc怎样连接sqlsever 然后通过 for xml 关键字得到xml流吗?
  • c#通过委托delegate与Dictionary实现action选择器代码举例
  • 我想我的网站屏蔽掉通过某些网站过来的访问,我想通过htaccess 文件来做,请大家帮帮我。
  • linux下通过crond实现自动执行程序
  • 如何通过INTERNET访问通过共项一条线路上网的局域网中的机器???
  • 通过docker commit命令保存对docker容器的修改
  • 为什么g++编译通过了,而gcc却编译通过不了???
  • 通过docker run命令运行新的docker镜像
  • 请指点: 在windows下能否通过程序来获取linux下的用户列表,甚至通过自己写的windows程序界面增加修改linux的用户
  • 通过docker ps命令检查运行中的docker镜像
  • Jbuilder第一次编译说缺包,引入通过!然后把原来引入的注释,又通过!上帝,救我!
  • Session id实现通过Cookie来传输方法及代码参考
  • 红旗Linux主机可以通过127.0.0.1访问,但如何是连网的Win2000机器通过Linux的IP去访问Linux
  • 通过docker search命令搜索可用docker镜像
  • 请指点: 在windows下能否通过程序来获取linux下的用户列表,甚至通过自己写的windows程序界面增加修改linux的用户 100分相赠
  • Python3通过request.urlopen实现Web网页图片下载
  • 工作站Redhat Linux7.2如何通过NT4.0 proxy代理服务器上网,我不能通过其验证!请高手指点思路和方法!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3