Сортировка и перетасовка Java

Сортировка и перетасовка JavaВетераны программирования иногда вспоминают о том, как им приходилось использовать перфокарты и как вручную программировать алгоритмы сортировки. В наши дни, конечно, алгоритмы сортировки являются частью стандартной библиотеки в большинстве языков программирования, и язык программирования Java - не исключение.

Метод sort() класса Collections сортирует коллекцию, реализующую интерфейс List. Читать

Взаимодействие апплетов Java

Взаимодействие апплетов JavaВеб-страница может содержать несколько апплетов. Если параметр codebase у этих апплетов один и тот же, они могут взаимодействовать друг с другом. Естественно, что взаимодействие апплетов - довольно сложный процесс, необходимость в котором возникает часто.

Если для каждого апплета задать атрибут name, то с помощью метода getApplet(String), объявленного в интерфейсе AppletContext, можно получить ссылку на любой апплет. Предположим, что в HTML-файле содержится дескриптор: Читать

Кодовые точки и кодовые единицы Java

Кодовые точки и кодовые единицы JavaВ языке Java строки реализованы как последовательности значений типа char. Тип char позволяет задавать кодовые единицы, представляющие кодовые точки Unicode в кодировке UTF-16. Наиболее часто используемые символы Unicode представляются одной кодовой единицей. Дополнительные символы задаются парами кодовых единиц.

Метод length() возвращает количество кодовых единиц для данной строки в кодировке UTF-16. Ниже приведен пример использования данного метода: Читать

Управление файлами в Java

Управление файлами в JavaУправление файлами не ограничивается только чтением и записью. Класс File инкапсулирует все функциональные возможности, которые могут потребоваться для работы с файловой системой на машине пользователя.

Например, его можно применять для выяснения времени последнего изменения файла, а также удаления или переименования файла. Другими словами, классы потоков имеют дело с содержимым файла, а класс File - с хранением файла на диске.

Кроме того, как часто бывает в Java, класс File следует принципу "наименьшего знаменателя". Например, в Windows можно узнавать о наличии у файла флага "только для чтения(и даже устанавливать его), а вот хотя узнавать о том, является ли файл скрытым, можно, скрывать его без использования платформо-ориентированного метода нельзя. Читать

Отслеживание чтения данных из потока Java

Отслеживание чтения данных из потока JavaВ пакете swing содержится ProgressMonitorStream, который автоматически отображает диалоговое окно с информацией о том, какая часть данных была уже прочитана из потока.

Использовать данный фильтр чрезвычайно просто. Следует лишь поместить ProgressMonitorInputStream в состав последовательности используемых потоков.

Предположим, например, что вам требуется читать текст из файла. Формирование последовательности начинается с потока FileInputStream: Читать

Как создать меню в интерфейсе Java

Как создать меню в интерфейсе JavaСоздать меню в Java достаточно просто. Недавно мы с вами говорили о том как создать всплывающее меню в Java. Сначала создается строка меню.

Строка меню - это обычный компонент, который можно разместить где угодно. Как правило, его помещают в верхнюю часть фрейма с помощью метода setJMenuBar():

Для каждого меню создается свой объект:

Меню верхнего уровня помещается в строке меню: Читать

Как создать переключатели в Java

Как создать переключатели в Java

В предыдущем примере пользователь мог установить оба флажка, один из них или ни одного. Во многих ситуациях необходимо выбрать только один из предложенных вариантов. Если пользователь установит другой флажок, то предыдущий флажок будет сброшен.

Такую группу флажков часто называют группой переключателей(radio button). Эти кнопки напоминают переключатели диапазонов на радиоприемниках - при нажатии на одной из таких кнопок ранее нажатая кнопка возвращается в исходное состояние.

На рис.1 показан типичный пример окна программы, содержащей группу переключателей. Пользователь может выбрать размер шрифта - Small(Малый), Medium(Средний), Large(Большой) и Extra large(Очень большой). Разумеется, выбрать можно лишь один размер. Читать

Линейные регуляторы Java

Линейные регуляторы JavaВыпадающие списки позволяют пользователю делать выбор из дискретного набора значений. Линейные регуляторы(ползунки) дают возможность выбрать конкретное  значение из диапазона возможных, например, любое число из интервала 1-100.

Наиболее часто линейные регуляторы создаются следующим образом:

Если не указывать минимальное, максимальное и начальное значение, принимаются соответственно величины 0, 100 и 50.

Если линейный регулятор должен располагаться вертикально, используется приведенный ниже конструктор: Читать

Структура буферных данных Java

Структура буферных данных JavaПри использовании подхода с отображением в память создается один единственный буфер, охватывающий либо весь файл целиком, либо только интересующую в нем область. Однако буферы еще также могут применяться для считывания и записи и более скромных фрагментов информации.

В нашей сегодняшней статьи дается описание основных операций, которые могут выполняться с объектами Buffer. Буфером, в общем, называется массив значений одинаково типа. Класс Buffer представляет собой абстрактный класс с такими конкретными подклассами, как ByteBuffer, DoubleBuffer, FloatBuffer, IntBuffer, LongBuffer и ShortBuffer.

Класс StringBuffer к этим подклассам никакого отношения не имеет. Читать

Диспетчер компоновки GridBagLayout Java

Диспетчер компоновки GridBagLayout JavaGridBagLayout - прародитель всех диспетчеров компоновки. Его можно рассматривать как диспетчер GridLayout бе ограничений, то есть его строки и столбцы могут иметь переменный размер. Для того чтобы разместить более крупный компонент, который не помещается в одну ячейку, несколько смежных ячеек можно объединить в одну.

Многие текстовые процессоры, а также HTML, предоставляют такие же возможности при редактировании таблиц: заполнение начинается с обычной сетки, а при необходимости некоторые ее ячейки объединяются в одну. Недавно мы рассматривали диспетчер компоновки BorderLayout.

Компоненты не обязаны заполнять всю ячейку, показанное на рис.2. Оно содержит перечисленные ниже компоненты. Читать