首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何声明JComboBox?

如何声明JComboBox?
EN

Stack Overflow用户
提问于 2017-05-10 17:58:43
回答 1查看 936关注 0票数 0

我创建了一个程序来处理下拉列表,但是我被困在了JComboBox框的声明行中,我得到了这些错误消息:这行的多个标记--构造函数JComboBox(String[])是未定义的--行断点:JComboBox行: 25 - JComboBox()无论我如何定义JComboBox,我都会得到某种错误。请帮我一把。

这是公共类的代码:

代码语言:javascript
复制
    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);

        }

    }

下面是主类的代码:

代码语言:javascript
复制
    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);

        }

    }

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-10 19:57:51

正如@Andy所提到的,您的问题是类和swing组件的名称之间存在冲突。如果您必须将类命名为JComboBox,则必须以完全限定的名称引用swing组件,如下所示

代码语言:javascript
复制
public class JComboBox extends JFrame {

    private javax.swing.JComboBox box;

如果您使用IDE在私有实例上悬停,您应该会看到完全限定的名称与您创建JComboBox类的包相匹配。省去一些痛苦,重新命名你的班级。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43899638

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档