22 сентября 2008

Программировать весело. Утилиты для знакомства с Java

В этой заметке расскажу о двух утилитах, которые помогут начинающим программистам познакомиться с Объектно ориентированным программированием в целом и с Java в частности.
Первая утилитка - Greenfoot. Предназначена для школьников средних и старших классов. Программа делает программирование весёлой забавой. В ней вы можете создать простенькое 2D приложение с помощью красивого и удобного графического интерфейса. С большой вероятностью она породит интерес к программированию даже у тех детей, которые раньше им не увлекались.
Более подробный Greenfoot туториал на английском языке.
BlueJ - интегрированная Java среда разработки для студентов ВУЗов, которые только начали изучать Java. Основной упор в утилите сделан на построение ООП приложения. C помощью BlueJ вы познакомитись с понятиями объекта, метода, поля. BlueJ предоставляет простой графический интерфейс для построение диаграммы классов. Также в приложение встроен редактор кода, компилятор, дебаггер и даже виртуальная машина для тестирования вашего приложения.
Подробный туториал на русском языке по BlueJ


Рис.1 BlueJ

Перед запуском перечисленных программ не забудьте скачать и установить J2SE 5 либо 6 версию.

Десктоп приложение со встроенной БД

Patrick Keegan подробно рассказывает как создать своё приложение со встроенной базой данных, в качестве среды разработки выбран NetBeans, в качестве базы данных Derby.

продолжение на английском...

19 сентября 2008

Анализатор Java объектов

Когда код приложения превышает 100 тысяч строк, разобраться самостоятельно в чужом приложении будет затруднительно.

Objectreferenceanalyser (ORA) графическая утилита позволяющая :
- Рассмотреть архитектуру анализируемого приложения;
- Обнаружить ошибки или недочёты в архитектуре приложения;
- Обнаружить и предотвратить утечки памяти тем самім повісив производительность приложения;
- Увидеть зависимость между объектами/модулями в приложении.




Для того что бы увидеть демо пример, вам достаточно скачать приложение и запустить его.

Если же вы захотите протестировать свой код с помощью ORA, вам придётся найти ключевое место в своей программе - точка входа , где все объекты уже проинициализированны и созданы. Найти корневой класс/объект опираясь на который вы желаете произвести анализ и добавить три строчки в свой код:

//1. You have to instantiate a Analyser: AnalyserInterface ref = new ObjectReferencesCore("SomeIdentifier"); //2. You have to pass the to be analysed root object to the analyzer (mostly you pass some main components which hold important data): ref.addAndAnalyseRootObject(MyRootObject); //3. You have to start the visualizer to be able to see something new Visualizer(ref).start();


Более подробное описание и способы применения на страничке программы:
http://refanalyse.sourceforge.net/

18 сентября 2008

Sametime Risk. Java стратегия

Sametime Risk

Жанр: стратегия
Мультиплеер: присутствует
Лицензия: бесплатно
Графика: 4/10
Играбельность: 9/10

Стратегия с простенькой графикой написанная полностью на Java. Целью игры является захват мира.
Изначально Земля пропорционально разделяется между всеми игроками. А дальше начинается самое интересное.
Каждый игрок поочерёдно ходит и пытается захватить территории соперника. Захват может осуществляться если на вашей территории больше 1 единицы войск. Как и в реальной войне, так и в этой игре имеет место случай. Но больше рассказывать не буду. Скачивайте бесплатно игрушку с SourceForge и наслаждайтесь замечательным гэймплеем.





22 августа 2008

Tips! События в Java FX

Рассмотрим следующий кусочек кода :
Ellipse
{

centerX: 10, centerY: 10
radiusX: 150, radiusY: 50

stroke: Color.GREEN
onMouseClicked: function( e: MouseEvent ):Void {
// (1)do smth ... }
Если добавить этот код во Frame, будет нарисован эллипс с зелёным ободком, а при нажатии на него клавишей мыши выполниться некоторое действие (1). Но есть существенное НО : нажимать надо не в эллипс , а исключительно на зелёный ободок , что - бы что то произошло. Понятно, что это очень не удобно. Исправить данную "фичу" можно довольно просто:

Ellipse {
centerX: 10, centerY: 10
radiusX: 150, radiusY: 50
stroke: Color.GREEN
fill: Color.WHITE
onMouseClicked: function( e: MouseEvent ):Void { // (1)do smth ... }

Как видите я просто заполнил эллипс белой краской , визуально ничего не изменилось, но все собітия onMouseXxxx будут теперь отрабатывать не только для оботка, но и для всего эллипса.

Следующий рабочий пример, позволит легче усвоить данный урок.

import javafx.application.*;
import javafx.scene.geometry.*;
import javafx.scene.paint.*;
import javafx.input.*;
var Rad:Integer = 10;
Frame {
title: "Test onMouseXx application"
width: 200 height: 200
closeAction: function() {
java.lang.System.exit( 0 );
}
visible: true
stage: Stage
{

content: [
Circle
{

centerX: 100, centerY: 100

radius: bind Rad stroke: Color.GREEN //fill: Color.WHITE onMouseClicked:
function( e: MouseEvent ):Void {
if (Rad == 50)
{
Rad = 10; }
else
{
Rad = 50; }
}

}
]
}

}

15 августа 2008

JavaScript библиотека jQuery

Ни одно юзабельное веб приложение не сможет обойтись без богатого веб интерфейса, который легко реализовать с помощью JavaScript и, например библиотеки jQuery:
jQeury: плавающий dialog box,
jQuery и Ajax,
jQuery: drag-and-drop сортируемый список,
таблица с помощью jQuery,
colorPicker: выбор цвета,
jQuey Treeview - древовидное меню,
jQuery Ajax форма,
Валидация данных в Ajax форме
и много других интересных статей по jQuery тут.

30 июля 2008

JavaFX - первое приложение

Для начала необходимо скачать и настроить компилятор.
Скачать последню версию компилятора можно по ссылке : archive.zip(12Мб)

- распакуйте архив в удобную для вас папку
- добавьте полный путь к папке openjfx-compiler\dist\bin\ в перменную PATH

Откройте текстовый редактор и создайте в нём файл HelloWorld.fx

import javafx.application.Frame;
import javafx.application.Stage;
import javafx.scene.text.Text;

Frame {

title: "Hello JavaFX Script"
width: 300
height: 100

stage:Stage {
content: [
Text {
x: 100, y: 30
content: "Hello world"
}
]
}

visible: true
}

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

>javafxc HelloWorld.fx
>javafx HelloWorld

Внимание, на вашем компьютере должно быть установлено JDK версии не менее 1.6 для успешного работы Java FX.

Итак, приложение создало окно (Frame) указанных размров c заголовком Hello JavaFX Script и текстом Hello world посреди окна.

Другие римеры на Java FX
Tesla Demo
SVG to Java FX Translator Demo
(примеры загружаются через Java Web Start)

Source:
Open Java FX
JavaFX по русски

23 июня 2008

Spring MVC

Spring MVC - это реализация шаблона MVC (модель - представление - контроллер) в Spring Framework.
Используется для создания Web приложений.
Для создания приложения первого приложения вам не помешает скачать
необходимые библиотеки из оффициального сайта Spring.
Во время написания заметки самой новой версией была 2.5.4 ею и предлагаю воспользоваться.
Также вам на первых порах не помешают следующие библиотеки:
commons-logging-1.1.jar
jstl.jar, standard.jar
Свой "hello world" я создавать не буду, таких достаточно в интернете, напрмер
можно воспользоваться одним из следующих туториалов:
http://mhimu.wordpress.com/2007/11/27/spring-mvc-tutorial/ (англ.)
http://artamonov.ru/2006/03/15/prostoe-prilozhenie-na-spring/ (рус.)

17 июня 2008

Eclipse IDE и Spring Framework

Для удобства разработки приложений с использованием Spring Framework существует проект Spring IDE.
Проект  занимается разработкой Spring плагинов под Eclipse.
Установить плагины можно посредством добавления в Update Manager ссылки:
http://springide.org/updatesite

Требования плагинов:
  • Eclipse 3.2.x
  • Web Tools 1.5.x
Замечание:
Плагин Spring IDE Dependencies (only for Eclipse 3.2.x) не надо устанвливать на Eclipse 3.3 или более новые версии.