Java 错误:检查以查看所选项目时,getSelectedItem()方法未定义

Java 错误:检查以查看所选项目时,getSelectedItem()方法未定义,java,Java,我正在为我的班级做一个投票程序。到目前为止,我已经完成了GUI以及投票的登录窗口。但是,在向用户投票的人添加投票时,我遇到了一个问题。我的程序基本上是这样工作的:用户选择他们投票的人(JComboBox),当他们单击提交按钮(JButton)时,它会在一个单独的文本文件中为他们添加投票。错误是,当我搜索以查看谁被选中时,该部分的第一行显示错误。错误是“error:getSelectedItem()方法对于java.lang.String类型是未定义的”。执行此操作的代码部分是: if (

我正在为我的班级做一个投票程序。到目前为止,我已经完成了GUI以及投票的登录窗口。但是,在向用户投票的人添加投票时,我遇到了一个问题。我的程序基本上是这样工作的:用户选择他们投票的人(JComboBox),当他们单击提交按钮(JButton)时,它会在一个单独的文本文件中为他们添加投票。错误是,当我搜索以查看谁被选中时,该部分的第一行显示错误。错误是“error:getSelectedItem()方法对于java.lang.String类型是未定义的”。执行此操作的代码部分是:

    if (evt.getSource() == submitButton){ //JButton 
           for (int i = 0; i < valiNames.length; i++) {
            if (valiNames[i].getSelectedItem().toString()) { /*Checks to see who in the JComboBox is selected. Alse where error occurs.*/

              createScanner("ValiVotes.txt"); //Calls to seprate routine seen below.

              for (int j = 0; in.hasNext(); j++) {
                addValiVotes(); //Seprate sub-routine seen below.
               valiVotes[j] = in.nextInt();
              }
              valiVotes[i]++;          
              try {
        PrintWriter out = new PrintWriter(new FileWriter ("VotesCounted.txt"));          
                for (int j = 0; j < valiVotes.length;j++) {
                  out.println(valiVotes[j]);               
                }
                out.close();
              } catch (IOException exc) {          
              }            
              break;
            }
          }
        }      


    public static void addValiVotes() {
      int newSize = 1 + valiVotes.length;
      int[] newData = new int[newSize];
      System.arraycopy(valiVotes, 0, newData, 0, valiVotes.length);
      valiVotes = newData;
      voteCount++;
    }


    public static void createScanner(String fileName) {
      while(true){
        try {
          in = new Scanner( new File(fileName));
          break;
        }
        catch (FileNotFoundException e) {
          System.out.println("Wrong File");
        }
      }
    }
if(evt.getSource()==submitButton){//JButton
for(int i=0;i
这是创建组合框并向其中添加人员的地方

     public static void main(String[] args) { /*Theres more to the main-routine, this is just where the ComboBox stuff happens*/
      valiComboBox = new JComboBox();
      centerPanel.add(valiComboBox);
      valiComboBox.setBounds(20, 70, 230, 40);
      valiComboBox.addActionListener(listener);
      valiComboBox.addItem("Please select a candidate below...");

      createScanner("ValiNames.txt");
      int j = 0;
      while (in.hasNext()) {
        addValiNames();
        valiNames[j] = in.next();
        j++;
      }

      for (int k = 0; k < valiNames.length; k++) {
        valiComboBox.addItem(valiNames[k]);
      }

}
publicstaticvoidmain(String[]args){/*主例程还有更多内容,这正是ComboBox内容发生的地方*/
valiComboBox=新的JComboBox();
中心面板。添加(valiComboBox);
valiComboBox.立根(20,70,230,40);
valiComboBox.addActionListener(listener);
valiComboBox.addItem(“请在下面选择候选人…”);
createScanner(“ValiNames.txt”);
int j=0;
while(在.hasNext()中){
addValiNames();
valiNames[j]=in.next();
j++;
}
for(int k=0;k
我认为您需要测试在
JComboBox
中选择的值,假设它包含
String
值,否则您必须调用方法
toString()


或者如果您的
JComboBox
包含的对象不是
String

if(myJComboBox.getSelectedItem().toString().equals(valiNames[i]))

valiNames
是否为
String[]
类型?我不太清楚你的意思,但我在我的帖子中添加了更多涉及组合框的代码。组合框中的名称正在从另一个文本文件中读取,我忘了提到这一点。
if(myJComboBox.getSelectedItem().toString().equals(valiNames[i]))