首页 新闻 会员 周边

(JAVA)如何从两个不同窗体中获取不同的组件文本值,从监听器使用一个方法进行参数传递给数据访问层

0
悬赏园豆:50 [已解决问题] 解决于 2019-10-11 18:35

最近做一个培训的答辩项目,卡在了一个关卡上。做的是模拟一个服装管理软件,做的库存调拨功能。

遇到的难题是,有两个窗体。窗体A和窗体B。

其中A窗体上有两个下拉栏(JComBox),分别为“调出仓库”和“调入仓库”,两个下拉栏中各位保存着一个字符串数组提供选择,数组内容为:正品仓与次品仓。然后窗体A上有一个选择商品添加按钮,点击后会触发监听事件弹出窗体B。

而窗体B上有一个文本框,一个查询按钮,以及一个带有滚动条的表单。表单则是当我获取了窗体A上的调出仓库选择条件到数据库进行匹配后显示返回的表单元素。(比如调出仓选择了正品仓,我就在窗体B的表单上显示所有正品仓的商品信息)。文本框是用来让用户输入商品编号或名称,然后在已经选择到的调出仓库条件并返回的结果集中进行查询。

现在我在窗体B的表单模型中写了一个方法,传递了三个字符串参数,然后在mouselistener的监听中重写了鼠标点击方法,请问,我要如何做到在调用窗体B表单模型的方法时,将分属于窗体A的调出仓库和调入仓库以及窗体B中的文本框输入信息这个三个参数进行同时传递,而不造成空指针异常。

我现在就是传递的数据一直都是空指针异常。使用输出语句在数据库访问层实现类中输出,也是null。首先我采用了get方法同时获取了调出仓,调入仓,输入的商品编号或者名称文本框中的值,并强制转型,赋值给定义的String类型的变量。然后使用if判断,当前窗体是否为窗体A,之后嵌套if判断是否点击了选择商品按钮,在嵌套if判断是否点击了查询按钮,如果条件都成立,调用表单模型填充标题元素的方法,将 三个参数进行传递(监听器--表单模型--业务逻辑--数据访问,再返回结果集)。只是现在我传递的参数永远为null。不明白错在哪里?求解答

格子分析的主页 格子分析 | 初学一级 | 园豆:157
提问于:2016-12-16 00:40
< >
分享
最佳答案
0

调用B类时传参——那么至少经历:构造,和Show这两个函数,重构这个函数加上你要传的参数即可。你也可以对B增加成员,直接对其赋值;还可以静态方式.....方法很多,面向对象方式一般用重写函数方式。

收获园豆:50
花飘水流兮 | 专家六级 |园豆:13560 | 2016-12-16 09:15
其他回答(3)
0

检查一下 get方法同时获取了调出仓,调入仓,输入的商品编号或者名称文本框中的值 ,在强制类型转换前

silianpan | 园豆:571 (小虾三级) | 2016-12-16 02:19
0

描述的太啰嗦,界面贴出来,然后说下你的需求

冰原小白狼 | 园豆:202 (菜鸟二级) | 2016-12-16 14:44
0

java swing基本用不着。没见过用这个开发东西的

一剑侵心 | 园豆:281 (菜鸟二级) | 2016-12-22 14:20
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册