Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/396.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
使用JComboBox的Java程序中的警告_Java_Jcombobox - Fatal编程技术网

使用JComboBox的Java程序中的警告

使用JComboBox的Java程序中的警告,java,jcombobox,Java,Jcombobox,我一直在YouTube上的NewBoston学习Java,在学习了两个JComboBox教程和之后,我在程序中发现了三个警告 FirstClass.java import javax.swing.JFrame; public class FirstClass { public static void main(String args[]) { Scrabble go = new Scrabble(); go.setDefaultCloseOpera

我一直在YouTube上的NewBoston学习Java,在学习了两个JComboBox教程和之后,我在程序中发现了三个警告


FirstClass.java

import javax.swing.JFrame;

public class FirstClass {

    public static void main(String args[]) {

        Scrabble go = new Scrabble();
        go.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        go.setSize(300,200);
        go.setVisible(true);

    }

}

Scrabble.java

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class Scrabble extends JFrame {

    private JComboBox box;
    private JLabel picture;

    private static String[] filename = {"Coraline_Small.jpg", "fish.jpg"};
    private Icon[] pics = {new ImageIcon(getClass().getResource(filename[0])), new ImageIcon(getClass().getResource(filename[1]))};

    public Scrabble() {

        super("JComboBox");
        setLayout(new FlowLayout());

        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);               

    }   
}

第一条警告出现在Scrabble.java的第5行

public class Scrabble extends JFrame {
private JComboBox box;
box = new JComboBox(filename);
说:

可序列化类Scrabble不声明静态final long类型的SerialVersionId字段


第二条警告出现在Scrabble.java的第7行

public class Scrabble extends JFrame {
private JComboBox box;
box = new JComboBox(filename);
说:

JComboBox是一种原始类型。对泛型类型JComboBox的引用 应>>参数化


第三个也是最后一个警告出现在Scrabble.java的第18行

public class Scrabble extends JFrame {
private JComboBox box;
box = new JComboBox(filename);
说:

这条线上有多个标记 -类型安全:构造函数JComboBox(对象[])属于原始类型JComboBox。对泛型类型JComboBox的引用应为
参数化 -JComboBox是一种原始类型。对泛型类型JComboBox的引用应该参数化


此外,程序运行成功


所有的帮助都将受到感谢和提前感谢


Jeremy要理解第一条警告,请阅读有关序列化的内容。例如,见

第二个警告是关于在不指定类型的情况下声明JComboBox。要避免出现警告,请添加如下类型:

private JComboBox<String> box;
专用JComboBox;
|