Программа перемещения списков JList - PullRequest
0 голосов
/ 25 ноября 2018

Я не знаю, где я иду не так, но вот мой код, и я сталкиваюсь с этой ошибкой.По сути, я смотрел Учебное пособие Баки Робертса по программе перемещения списков, и я спотыкаюсь об этой ошибке.

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 голосов
/ 25 ноября 2018

Поскольку дженерики были добавлены в Java еще в JDK5 (я думаю), вы должны указать класс объекта, который вы хотите добавить в JList.Затем компилятор может проверить, что вы добавляете соответствующие данные в JList.

Вы указываете код с обобщениями, такими как:

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

Теперь компилятор проверит, что вы фактически добавили объект String вмодель и объект модели, содержащий строки в JList.

Конечно, вы также указываете класс при определении модели и списка переменных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...