Я изучаю серию руководств по Java. У меня вопрос по учебнику 72.
Ссылка: http://www.youtube.com/watch?v=9z_8yEv7nIc&feature=relmfu
В 7:02 видео это заявление написано. Тем не менее, этот метод устарел в Java 1.7.
RightList.setListData(LeftList.getSelectedValues());
Eclipse возвращает следующую ошибку:
Object[] javax.swing.JList.getSelectedValues()
getSelectedValues
@Deprecated
public Object[] getSelectedValues()
Deprecated. As of JDK 1.7, replaced by getSelectedValuesList()
Returns an array of all the selected values, in increasing order based on their indices in the list.
Returns:
the selected values, or an empty array if nothing is selected
See Also:
isSelectedIndex(int), getModel(), addListSelectionListener(javax.swing.event.ListSelectionListener)
Но это возвращает ошибку: «Метод setListData(Object[]) in the type JList is not applicable for the arguments (List)'
.
Как правильно заменить вышеприведенное утверждение?
Кроме того, я хочу воспользоваться этой возможностью, чтобы задать еще один не связанный вопрос. Лучше ли инициализировать переменные вне метода, например:
private JList LeftList = new JList();
private JList RightList = new JList();
private JButton Move = new JButton("Move -->");
private static String[] Items = {"Item 1", "Item 2","Item 3","Item 4","Item 5"};
По сравнению с (как показано на видео): объявление переменных вне класса, как указано выше, но присвоение им значений внутри метода?
Работает ли лучше?