Управление файлами в 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. Оно содержит перечисленные ниже компоненты. Читать

Как создать флажки опций в Java

Как создать флажки опций в JavaЕсли данные сводятся к ответы «да» или «нет», используйте компонент — флажок опций(checkbox). Чтобы установить флажок, нужно щелкнуть мышью на компоненте, а для того чтобы сбросить флажок — щелкнуть повторно. Установить или сбросить флажок можно также с помощью клавиши пробела, нажав ее в момент, когда на компоненте находится фокус ввода.

На рис.1 показано простое окно программы с двумя флажками опций, один из которых включает и отключает курсив, а другой — полужирный шрифт.

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

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

Как создать рамку во фрейме JavaЕсли в одном окне расположено несколько групп переключателей, нужно иметь возможность различать их между собой. Для этого в библиотеке Swing предусмотрен набор рамок(borders). Рамку можно задать для каждого компонента, расширяющего класс JComponent. Обычно рамка окружает панель, заполненную ее элементами пользовательского интерфейса, и все они задаются с помощью одинаковых действий.

1. Вызывается статический метод класса BorderFactory, создающий рамку, для которой предусмотрены следующие стили:

  • Lowered bevel(утопленная фаска)
  • Raised bevel(приподнятая фаска)
  • Etched(гравировка)
  • Line(линия)
  • Matte(матовая)
  • Empty(пустая — создается пустое пространство, окружающее компонент) Читать

Метки и маркирующие компоненты Java

Метки и маркирующие компоненты JavaМетки — это компоненты, хранящие тексты. Они не имеют обрамлении и других видимых элементов(например, не имеют границ). Кроме того, они не реагируют на ввод пользователя. Метки можно использовать для идентификации компонентов.

Например, в отличие от кнопок, текстовые компоненты не имеющий идентификатора, необходимо выполнить следующие действия:

  1. Создать компонент JLabel, содержащий заданный текст.
  2. Поместить его достаточно близко к компоненту, чтобы пользователь мог видеть, что эта метка относится именно к данному интерфейсу элементу.

Конструктор класса JLabel позволяет задать текст или пиктограмму и, при необходимости, выровнять содержимое компонента. Для этой цели используются константы, объявленные в интерфейсе SwingConstants. Интерфейс определяет несколько полезных констант, таких как LEFT, RIGHT, CENTER, NORTH, EAST и тому подобнее. Читать