Новые книги

Как включить ноутбук? Как его зарядить? С чего вообще начать? Зачем на клавиатуре столько кнопок? На какие нужно нажимать и в каком порядке, чтобы заработало/выключилось/включилось/открылось?..

Эти и другие вопросы возникают у человека, никогда раньше не работавшего на ноутбуке. Но окружающим кажется, что включить ноутбук и начать с ним работать – это настолько элементарно, что и говорить не о чем. А многим людям терпеливое и толковое объяснение – нужно! Без четкого понимания, казалось бы, элементарных действий им сложно начать общение с ноутбуком.

Эта книга все меняет! Потому что автор понимает тех, кто впервые начал общение с компьютерной техникой. Автор учел все вопросы, которые задают новички. Шаг за шагом, подробно, просто и очень-очень терпеливо он объясняет, как включить и выключить ноутбук, как открыть программу, как набрать и сохранить текст или посмотреть фото.

Следуя за инструкциями, вы очень скоро сможете смотреть любимые сериалы, писать письма, создавать любые документы, искать информацию в сети Интернет и бесплатно звонить по всему миру при помощи программы Skype. И все это – без сложных слов и ненужных подробностей!
As distributed computer systems become more pervasive, so does the need for understanding how their operating systems are designed and implemented. Andrew S. Tanenbaum's Distributed Operating Systems fulfills this need. Representing a revised and greatly expanded Part II of the best-selling Modern Operating Systems, it covers the material from the original book, including communication, synchronization, processes, and file systems, and adds new material on distributed shared memory, real-time distributed systems, fault-tolerant distributed systems, and ATM networks. It also contains four detailed case studies: Amoeba, Mach, Chorus, and OSF/DCE. Tanenbaum's trademark writing provides readers with a thorough, concise treatment of distributed systems.

Списки класса List

Списки класса List

Оглавление

Компоненты
Кнопки
Переключатели
Списки Choice
Списки List
Поле Label
Поле TextField
Поле TextArea
Аплет FormDemo

На базе класса List вы можете сделать список другого типа, который допускает выбор не только одного, но и нескольких элементов. В отличие от списка, созданного на базе класса Choice, список класса List может занимать прямоугольную область, в которой помещаются сразу несколько элементов. Этот список всегда находится в раскрытом состоянии (рис. 5).

Рис. 5. Список класса List, все элементы которого помещаются в окне списка

Если размеры окна списка класса List недостаточны для того чтобы вместить в себя все элементы, в правой части окна списка автоматически создается полоса просмотра, с помощью которой можно пролистать весь список (рис. 6).

Рис. 6. Список класса List с полосой просмотра

Описание класса List

В классе List определено два конструктора и довольно много различных методов. Ниже мы привели краткое описание класса List:

Конструкторы

Конструктор без параметров

public List();

Конструктор, позволяющий указать количество отображаемых строк и флаг одновременного выбора нескольких элементов

public List(int rows, 
  boolean multipleSelections);

Методы

  • addItem

Добавление элемента в список

public void addItem(String item);

Добавление элемента в список с указанием номера позиции

public void addItem(String item, int index);
  • addNotify

Вызов метода createList

public void addNotify();
  • allowsMultipleSelections

Переключение списка в режим, при котором возможно выбирать одновременно несколько элементов

public boolean allowsMultipleSelections();
  • clear

Удаление из списка всех элементов

public void clear();
  • countItems

Определение количества элементов в списке

public int countItems();
  • delItem

Удаление элемента из заданной позиции

public void delItem(int position);
  • delItems

Удаление нескольких элементов

public void delItems(int start, int end);
  • deselect

Отмена выделения элемента с заданной позицией

public void deselect(int index);
  • getItem

Получение строки, связанной с элементом, по позиции этого элемента

public String getItem(int index);
  • getRows

Определение количества элементов, которые видны в окне списка

public int getRows();
  • getSelectedIndex

Определение номера выделенного элемента

public int getSelectedIndex();
  • getSelectedIndexes

Определение номеров выделенных элементов

public int[] getSelectedIndexes();
  • getSelectedItem

Получение текстовой строки, связанной с выделенным элементом

public String getSelectedItem();
  • getSelectedItems

Получение ссылки на массив строк, связанных с выделенными элементами

public String[] getSelectedItems();
  • getVisibleIndex

Определение номера элемента массива, который был сделан в последний раз выделенным с помощью метода makeVisible

public int getVisibleIndex();
  • isSelected

Проверка, является ли выделенной строка с заданным номером

public boolean isSelected(int index);
  • makeVisible

Выполняется свертка элементов списка таким образом, чтобы элемент с заданным номером стал видимым

public void makeVisible(int index);

  • minimumSize

Минимальные размеры области, необходимые для отображения списка

public Dimension minimumSize();

Минимальные размеры области, необходимые для отображения списка с заданным количеством строк

public Dimension minimumSize(int rows);
  • paramString

Получение строки параметров

protected String paramString();
  • preferredSize

Предпочтительные размеры области, необходимые для отображения списка

public Dimension preferredSize();

Предпочтительные размеры области, необходимые для отображения списка с заданным количеством строк

public Dimension preferredSize(int rows);

  • removeNotify

Извещение об уничтожении узла

public void removeNotify();
  • replaceItem

Замещение элемента списка с заданным номером

public void replaceItem(String newValue, 
  int index);
  • select

Выделение элемента с заданным номером

public void select(int index);
  • setMultipleSelections

Установка или сброс режима одновременного выделения нескольких строк

public void setMultipleSelections(boolean v);

Создание списка класса List

Процесс создания списка класса List несложен:

List chBackgroundColor;
chBackgroundColor = new List(6, false);

При создании списка вы передаете конструктору количество одновременно отображаемых строк и флаг разрешения одновременного выбора нескольких строк. Если значение этого флага равно true, пользователь сможет выбирать из списка одновременно несколько строк, а если false - только одну строку.

Для наполнения списка вы можете использовать уже знакомый вам метод addItem:

chBackgroundColor.addItem("Yellow");
chBackgroundColor.addItem("Green");
chBackgroundColor.addItem("White");

Список класса List добавляется к окну аплета методом add:

add(chBackgroundColor);

Кратко остановимся на нескольких методах класса List.

Если вы разрешили пользователю выбирать из списка одновременно несколько элементов, то для получения ссылки на массив выбранных элементов вам пригодятся методы getSelectedItems и getSelectedIndexes:

public String[] getSelectedItems();	
public int[] getSelectedIndexes();

С помощью метода setMultipleSelections вы можете динамически включать или выключать режим одновременного выбора нескольких элементов.

В некоторых случаях вам может пригодиться метод clear, удаляющий все элементы из списка:

public void clear();

Методика использования других методов очевидна из краткого описания класса List, приведенного в нашей статье.

Обработка событий от списка класса List

В отличие от списка класса Choice, для выбора строки (или нескольких строк) из списка класса List, пользователь должен сделать двойной щелчок левой клавишей мыши по выделенному элементу (или элементам, если выделено несколько элементов). При этом событие можно обработать переопределенным методом action, как мы это делали для списка класса Choice.

Однако список класса List создает события не только при двойном щелчке, но и при выделении или отмены выделения элементов, сделанном пользователем одинарным щелчком клавиши мыши. Аплет может перехватывать и обрабатывать такие события, переопределив метод handleEvent.