导入布尔变量时出错

时间:2013-07-06 19:37:58

标签: java netbeans

我有两个类,一个名为AdminMenu的类,其中变量VoteCycle是一个布尔变量,只要启用了VoteCycle,就可以让投票人投票,而另一个叫做LogInMenu的类我希望使用它。

我正在为我的学校项目做这件事。

我遇到的问题是,即使我选择启用意味着将布尔值更改为true,我仍然得到错误的输出..如果你不明白我的意思,我的代码应该解释它。

它非常基本的编程。

班级

 public class AdminMenu extends javax.swing.JFrame {
    public boolean VoteCycle;

方法

private void VoteComboBoxActionPerformed(java.awt.event.ActionEvent evt) {
if(vCycle.getSelectedItem().toString().equalsIgnoreCase("True"))
{
VoteCycle=true;
}
else if(vCycle.getSelectedItem().toString().equalsIgnoreCase("False"))
{
VoteCycle=false;
}
}

这是我想使用变量来允许用户登录的类。 该类称为LogInMenu()。 在课程开始时,我创建了一个类的对象,其中变量是使用

定义的
AdminMenu AdminMenu=new AdminMenu();
DataValidation validate=new DataValidation();
ConnectDB db=new ConnectDB();

我将发布此课程的相关代码:

private void EnterBtnActionPerformed(java.awt.event.ActionEvent evt) {
if(AdminMenu.VoteCycle)
{
     String Voter=voter.getText();

     boolean detail = false;

    if (validate.Verify(Voter))// Validates Data
    {
        try
        {
            detail = db.VoterLogIn(Voter);
        }
        catch (Exception e)
        {
            System.out.println(e.getMessage());
        }
        if (detail)
        {
            new VoterMenu().setVisible(true);
            this.dispose();
        }
        else
        {
            JOptionPane.showMessageDialog(null, "The Username or Password entered is incorrect");// error message
        }    
    } 
}
else
{
JOptionPane.showMessageDialog(null, "Voting is currently disabled", "Error",     JOptionPane.ERROR_MESSAGE);  
}

即使选择了启用的组合框选项,我也会返回LogInMenu类 如果我尝试登录,则会收到“当前已禁用投票”错误。

我非常感谢您提供的任何帮助,谢谢!

P.S:我不确定如何使用切换按钮并在登录管理员菜单时保留其状态,或者根本不知道如何使用切换按钮。

所以我正在使用一个combox框来设置我的变量值。

2 个答案:

答案 0 :(得分:1)

  

我遇到的问题是,即使我选择了启用功能   将布尔值更改为true,我仍然得到false   输出..

因为,JComboBox vCycle的元素是{ "Disabled", "Enabled", " " },而您正在检查selectedItemtrue的{​​{1}}。您应该比较falsevCycle的{​​{1}}的选定值,而不是DiabledEnabled

true

答案 1 :(得分:0)

除了检查错误的文本值True和False而不是Enabled和Disabled之外,您的代码无法处理 的情况。

将您的代码更改为行:

VoteCycle = vCycle.getSelectedItem().toString().equalsIgnoreCase("Enabled");

不仅代码更少,更易读,而且(