JComboBox类型不是通用的;它不能使用参数<object> </object>进行参数化

时间:2013-06-21 11:50:44

标签: java

我在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>

有什么问题?

2 个答案:

答案 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或删除泛型。建议使用前者,因为它提供了更多功能/修复以及最新版本。