Microbreaks - Java инструмент для свинга - PullRequest
1 голос
/ 10 января 2011

Я использую несколько Microbreaks программных решений.И все они излишни и / или делают не совсем то, что я хочу.

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

Я использую в инете все виды утилит, например RSI-Shield

Я хочу создать программу Swing, которая будет:

  1. Возьмите два параметра в командной строке:
    breakLength: время перерыва (по умолчанию 60 секунд)
    breakPopup: время, в течение которого экран будет отключен.(по умолчанию 20 минут)

  2. Программа будет идеально работать как служба со значком менеджера (в правом нижнем углу для окон), который позволит завершить или приостановить ее (в случае, если я смотрю)YouTube или что-то, от чего я не хочу отказываться).

  3. Когда программа достигает времени перерыва, она затеняет весь экран и в центре отображает пару советов (находится в файле tips.properties (tip1: "Stretch leg").Обратный отсчет. Хорошим расслабляющим фоном вместо серого фона было бы также неплохо.*

Проблемы:

  1. Как писать в приложении Swing, которое будет охватывать весь экран без каких-либо границ? И какВы центрируете Tips посередине?

  2. Каков наилучший способ написать это как службу, работающую в фоновом режиме, с небольшим приложением, которое запускало бы и останавливало его?у вас есть tomcat на машине с Windows)

  3. Каков наилучший способ приблизиться к логике планирования таймера? В идеале без использования сторонних библиотек.

  4. Whна универсальный установщик будет хорошим выбором для такой маленькой программы?

1 Ответ

1 голос
/ 10 января 2011

Как писать в приложении Swing, которое будет охватывать весь экран без каких-либо границ? И как вы центрируете Tips в середине?

 frame.setUndecorated(true);                   // removes all frame decorations
 frame.setExtendedState(Frame.MAXIMIZED_BOTH); // make window appear maximized both horizontally and vertically

Каков наилучший способ написать это как сервис, работающий в фоновом режиме, с небольшим приложением, которое запускает и останавливает его? (Вроде как, когда у вас есть tomcat на машине Windows)

Хорошо, запустите ваше Java-приложение, затем запланируйте, через TimerTask, отображение вашего основного кадра. Но будьте осторожны, отображение должно происходить в событии диспетчеризации Thread. Для этого позвоните в TimerTask SwingUtilites#invokeLater() ... или просто позвоните

Каков наилучший способ приблизиться к логике планирования таймера? В идеале без использования сторонних библиотек.

Что ж, похоже, Timer и TimerTask являются частью JDK, поэтому вы можете использовать их без проблем.

Какой универсальный установщик будет хорошим выбором для такой маленькой программы.

Я слышал очень хорошие отзывы о IzPack , но я не могу гарантировать, что он подходит лучше всего.

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