Альтернативные способы указания параметров gridx, gridy, gridwidth и gridheight

Альтернативные способы указания параметров gridx, gridy, gridwidth и gridheightВ документации по библиотеке AWT рекомендуется не задавать абсолютные значения параметров gridx и gridy, а вместо этого использовать константу GridBagConstraints.RELATIVE. Затем нужно, как обычно, слева направо строка за строкой включать компоненты в контейнер, управляемый диспетчером компоновки GridBagLayout. Количество строк и столбцов, занятых ячейкой, нужно задавать с помощью полей gridheight и gridwidth. Исключение составляет компонент, занимающий последнюю строку или столбец. Для него задается не числовое значение, а специальная константа GridBagConstraints.REMAINDER. Это позволяет диспетчеру компоновки распознавать последние компоненты. Читать

Чтение и запись файлов, содержащих несколько изображений Java

Чтение и запись файлов, содержащих несколько изображений JavaНекоторые файлы, например анимационные GIF-файлы, могут содержать несколько изображений. Однако метод read() класса ImageIO позволяет считывать только одно из них. Для чтения нескольких изображений нужно преобразовать источник входных данных(например, входной поток файла) в объект ImageInputStream:

Затем следует соединить этот объект с программой чтения: Читать

Регулярные выражения java

Регулярные выражения javaРегулярные выражения применяются для указания шаблонов строк. Их можно использовать всякий раз, когда требуется отыскать строки, соответствующие конкретному шаблону. Например, одна из наших демонстрационных программ умеет отыскивать в HTML-файле все гиперссылки путем поиска строк, соответствующих следующему шаблону: <a href=»…»>.

Конечно, для определения шаблона обозначение является не достаточно точным. Необходимо как можно конкретнее указывать, какая именно последовательность символов должна считаться настоящим совпадением. Этот требует применения при каждом описании шаблона специального синтаксиса. Читать

Объектные оболочки и автоупаковка Java

Объектные оболочки и автоупаковка JavaИногда приходится преобразовывать переменные простых типов вроде int в объекты. Все простые типы имеют аналоги в виде классов. Например, существует класс Integer, соответствующий типу int. Такие классы принято называть объектными оболочками(object wrapper). Они имеют очевидные имена: Integer, Long, Float, Double, Short, Byte, Character, Void и Boolean. Первые шесть классов имеют общий суперкласс Number. Классы-оболочки являются финальными. Таким образом, вы не можете, например, переопределить метод toString() в классе Integer, чтобы отобразить число римскими цифрами. Кроме того, изменить значение, хранящееся в объекте интерфейсного класса, также невозможно. Читать

Рекомендации по проектированию классов Java

Рекомендации по проектированию классов Java1. Всегда храните данные в переменных, объявленных как private.

Первое и главное требование: всеми средствами избегайте нарушения инкапсуляции. Иногда приходиться писать методы доступа к полю или модифицирующие методы, но предоставлять доступ к полям не следует. Горький опыт показал, что способ представления данных может изменяться, однако порядок их использования изменяется гораздо реже. Если данные приватны, их представление не влияет на использующий класс, потому ошибки искать легче. Читать

Вулкан игровые автоматы

Вулкан игровые автоматыЗдравствуйте дорогие читатели блога! Недавно мы с вами поговорили о бесплатных игровых автоматах. Так вот, сегодня мы поговорим о игровых автоматах вулкан. Еще недавно игровые автоматы вулкан с их яркими неоновыми вывесками могли увидеть все, просто прогуливаясь по улицам своего города. Вулкан известен почти всем, кто пробовал когда-либо играть в аппараты. Читать

Бесплатные игровые автоматы

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

К сожалению, игровые автоматы не выполняют много функций. Дергаем ручку, смотрим на бегущие символы. Дергаем ручку, и опять смотрим на символы. Исключения – разные бонусные игры, в которых игрок еще может выбрать цвет фишки или другую атрибутику. Да, именно из-за простоты они так полюбились миру, отключаем голову и расслабляемся. Но иногда очень хочется повлиять на результат. Читать

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

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

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

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

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

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

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