我创建了一个程序来处理下拉列表,但是我被困在了JComboBox框的声明行中,我得到了这些错误消息:这行的多个标记--构造函数JComboBox(String[])是未定义的--行断点:JComboBox行: 25 - JComboBox()无论我如何定义JComboBox,我都会得到某种错误。请帮我一把。
这是公共类的代码:
import javax.swing.*;
import java.awt.FlowLayout;
import java.awt.Font;
import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.JRadioButton;
import javax.swing.ButtonGroup;
import java.awt.event.ItemListener;
import java.awt.event.ItemEvent;
public class JComboBox extends JFrame {
private JComboBox box;
private JLabel picture;
private static String[] filename = { "p.png", "i.png" };
private Icon pics[] = { new ImageIcon(getClass().getResource(filename[0])),
new ImageIcon(getClass().getResource(filename[1])) };
public JComboBox() {
super("This is the title");
setLayout(new FlowLayout());
JComboBox box = new JComboBox(filename);
box.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent event) {
if (event.getStateChange() == ItemEvent.SELECTED) {
picture.setIcon(pics[box.getSelectedIndex()]);
}
}
});
add(box);
picture = new JLabel(pics[0]);
add(picture);
}
}下面是主类的代码:
import javax.swing.*;
public class JComboBox1 extends JFrame {
public static void main(String[] args) {
JComboBox Box = new JComboBox();
Box.setVisible(true);
Box.setSize(400,400);
Box.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}谢谢。
发布于 2017-05-10 19:57:51
正如@Andy所提到的,您的问题是类和swing组件的名称之间存在冲突。如果您必须将类命名为JComboBox,则必须以完全限定的名称引用swing组件,如下所示
public class JComboBox extends JFrame {
private javax.swing.JComboBox box;如果您使用IDE在私有实例上悬停,您应该会看到完全限定的名称与您创建JComboBox类的包相匹配。省去一些痛苦,重新命名你的班级。
https://stackoverflow.com/questions/43899638
复制相似问题