JList移动​​列表程序

时间:2018-11-25 12:12:13

标签: java swing compiler-warnings jlist

我不知道我要去哪里,但是这是我的代码,我正面临着这个错误。 基本上,我在看Bucky Roberts的移动列表程序教程,而我为此错误而绊脚石。

Note: .\Multiple_Selection_List.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

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

public class Multiple_Selection_List extends JFrame
{
    private JList leftList;
    private JList rightList;
    private JButton moveButton;
    private DefaultListModel model;
    private DefaultListModel model2;

    public Multiple_Selection_List()
    {
        super("Multiple Selection List");
        setLayout(new FlowLayout());

        model=new DefaultListModel();
        model.addElement("Random");

        model2 = new DefaultListModel();
        model2.addElement("Random");

        leftList = new JList(model);
        leftList.setVisibleRowCount(3);
        leftList.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
        add(new JScrollPane(leftList));

        moveButton = new JButton("Move to right  ------------->");
        moveButton.addActionListener
        (
            new ActionListener()
            {
                public void actionPerformed(ActionEvent event)
                {
                    rightList.setListData(leftList.getSelectedValuesList().toArray());
                }
            }
        );

        add(moveButton);

        rightList=new JList(model2);
        rightList.setVisibleRowCount(3);
        rightList.setFixedCellWidth(100);
        rightList.setFixedCellHeight(15);
        rightList.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
        add(new JScrollPane(rightList));
    }
}

1 个答案:

答案 0 :(得分:1)

由于在JDK5中将泛型添加到Java中(我认为),因此您应该指定要添加到JList的对象的类。然后,编译器可以验证是否已将适当的数据添加到JList。

您使用类似泛型的代码指定代码:

model = new DefaultListModel<String>();
model.addElement("Random");
leftList = new JList<String>( model );

现在,编译器将验证您是否确实在模型中添加了String对象,并在JList中添加了包含字符串的模型对象。

当然,您在定义模型和列出变量时也要指定类。