错误:“只有在明确请求注释处理时才接受类名”

时间:2012-04-24 20:34:04

标签: java compilation javac

  

可能重复:
  Java Compile Problem: Class names are only accepted if annotation processing is explicitly requested

我遇到了一个问题。我正在使用深红色的编辑器。有人可以解释这个错误意味着什么吗?

//这是我的程序

package test.rim.bbapps.testcase.lib;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class michaeltictactoe2 implements ActionListener {

    /* Instance variables */

    private JFrame window = new JFrame (" TicTacToe");
    private JButton button1 = new JButton ("") ;
    private JButton button2 = new JButton ("") ;
    private JButton button3 = new JButton ("") ;
    private JButton button4 = new JButton ("") ;
    private JButton button5 = new JButton ("") ;
    private JButton button6 = new JButton ("") ;
    private JButton button7 = new JButton ("") ;
    private JButton button8 = new JButton ("") ;
    private JButton button9 = new JButton ("") ;
    private String letter = "";
    private int count = 0; 
    private boolean win = false; 

    public michaeltictactoe2 () {
        //* Create Window * /
        window.setSize (300,300);
        window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        window.setLayout ( new GridLayout (3, 3));

        /* Adding buttons to the window*/
        window.add(button1);
        window.add(button2);
        window.add(button3);
        window.add(button4);
        window.add(button5);
        window.add(button6);
        window.add(button7);
        window.add(button8);
        window.add(button9);

        /* Add the action listener to the Button */
        button1.addActionListener(this);
        button2.addActionListener(this);
        button3.addActionListener(this);
        button4.addActionListener(this);
        button5.addActionListener(this);
        button6.addActionListener(this);
        button7.addActionListener(this);
        button8.addActionListener(this);
        button9.addActionListener(this);

        //* make the window visible * /
        window.setVisible (true) ;
    }

    public void actionPerformed (ActionEvent a) {
        count++;

        /* Calculate who's turn it is */
        if (count == 1 || count == 3|| count == 5 || count == 7 || count == 9) {
            letter = "X"; 
        } else if ( count == 2 || count == 4 || count  == 6 || count == 8  ) {
            letter = "O";   
        }

        /* Display X's or O's on the buttons */
        if ( a.getSource () == button1) {
            button1.setText ( letter ) ;
            button1.setEnabled (false);
        } else if (a.getSource () == button2) {
            button2.setText(letter);
            button2.setEnabled(false); 
        } else if (a.getSource () == button3) {
            button3.setText(letter);
            button3.setEnabled(false); 
        } else if (a.getSource () == button4) {
            button4.setText(letter);
            button4.setEnabled(false); 
        } else if (a.getSource () == button5) {
            button5.setText(letter);
            button5.setEnabled(false); 
        } else if (a.getSource () == button6) {
            button6.setText(letter);
            button6.setEnabled(false); 
        } else if (a.getSource () == button7) {
            button7.setText(letter);
            button7.setEnabled(false); 
        } else if (a.getSource () == button8) {
            button8.setText(letter);
            button8.setEnabled(false); 
        } else if (a.getSource () == button9) {
            button9.setText(letter);
            button9.setEnabled(false);
        }

        // * Determine who won */
        // horizontal wins
        if ( button1.getText () == button2.getText ()
            && button2.getText () == button3.getText ()
            && button1.getText () != "") {

            win = true;

        } else if ( button4.getText () == button5.getText ()
                    && button5.getText () == button6.getText ()
                    && button4.getText () != "") {
            win = true;

        } else if ( button7.getText () == button8.getText ()
                &&    button8.getText () == button9.getText ()
                &&    button7.getText () != "") {
                win = true;

            // Verticle wins 
        } else if (button1.getText() == button4.getText ()
               && button4.getText() == button7.getText ()
               && button1.getText() != "") {
               win = true; 

        } else if (button2.getText() == button5.getText()
                &&  button5.getText() == button8.getText()
                &&  button2.getText() != "") {
               win = true;
        } else if ( button3.getText() == button6.getText()
                &&   button6.getText() == button9.getText()
                &&   button9.getText() != "") {
               win = true ;

        // Diagonal wins 
        } else if (button1.getText() == button5.getText()
                && button5.getText() == button9.getText()
                && button1.getText() != "") {
                win = true; 

         } else if (button3.getText() == button5.getText()
                 && button5.getText() == button7.getText()
                 && button3.getText() != "") {
                win = true;
         } else {
                win = false ;
         }

        /* show a dialog is someone wins or the game is tie*/
        if ( win == true) {
            JOptionPane.showMessageDialog(null, letter + " YOU WIN!");
        } else if (count == 9 && win == false) {
            JOptionPane.showMessageDialog ( null , " Tie Game!" ) ;  
        }
    }

    public static void main (String [] args) {
        new michaeltictactoe2 () ;
    }
}

这是错误

---------- Capture Output ----------
> "C:\Program Files\Java\jdk1.6.0_22\bin\javac.exe" michaeltictactoe2
error: Class names, 'michaeltictactoe2', are only accepted if annotation processing is explicitly requested
1 error

> Terminated with exit code 1.

1 个答案:

答案 0 :(得分:33)

您忘记在编译命令中包含.java:

javac michaeltictaxtoe2.java
                       ^^^^^ add this