我是Kotlin的新手,正在将一些Java代码转换为它。

我想出的代码是:

val comboBox: JComboBox<*> = JComboBox<Any?>()
        comboBox.font = Font("苹方", Font.PLAIN, 15)
        comboBox.setModel(DefaultComboBoxModel<Any?>(s))   /*
error:Out-projected type 'JComboBox<*>' prohibits the use of '@BeanProperty public open fun setModel(p0: ComboBoxModel<E!>!): Unit defined in javax.swing.JComboBox'
*/
       comboBox.setBounds(341, 73, 170, 28)
        panel.add(comboBox)

但出现以下错误:
Error:Kotlin:Out-projected type 'JComboBox<*>' prohibits the use of '@BeanProperty public open fun setModel(p0: ComboBoxModel<E!>!)

我究竟做错了什么?

为了完整起见,这是我的原始Java代码:
JComboBox comboBox = new JComboBox();
        comboBox.setFont(new Font("苹方", Font.PLAIN, 15));
        comboBox.setModel(new DefaultComboBoxModel(s));
        comboBox.setBounds(341, 73, 170, 28);
        panel.add(comboBox);

最佳答案

之前的代码:

val comboBox: JComboBox<*> = JComboBox<Any?>()

应该更改为:
val comboBox = JComboBox<Any?>()

10-08 03:12