我在Java中有我的项目代码,其中一个类如下所示,但是当我想运行这段代码时,我会在这个类中得到编译错误,代码的一部分是:
package othello.view;
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.BorderFactory;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.border.Border;
import javax.swing.border.EmptyBorder;
import othello.ai.ReversiAI;
import othello.controller.AIControllerSinglePlay;
import othello.controller.AIList;
import othello.model.Board;
import othello.model.Listener;
@SuppressWarnings("serial")
public class TestFrameAIVSAI extends JFrame implements ActionListener, Logger,
Listener {
private static Border THIN_BORDER = new EmptyBorder(4, 4, 4, 4);
public JComboBox<Object> leftAICombo;
public JComboBox<Object> rightAICombo;
private JButton startTest;
private JButton pauseTest;
错误来自两行public JComboBox<Object> leftAICombo;
和public JComboBox<Object> rightAICombo;
,错误是:
The type JComboBox is not generic; it cannot be parameterized with arguments <Object>
有什么问题?
答案 0 :(得分:4)
更改以下行
public JComboBox<Object> leftAICombo;
public JComboBox<Object> rightAICombo;
到
public JComboBox leftAICombo;
public JComboBox rightAICombo;
此处JComboBox<Object>
类型参数仅在java7中引入。如果您使用的jdk低于7,则会出现错误
答案 1 :(得分:4)
在Java 7中将泛型添加到JComboBox
。看起来您正在使用JDK的预告版本。升级到Java 7或删除泛型。建议使用前者,因为它提供了更多功能/修复以及最新版本。