Что такое потоки Java

Что такое потоки JavaНачнем с рассмотрения программы, которая не использует средств многопоточности, и, как следствие, затрудняет пользователю выполнение нескольких задач сразу. После того, как мы проанализируем ее, мы покажем, как легко заставить эту программу запускать отдельные потоки. Эта программа будет анимировать прыгающий мячm постоянно перемещая его по экрану и меняя направление движения, когда он встретит преграду в виде стены.

Как только вы щелкнете на кнопке Start(Пуск), программа выбросит мяч из правого левого угла и он начнет прыгать. Обработчик события кнопки Start вызывает метод addBall. Этот метод содержит цикл из 1000 движений. Каждый вызов move() перемещает мяч на небольшое расстояние, изменяет направление движения, если он отскакивает от стены, и затем перерисовывает панель. Читать

Интерфейсы коллекций Java

Интерфейсы коллекций Java

Начальная версия Java предлагала лишь небольшой набор классов наиболее часто употребляемых структур данных: Vector, Stack, Hashtable, BitSet  и интерфейс Enumeration, предоставляющий абстрактный механизм для посещения элементов в произвольном контейнере. Безусловно, это было мудрое решение — на реализацию всеобъемлющей библиотеки классов коллекции потребовалось время и опыт.

К появлению Java SE 1.2 проектировщики поняли, что настало время создать полноценный набор структур данных. При этом они столкнулись с множеством противоречивых требовании. Они хотели, чтобы библиотека была маленькой и легкой в изучении. Нужно было избежать сложности стандартной библиотеки шаблонов(STL) языка C++, но при этом позаимствовать «обобщенные алгоритмы», впервые появившиеся в STL. Необходимо было обеспечить совместимость унаследованных классов коллекций с новым каркасом. Читать

Флажки опции и переключатели в меню Java

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

Пиктограммы в пунктах меню Java

Пиктограммы в пунктах меню JavaПункты меню очень похожи на кнопки. Фактически класс JMenuItem расширяет класс AbstractButton. Как и кнопки, меню могут иметь текстовую метку, пиктограмму или и то и другое в тот же момент. Пиктограмму можно указать в конструкторе JMenuItem(String, Icon) или JMenuItem(Icon), либо задать с помощью метода setIcon(), унаследованного классом JMenuItem от класса AbstractButton. Вот пример: Читать

Определение подходящего размера фрейма

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

Для того чтобы определить размер экрана, надо выполнить следующие действия. Сначала следует вызвать статический метод getDefaultToolkit() класса Toolkit, который вернет объект Toolkit. (Класс Toolkit содержит много методов, предназначенных для взаимодействия с оконной системой конкретной платформы). Затем надо вызвать метод getScreenSize(), который вернет размер экрана в виде объекта Dimension. Объект Dimension содержит ширину и высоту в общедоступных(!) переменных width и height. Ниже представлен фрагмент кода, с помощью которого можно определить размер экрана. Читать

Позиционирование фрейма в Java

Позиционирование фрейма в JavaВ классе JFrame есть лишь несколько методов, позволяющих изменить внешний вид фрейма. Разумеется, благодаря наследованию можно использовать методы супер классов класса JFrame, задающие размер и местоположение. К наиболее важным из них следует отнести следующие:

  • Методы setLocation() и setBounds() устанавливают положение фрейма.
  • Метод dispose() закрывает окно и освобождает все системные ресурсы, использованные при его создании. Читать

HTML-дескрипторы и атрибуты для работы с апплетами Java

HTML-дескрипторы и атрибуты для работы с апплетами JavaДескриптор <applet> в его наиболее базовой форме выглядит приблизительно следующим образом:

<applet code=»HelloWorldApplet.class» width=100 height=100>

Как уже было сказано ранее, атрибут code задает имя класса; значение этого атрибута представляет собой имя файла, оканчивающееся расширением .class. Атрибуты width и height определяет размеры окна, в котором будет размещен апплет. Значения обоих параметров задаются в пикселях. Нужно также указать закрывающий дескриптор </applet>. Текст, размещенный между дескрипторами <applet> и </applet>, выводится на экран в том случае, если браузер не может отобразить апплет. Атрибуты code, width и height необходимы. Если хотя бы один из них будет пропущен, браузер не сможет загрузить апплет. Читать

Рефлексия Java

Рефлексия JavaБиблиотека рефлексии(reflection library) предоставляет богатый набор инструментальных средств для динамической работы с Java-кодом. Эта возможность широко используется в JavaBeans при создании компонентов.

Благодаря рефлексии появляется возможность поддерживать инструментальные средства, подобные тем, которыми используются программисты, работающие на Visual Basic. Так, например, когда в процессе разработки или выполнения программы добавляется новый класс, можно организовать опрос с целью выяснить возможность нового класса.

Программа, которая способна анализировать возможности классов, называется рефлективной(reflective). Рефлексия — очень мощный механизм, который можно использовать для решения перечисленных ниже задач. Читать

Расширенные типы данных в языке SQL

Расширенные типы данных в языке SQLТип ARRAY языка SQL представляет собой последовательность значений. Например, таблица Student может иметь столбец с оценками Scores типа ARRAY OF INTEGER, то есть с массивом целочисленных значений. Для возвращения данных типа java.sql.Array используется метод getArray(). В интерфейсе java.sql.Array также предусмотрены методы извлечения значений массива. Читать

Выполнение операторов SQL Java

Выполнение операторов SQL JavaДля выполнения оператора SQL нужно создать объект Statement. Для этой цели используется объект Connection, который можно получить, вызвав метод DriverManager.getConnection():

Затем потребуется создать строку с требуемой SQL-командой:

Далее необходимо вызвать метод executeUpdate() класса Statement: Читать