понедельник, 10 октября 2016 г.

Пример использования Java Native Interface

В этом посте показан, пример использования Native Interface Java (JNI). Мы напишем приложение Java, которое вызывает функцию C, которая печатает «Hello World!».
Через что нам придется пройти?
  • Создание класса (HelloWorld.java), в котором объявлен нативный метод.
  • Использование команды javac, чтобы скомпилировать файл HelloWorld
  • Использование команды javah -jni, чтобы создать заголовочный файл HelloWorld.h, в котором будут содержаться прототипы функций для реализации нативных методов.
  • На языке С  написать методы (HelloWorld.c)
  • Создать, путем компилирования, библиотеки HelloWorld.dll или libHelloWorld.so
  • Запустить программу HelloWorld

VAnavigation — Навигация в JavaFX

Как оказалось, JavaFX не обладает удобным инструментом, чтобы реализовать навигацию между окнами. Но это решается не сложно. Преследуемая цель:


  • минимум программного кода чтобы открыть новый экран
  • возможность перемещаться по экранам назад
  • передать данные между окнами

Вариантов реализовать подобный инструмент несколько. Почему выбран именно этот — об этом ниже.

Для тех, кто привык воспринимать через схемы:

суббота, 24 сентября 2016 г.

VAMaskField — текст по маске

С масками приходится встречаться очень часто. Во всех языках программирования, с которыми приходилось сталкиваться, находилось 2-3 достойных рабочих варианта масок, полностью удовлетворяющих условиям задачи. То есть, можно было даже выбирать. А вот для JavaFX картина оказалось другой — подходящих масок не оказалось, и пришлось разработать самостоятельно.
На мой взгляд, получилось довольно просто (собственно не очень и хотелось усложнять) и очень функционально.

MaskField и примеры использования можно скачать здесь.

Чтобы начать использовать маски в своем проекте, скопируйте файл MaskField.java. После этого, можно программно, или в файле разметки, добавлять MaskField. MaskField наследник TextField, поэтому все что вы делали с TextField, можно делать и с MaskField.