我在Frame的类的构造函数里面这样写:
                     if(isImageProcessingMode == true){
      DRIPMinit();//扫描,图像处理
     }
     else if(isDataEntryMode == false){
      DRDEMinit();//数据录入
     }
希望的是能够通过菜单选择不同的模式,就是做两个界面。通过这个isImageProcessingMode 和isDataEntryMode 来判断选择哪个Frame,但是我默认的是第一个模式,而选择的时候,选择了第二个模式,Boolean值的显示是正确的,但是Frame变不过来,不知道是什么地方出了问题

解决方案 »

  1.   

    那不要用if  elseif 
    用两个if 语句试试
      

  2.   

    那不要用if elseif  
    用两个if 语句试试
      

  3.   

    viewDataEntryMode.addActionListener(new ActionListener() {
              public void actionPerformed(ActionEvent e) {
               if (JOptionPane.showConfirmDialog(new JFrame(),
                   "是否确定进入数据登录模式,若无保存将清空数据", "提示",
                   JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION){
                      TeleAFrame.isDataEntryMode = true;
                      TeleAFrame.isImageProcessingMode = false;
                      new TeleAFrame();
                 }
              }
          });
    我在这里写的不知道对不对,那个改成两个if也不行,但是显示的Boolean值是已经正确改动了
      

  4.   

    我把那个地方改为
    viewDataEntryMode.addActionListener(new ActionListener() {
              public void actionPerformed(ActionEvent e) {
               if (JOptionPane.showConfirmDialog(new JFrame(),
                   "是否确定进入数据登录模式,若无保存将清空数据", "提示",
                   JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION){
                      TeleAFrame.isDataEntryMode = true;
                      TeleAFrame.isImageProcessingMode = false;
                      TeleAGUI.aframe.setVisible(false);
                      TeleAGUI.aframe = new TeleAFrame();
                      TeleAGUI.aframe.setVisible(true); 
                 }
              }
          });
    这样的话,可以切换,但是会有问题,就是先关闭再出现,衔接上感觉不是很流畅
      

  5.   

    我把那个地方改为
    viewDataEntryMode.addActionListener(new ActionListener() {
              public void actionPerformed(ActionEvent e) {
               if (JOptionPane.showConfirmDialog(new JFrame(),
                   "是否确定进入数据登录模式,若无保存将清空数据", "提示",
                   JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION){
                      TeleAFrame.isDataEntryMode = true;
                      TeleAFrame.isImageProcessingMode = false;
                      TeleAGUI.aframe.setVisible(false);
                      TeleAGUI.aframe = new TeleAFrame();
                      TeleAGUI.aframe.setVisible(true); 
                 }
              }
          });
    这样的话,可以切换,但是会有问题,就是先关闭再出现,衔接上感觉不是很流畅
    TeleAGUI这个是包含main函数的类,Frame做成static的