Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何正确使用我的值作为JComboBox.setModel()的参数?_Java_Swing_Exception_Combobox_Defaultlistmodel - Fatal编程技术网

Java 如何正确使用我的值作为JComboBox.setModel()的参数?

Java 如何正确使用我的值作为JComboBox.setModel()的参数?,java,swing,exception,combobox,defaultlistmodel,Java,Swing,Exception,Combobox,Defaultlistmodel,在下面的代码中,我试图创建一个DefaultListModel对象,用于我的JComboBox 显然,setModel()方法只接受ComboBoxModel对象。我试图转换它,但得到了异常,java.lang.ClassCastException 我已经搜索了如何解决这个特定的问题,但找不到任何有用的东西 然后我尝试创建一个ComboBoxModel对象,但是我知道这个类是抽象的。如何绕过此问题,并获取setModel()的有效参数 private void setComboxYears(in

在下面的代码中,我试图创建一个
DefaultListModel
对象,用于我的
JComboBox

显然,
setModel()
方法只接受ComboBoxModel对象。我试图转换它,但得到了异常,
java.lang.ClassCastException

我已经搜索了如何解决这个特定的问题,但找不到任何有用的东西

然后我尝试创建一个ComboBoxModel对象,但是我知道这个类是抽象的。如何绕过此问题,并获取
setModel()
的有效参数

private void setComboxYears(int numberOfYears,jComboxComboBox){
DefaultListModel年份=新的DefaultListModel();
对于(int i=1;i
  • 改用a
  • 请看一下API,因为所有这些信息都可以通过简单的一瞥从中收集
  • 改用a
  • 请看一下API,因为所有这些信息都可以通过简单的一瞥从中收集

  • 如果您正在寻找解决方案,请尝试以下方法:

    final JComboBox<Integer> comboBox = new JComboBox<Integer>();
    Integer[] years = new Integer[numberOfYears];
    for (int i = 0; i < numberOfYears; i++)
        years[i] = i + 1;
    
    comboBox.setModel(new DefaultComboBoxModel<Integer>(years));
    
    final JComboBox组合框=新JComboBox();
    整数[]年=新整数[numberOfYears];
    对于(int i=0;i
    如果您正在寻找解决方案,请尝试以下方法:

    final JComboBox<Integer> comboBox = new JComboBox<Integer>();
    Integer[] years = new Integer[numberOfYears];
    for (int i = 0; i < numberOfYears; i++)
        years[i] = i + 1;
    
    comboBox.setModel(new DefaultComboBoxModel<Integer>(years));
    
    final JComboBox组合框=新JComboBox();
    整数[]年=新整数[numberOfYears];
    对于(int i=0;i
    非常感谢,下次我也一定会研究API。非常感谢,下次我也一定会研究API。谢谢,我很感激这个解决方案。不客气。尽量避免使用原始类型。在这里,始终使用缺少的泛型
    ComboBoxModel
    。您正在将泛型类型强制转换为非泛型类型。抱歉,我是一个新手。什么是原始类型?没有任何类型,例如
    new ArrayList()
    其中缺少类型。将其设置为泛型,例如
    new ArrayList())
    在此阅读更多信息谢谢,我很感谢您的解决方案。不客气。尽量避免使用原始类型。始终将泛型用作missed
    ComboBoxModel
    此处。您正在将泛型类型强制转换为非泛型类型。抱歉,我是新手。什么是原始类型?没有任何类型,例如
    new ArrayList()
    其中缺少类型。请将其设置为泛型,例如
    新建ArrayList()
    在此处阅读更多信息