Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 控件未通过if语句_Java_Awt - Fatal编程技术网

Java 控件未通过if语句

Java 控件未通过if语句,java,awt,Java,Awt,我有一个名为country的数据库,其中包含3个表country(country\u name)、state(state\u name、country\u name)、city(city\u name、state\u name),我想在此框架中添加country、state和city,但控件没有通过actionPerformed()下的第二个if语句 这个 if(ae.getSource()==country){ //... if(ae.getSource()==b1){ 是

我有一个名为country的数据库,其中包含3个表country(country\u name)、state(state\u name、country\u name)、city(city\u name、state\u name),我想在此框架中添加country、state和city,但控件没有通过actionPerformed()下的第二个if语句

这个

if(ae.getSource()==country){
    //...
    if(ae.getSource()==b1){
是不可能的,您不能让由两个不同控件触发的
ActionEvent
生成单个
actionPerformed
事件(它们会一个接一个发生)

观察
  • 避免使用
    null
    布局,像素完美的布局在现代ui设计中是一种错觉。影响零部件单个尺寸的因素太多,您无法控制。Swing的设计初衷是与布局管理器一起工作,丢弃这些布局管理器将导致无止境的问题,您将花费越来越多的时间来纠正这些问题
  • AWT已经过时了,人们对Swing甚至JavaFX都有了更多的经验
  • 您没有关闭(数据库)资源,这可能导致无法访问数据库的问题。看看有没有可能的解决办法
  • 我还建议提供更好的组件和视图管理

您是否检查==是否可用于比较MenuItem对象?首先,if语句正在执行,但嵌套if不起作用。您无法使用==运算符比较对象。您必须使用equals()-方法。因此,“ae.getSource()==状态”-比较将永远不会显示预期结果。如果菜单项的语句工作正常,但当您在调试器中单步执行代码时,如果按钮(b1、b2、b3)的语句下的语句不工作,
ae.getActionCommand()
是什么?顺便说一句,不要扔掉异常,尤其是在一个不工作的程序中。
if(ae.getSource()==country){
    //...
    if(ae.getSource()==b1){