MS Paint — лучшая IDE для Java


Оглавление (нажмите, чтобы открыть):

Paint в Java

Программа «схожая» с paint. Есть 2 недостатка которые надо исправить
1) Надо сделать так, чтобы рисунок после ресайза/минимайза/максимайза окна не пропадал
(я новичёк в джаве, но насколько я вижу это решение что нужно рисовать не на JPanel, а на своём каком-то классе который extends JPanel, и который сохраняет рисунок в BufferedImage, но у меня это абсолютно не получается )
2) подскажите какой-нибудь алгоритм рисования прямой линии, от точки до курсора, и чтобы линия двигалась пока зажата лкм

Заранее всем благодарен

PS я новичёк в джаве и с ООП знаком не очень хорошо (использовал только в PHP)

Добавлено через 1 час 21 минуту
так как время поджимает, готов доплатить за исправленный код.
если кто заинтересован, пишите на gravecold@gmail.com

22.11.2009, 16:17

Java пишу мини paint не работает многопоточность
Здравствуйте, форумчане! Встала такая проблема: пишу мини-графический редактор. Вот часть кода.

Все моргает при отрисовке Java paint
Вот у меня проблема с отрисовкой в Java, рисую прямо на JFrame, но постоянно все моргает, я конечно.

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

Не запускается метод paint
Не могу запустить вот этот код. Вылазит вот такая вот ошибка (Error: Main method not found in class.

Линии, как в Paint-е
Добрый день. Пытаюсь реализовать прорисовку линий на панели, как в пеинте. То есть зажимаешь кнопку.

Подбираем > Дата публикации: 2020-11-06

От автора: среди всех языков, которые используются в веб-разработке, наиболее чувствительным является Java. Этот PL характеризуется сложным синтаксисом, высокой типизацией данных и невосприимчивостью к ошибкам. Именно потому столь востребованным является этот инструмент для Java – IDE. Среда разработки помогает обойти подводные камни, которые ждут программиста, пишущего в текстовом редакторе. Если не хотите идти долгой и тернистой дорогой текстовика, добро пожаловать в обзор топовых сред разработки, наиболее подходящих для кофейного языка.

Для разработки нужна IDE

Java – один из тех языков, для которого среда разработки является не прихотью отдельных специалистов, а настоящим средством выживания. Сложный язык не поддается чтению и выполнению, пока все элементы системы не будут настроены должным образом. Иногда, веб-разработчику трудно понять зачем ему такое громоздкое и производительное программное обеспечение. Все веб-языки, вроде HTML/CSS, JavaScript и PHP можно внедрять без дополнительного ПО (хотя, для последнего даже есть топовая платная IDE – PHPStorm). Но, как только дело доходит до Java, все становится на свои места. Длинные и сложные документы кода не поддаются ручной систематизации.

Но, как всегда, есть противники идеологии. Некоторые разработчики называют IDE «костылями», которые нужны только мало подготовленным программистам. Для них скачать среду разработки подобно измене основным принципам. К сожалению, такой подход может оставить разработчика позади эволюции программирования: большие корпоративные проекты, как и высокофункциональные веб-приложения, требуют тесного взаимодействия между членами команды, быстрого запуска и отладки кода. Тем более, что скилл работы с основными IDE является критерием для трудоустройства на лучшие позиции.

Конечно, существуют и те, кто умеет настолько хорошо отстроить свои инструменты разработчика, что полноценная IDE становится ненужной. Как бы там ни было, среда разработки потребляет ресурсы устройства, которые нужны для обеспечения работы остальных инструментов разработчика. Особенно это видно в устаревших версиях Windows/Linux – как только запускается среда разработки, остальные ресурсы испытывают стагнацию.

Как создать сайт самому?

Какие технологии и знания необходимы сегодня, чтобы создавать сайты самостоятельно? Узнайте на интенсиве!

Разработчики в сети почти всегда отдают предпочтение текстовым редакторам. Они более легкие и позволяют создавать решения на коленке. Никаких дополнительных инструментов, не нужно глубокой настройки, а ассортимент программного обеспечения значительно шире. Такой взгляд сохраняют веб-программисты, пока не начинают работу с Java.

Хочу выбирать программу

Сфера программирования предлагает множество решений для создания полноценного кода. В особенности, это касается различных сред разработки. Не только большие компании, вроде Oracle, занимаются созданием IDE. Работа над подобным ПО, как правило, прерогатива профессионалов, которые хотят оптимизировать свою деятельность. Именно так случилось с Visual Studio: одной из лучших IDE всех времен. Microsoft, которая во всю готовилась представить версию Windows в новом столетии, просто представила свои инструменты в одном приложении. Теперь VS – выбор миллионов.

К сожалению, ее не назовешь «for Java developers». Нет, это вовсе не значит, что в этой среде разработки не получится написать что-то на Java: существуют даже специальные расширения. Просто она больше ориентирована на C, C# и некоторые другие продукты компании Microsoft. Для Java существует собственный топ IDE, который мы представим сегодня. Но, для начала, нужно понять, какой мы хотим видеть идеальную IDE (созвучно ).

Во-первых, можно сразу определиться с тем, что для Java-разработчика не подойдут те, которые работают в онлайне. Они будут создавать проблемы с интерпретацией, а постоянные зависы только отобьют желание к программированию. Более разумным решением будет скачать одно из представленных сегодня ПО. Лучше один раз нажать download, чем постоянно мирится с багами. Эпоха облачных IDE еще настанет.

Также, среда разработки для Java должна поддерживать ряд технологий, которые необходимы для эффективного кодинга. Среди них языки виртуальной машины Java: прежде всего, Java 10, а также Groovy и Scala. Контроль версий тоже является одним из ключевых моментов. Одного Git будет мало: нужен Mercurial, SVN и прочие. Угадать какая будет популярна через несколько лет (Git, конечно ☺) невозможно. Веб-разработчику не помешает поддержка широкого круга языков, среди которых PL баз данных, веб языки, как фронта (TS, JS, HTML), так и бэкэнда (один из популярных языков общего назначения). Так как особенностью JVM является преобразование слов языка программирования в байтовый код, необходимы и мощные интерпретаторы. Именно они могут сделать быстрый в теории Java, быстрым на практике.

Ну, и конечно, как и сам язык Java, среда разработки под него должна быть кроссплатформенной. Все остальные решения тормозят развитие программиста. Раз он выбрал Java, значит выбрал универсальность.

Три слона разработки Java

Как всегда существует тройка лучших и все остальные. К этому уже привыкли в индустрии веб-разработки, и мы не будем изменять традициям. Преимущество нашего обзора в том, что здесь не будет платного ПО (почти ). Каждую среду разработки вы сможете свободно скачать с официального сайта. Также, это будет один из тех топ-чартов, где мы субъективно выберем победителя. Ну, а собственное решение вы сможете сложить, опираясь на свой опыт и наши выводы.

Идея для веб-разработки

IntelliJ IDEA – это IDE, выпущенная компанией JetBrains, на основе виртуальной машины Java. Сама среда написана тоже на Java и частично на Python, для них и предназначена. Они сразу обозначили себя, как среда для Java, еще в 2001. Тогда среда разработки представила целую библиотеку средств для рефакторинга, что сразу вывело IDEA в топ. Разработчики сделали выбор не столько в пользу удобства, сколько в пользу продуктивности. Некоторые рутинные операции полностью выполняются средой разработки.

Мы обещали, что платного ПО сегодня не будет. Но правда в том, что ультимативная версия IDEA имеет свою стоимость, хоть и незначительную (до 500$), как для IDE. Если вы профессиональный джавист, который зарабатывает от 20$ в час – это мелочь. Кстати, только в пакете Ultimate у разработчика появится возможность работать с платформой Java EE.

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

Как создать сайт самому?

Какие технологии и знания необходимы сегодня, чтобы создавать сайты самостоятельно? Узнайте на интенсиве!

IDEA – это одна из тех сред разработки, которую можно назвать по-настоящему умной. Вместо исправлений и подсвечивания, которыми обладает даже самый простой текстовый редактор, IDEA предлагает автозаполнение: фрагменты готовой программы генерируются под руками разработчика. Уже не стоит даже говорить о том, что все скобки и прочие синтаксические плюшки будут закрыты автоматически. А если что-то пойдет не так и IDEA не справится с проблемой, она тут же просигнализирует Java-разработчику по ту сторону экрана.


Подкупает и рефакторинг, который происходит сразу на нескольких языках. Джависты знают, что код никогда не бывает на чистой Java, особенно, если дело касается веб-разработки. Сюда подключаются языки баз данных, гипертекст и так далее. В этот момент IDEA делает то, на что пока не способны многие: анализируя написанную программу, IDE отделяет языки друг от друга и анализирует их по отдельности.

У программы хорошо реализованы хоткеи, к которым, конечно же, нужно будет привыкнуть. Но, как только все произойдет, продуктивность зашкаливает. Ими же можно вызывать отладку кода, которая происходит в соседнем окне.

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

IDE Eclipse

Это среда разработки популярна не только среди джавистов, но и среди веб-разработчиков в целом. Существенным преимуществом по сравнению с IDEA, однозначно станет цена – Eclipse полностью бесплатна, как и дополнения к ней. Кстати, в планах создателей среды разработки не было соперничества с IDEA: они хотели затмить успех, который получила Visual Studio. В какой-то мере это им удалось: веб-программисты средней руки почти всегда отдают предпочтение Eclipse.

Что еще лучше, чем в IDEA? Бесплатный доступ к Java EE. Она доступна сразу, без дополнительных платежей и установки плагинов. Кстати, о последних. Их установка в Eclipse составляет значительную задачу. Они могут «ссорится» между собой, доставляя неудобства разработчику. Но позитивным моментом можно назвать их количество. Советуем выбирать официальные, ведь таким образом меньше вероятность, что они начнут конфликтовать со средой разработки.

Eclipse рассчитана на то, что вы персонализируете ее под себя. Потому, первый опыт работы с IDE может оттолкнуть от дальнейшего использования. Тот редкий случай, когда для одной из лучших сред разработки нужен мануал. Благо, их масса на YouTube.

NetBeans

Это среда разработки, которая родилась из-под пера создателей Java – Sun Microsystem. Они хотели создать лучшее решение для своего языка, а потому спроектировали IDE, которая дружит не только с Windows.

В нашем списке она наиболее кроссплатформенная. NetBeans можно запустить не только на топовых осях, но и на любом другом устройстве, которое оснащено JVM. Сразу видно подход Sun: они хотели, чтобы их язык работал на всех девайсах (от компьютера до стиральной машины). Естественно, что «бобы» были названы официальной средой разработки для Java, хоть она и не столь хороша. Сегодня, над NetBeans работают в компании Oracle, которая поглотила Sun.

NetBeans так же умна, как IDEA, способна на смарт-рефакторинг. С этой задачей система справляется значительно лучше, чем Eclipse, но хуже, чем IDEA.

Как вы могли понять из объема сказанного, лучшей будет названа IDEA. Вот перечень причин:

понимание программирования. Никто так быстро не заполняет код и не исправляет ошибки, как IDEA;

цена. Да, Eclipse полностью бесплатна. Но вы же не станете покупать плохую еду, только потому что она дешевле?

Это наше видение! Кстати, у Oracle есть еще одна IDE в арсенале, под названием JDeveloper – полностью заточенная под Java. Пробуйте и ее, и делайте выводы сами. А у нас все!

Как создать сайт самому?

Какие технологии и знания необходимы сегодня, чтобы создавать сайты самостоятельно? Узнайте на интенсиве!

Full-Stack практика. Создание JavaScript блога

Создание веб-приложения с нуля на JavaScript, NodeJS, ExpressJS

TOP 10 лучших сред разработки на Java

Java — мощный язык программирования, поддерживающий множество платформ. Под каждую есть свои среды разработки — давайте посмотрим, какие.

1 — NetBeans

Когда-то принадлежавшая Sun Microsystems, а теперь и Oracle, NetBeans является одной из лучших IDE за последнее десятилетие. NetBeans — модульная среда разработки, и все функции IDE входят в пакеты, называемые модулями. Он предлагает легкую интеграцию с программным обеспечением для управления версиями. NetBeans был создан с открытым исходным кодом, поэтому каждый может внести свой вклад в его развитие. Он бесплатный и работает на большинстве операционных систем и платформ.

  • Разработчик: Oracle.
  • Платформы: Windows, Mac и Linux.
  • Цена: Бесплатно.
  • Размер: 186 МБ для версии Java EE.

2 — IntelliJ IDEA

IntelliJ является закрытой исходной Java IDE и одной из главных среди IDE для Java (две другие — Eclipse и NetBeans). IntelliJ IDEA имеет отличный современный интерфейс. Он был выбран как базовая IDE для Android Studio — нового программного обеспечения для создания Android-приложений, разработанного компанией Google.

С уществуют две версии IntelliJ — Community Edition, которая является бесплатной, и Ultimate Edition, которая полностью признана и требует использования оплачиваемых лицензий.

  • Разработчик: JetBrains.
  • Платформы: Windows, Mac и Linux.
  • Цена: Платная (индивидуальная пользовательская лицензия на 199 долларов США). Бесплатно для студентов, также существует версия с открытым исходным кодом — тоже бесплатная.
  • Размер: 180 МБ для Community Edition, 290 МБ для Ultimate Edition.

3 — Eclipse

Eclipse — одна из самых популярных >. Eclipse также была базовой IDE для старого Android SDK (Software Development Kit).

  • Разработчик: Eclipse Foundation.

  • Платформы: Windows, Mac и Linux.
  • Цена: Бесплатно.
  • Размер: пакет загрузки Eclipse Oxygen для Java EE весит 180 МБ.

4 — JDeveloper

JDeveloper — полностью свободная среда разработки, выпущенная Oracle. JDeveloper предлагает несколько функций, таких как: рефакторинг; контроль версий Git; аудит и метрики; отладка и профилирование кода; поддержка Ant и Maven. Он поставляется в двух версиях: Studio Edition, который имеет полностью загруженный набор инструментов для создания программ на Java, и Java Edition, в котором отсутствуют функции J2EE, ADF, UML и базы данных, но эта версия занимает меньше места и быстрее работает. Java Edition имеет все основные функции, необходимые для Java, и должен удовлетворять большинству начинающих Java-программистов.

  • Разработчик: Oracle .
  • Платформы: Windows, Mac и Linux.
  • Цена: Бесплатно.
  • Размер: Java Edition-181 МБ, Studio Edition -1.8 ГБ.
Мастер Йода рекомендует:  Git-мастер 3 простых шага для достижения цели

5 -Dr. Java

Dr. Java — это легкая Java >Его интерфейс был разработан с использованием инструментария Swing, разработанного Sun Microsystems.

  • Разработчик: JavaPLT.
  • Платформы: Windows, Mac и Linux.
  • Цена: Бесплатно.
  • Размер: 13 МБ

6 — BlueJ

BlueJ — это Java >Основная цель BlueJ — научить объектно-ориентированному программированию, поэтому проект подойдет для новичков.

  • Разработчик: King’s College London, University of Kent.
  • Платформы: Windows, Mac и Linux.
  • Цена: бесплатно.
  • Размер: 160-170 МБ (включая JDK).

7 — jCreator

jCreator — это быстрая и эффективная Java IDE, написанная на C ++ (который предположительно делает его быстрее, чем другие IDE, написанные на Java). Он имеет интерфейс, похожий на более ранние версии Visual Studio, и позволяет настроить его по своему усмотрению. jCreator — платная IDE, но доступна бесплатная версия без таких функций, как автоматическое завершение кода. jCreator предлагает только поддержку Windows, но ее можно запустить на Linux с помощью Vine.

  • Разработчик: Xinox Software.
  • Платформы: Windows.
  • Цена: от 30$ до 1600$, есть пробная версия.
  • Размер: 7.2 MB для пробной версии.

8 — jGrasp

jGrasp — еще одна очень легкая Java >jGrasp автоматически создает визуализацию, а также имеет механизмы идентификации структуры данных, динамические зрители объектов и несколько других функций, которые представляют Java-код в приятном и удобном для чтения формате.

  • Разработчик: Auburn University.
  • Платформы: Windows, Mac и Linux.
  • Цена: Бесплатно.
  • Размер: 5 МБ.

9 — Greenfoot

Greenfoot — это образовательная Java IDE. Она в значительной степени опирается на визуализацию структур данных и оптимизироваан для создания простых программ и 2D-игр Java. Greenfoot имеет функцию совместного использования в Интернете, которая настраивается непосредственно в самой среде. Пользователи могут делиться своими программами онлайн для просмотра другими, а также получать справку и отзывы. Совместные проекты могут быть отредактированы онлайн. В целом, Greenfoot отлично подходит для начинающих.

  • Разработчик: King’s College London, Oracle.
  • Платформы: Windows, Mac и Linux.
  • Цена: Бесплатно.

  • Размер: 162 МБ для Windows (включая JDK).

10 — Codenvy

Codenvy — чисто облачная IDE, то есть установка ей не требуется. Codenvy имеет все функции полнофункциональной автономной среды IDE, включая среды сборки / запуска / отладки. Возможность сотрудничать в режиме реального времени является одной из желательных возможностей Codenvy. Codenvy имеет отличный интерфейс и несколько вариантов рабочего пространства. Он доступен после оплаты ежемесячной абонентской платы. Community-изданием Codenvy можно пользоваться бесплатно.

  • Разработчик: Codenvy Inc.
  • Платформы: на основе браузера.
  • Цена: бесплатно для Community-издания Подписка на премиум-версию от 1$/месяц.

Заключение

Потому как Java — кроссплатформенный язык программирования, почти все среды разработки тоже кроссплатформенны. Однако, опять же, выбор IDE зависит также и от личных предпочтений, целей использования, уровня мастерства. Удачи!

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

MS Paint — лучшая IDE для Java

AlternativeTo is a free service that helps you find better alternatives to the products you love and hate.

The site is made by Ola and Markus in Sweden, with a lot of help from our friends and colleagues in Italy, Finland, USA, Colombia, Philippines, France and contributors from all over the world. That’s right, all the lists of alternatives are crowd-sourced, and that’s what makes the data powerful and relevant.

Feel free to send us your questions and feedback on hello@alternativeto.net, in our discussion forums, in our Discord channel or tweet us at @AlternativeTo

Made in Sweden, Fueled by great apps, coffee & good music, version: Release-86

BlueJ — java IDE для новичков

Пару лет назад я начал изучать программирование. Учился я в сфере, вообще не связаной с IT. Поэтому все учил сам. Статьи на хабре, различные туториалы и видеоуроки. После долгого гугления, я твердо решил, что хочу изучать Java. Причина такого выбора была банальна. Я нашел отличный онлайн курс, который был мне понятен.
Как в большинстве курсов, там использовался Eclipse IDE. Друзей-программистов, которые могли бы мне помочь, не было. И я с ужасом вспоминаю, как тяжело мне пришлось. Читая книгу и смотря уроки, я все понимал. Но почему-то, в эклипс это не запускалось. Те вещи, которые кажутся такими простыми для меня сейчас, на тот момент были непосильны. Иногда, изучая одну часть чего-либо, хочется полностью абстрагироваться от другой. На тот момент, моей задачей было понять, что такое переменная, научиться писать циклы, попробовать конструкцию if-else. А мне пришлось принимать решение, какой вид проекта я создаю. Запускать как программу или Апплет. Импортировать библиотеки и добавлять их в classpath. И тут часто встречаются моменты, которые на уроках пропускаются. А если ты совершишь маленькую ошибку, твое приложение может вообще не запуститься.

Вывод такой, что полному новичку нелегко разобраться в полноценном IDE, таком как Eclipse, NetBeans или IDEA. Я знаю много людей, которые отбросили идею программировать после первых попыток. Не из-за того, что не понимали концепций девелопмента, а именно из-за тяжелой настройки и разных конфигурационных моментов, с которыми они столкнулись в самом начале.
Так вот недавно, на сайте Oracle, я увидел рекламу: Bluej — Java IDE для новичков. Стало интересно, скачал, попробовал… И согласился с рекламой, что с таким IDE новичку будет, несомненно, проще изучать азы языка Java. Считайте эту статью небольшим введение в данный продукт.

Что это такое?

BlueJ — это бесплатная Java IDE, создана для начального обучения программированию специалистами британского Университета Кента, австралийского Университет Монаша и компании Sun Microsystems. Продукт этот совсем не новый, его разработка началась в 1999 году. В 2009 его сделали open source. Существуют три основные версии BlueJ: Windows, Mac OS X, Ubuntu. Интерфейс BlueJ переведен на много языков, включая русский.

Как работать с BlueJ?

Давайте создадим небольшую программку, а-ля «Hello World» для наглядной демонстрации продукта.

1. Скачиваем BlueJ с оф. сайта. Есть версии уже с JDK, что тоже облегчит работу. Можно JDK установить отдельно.
Запускаем IDE (у меня версия 3.1.1) и видим такую картинку.

2. Нажимаем Project-New Project и дописываем / имя вашего проекта. Я назвал Birds.

3. Жмем кнопку New Class, всплывает окно. Вводим имя класса (Zoo) в текстовое поле, выбираем тип Class и жмем ok. У нас появился прямоугольник с именем нашего класса.

4. Кликаем дважды на прямоугольник — и класс уже открыт. В готовом классе IDE сразу вставил пример кода: комментарии, поле, конструктор и метод. Мы же заменяем его так, как видно на картинке.

5. Нажимаем Compile(Внизу должно быть написано: Class compiled — no syntax errors.). Жмем Close.

6. Кликаем правой кнопкой мышки на наш класс и выбираем наш главный метод: void showBirds(). Должно появиться окно терминала с результатом нашего кода.

Можно сразу зупускать любой static метод. Либо вначале создаем сущность нашего класса(правой кнопкой мыши new Main()), а потом правой кнопкой зыпускаем любой метод. Слово public можно пропускать. Если вы используете main(String [] args) метод, то нужно передать <> виде параметра.

Проект показывается как UML диаграмма. Можно прямо в главном окне добавить пакеты, установить наследование или указать, какой класс что использует. Можно настоить размер шрифта и разные мелочи в редакторе. А также задать комбинации клавиш. BlueJ даже имеет свои extensions.
Я не нашел code completion, что, наверно, даже хорошо для специалистов того уровня, на который рассчитан BlueJ. Будет возможность лучше запомнить названия методов и синтаксис языка. Имеется вполне приличный дебаггер.

Лично мне использовать BlueJ очень понравилось(под Ubuntu один раз завис, но перезапуск быстро решил проблему без потери данных). Думаю, можно смело советовать эту IDE новичкам программирования, которые решили учить Java. Для тех, кто уже знаком с программированием и просто решил выучить новый язык, это не будет оптимальным выбором. Также BlueJ может быть полезна опытным разработчикам для быстрого решения некоторых узких задач. BlueJ — это инновационный проект, и даже Microsoft однажды нагло хотела запатентовать их наработки.

Как выбрать Java >Выбор оптимальной интегрированной среды разработки (IDE) для языка программирования Java может существенно сказаться на эффективности работы. Сравнив основных конкурентов NetBeans, Eclipse и IntelliJ IDEA и выбрав то, что наиболее точно отвечает вашим знаниям и задачам, найдите лучшую IDE для себя.

Начало работы программистов на Java неразрывно связано с выбором рабочего окружения — IDE (integrated development environment / интегрированной среды разработки). Особенно важно это для тех, кто впервые сталкивается с программированием, поскольку выбор IDE может оказать существенное влияние на их рабочий процесс.

Несмотря на то, что в целом существует больше десятка различных сред разработки для Java, крупнейшими и наиболее функциональными, а также обладающими хорошей поддержкой как со стороны разработчиков, так и со стороны сообщества, являются три IDE: NetBeans, Eclipse и IntelliJ IDEA. Остальные конкуренты существенно уступают в функциональности, многие более не поддерживаются, из-за чего не могут отвечать последним стандартам такого стремительно развивающегося языка программирования как Java. Остановимся на каждой из упомянутых сред разработки более подробно.

NetBeans разрабатывается при активной поддержке компании Oracle, которой также принадлежат права на Java. Таким образом часть технологий Java имеют поддержку в NetBeans из первых рук.

По своей функциональности NetBeans является наиболее простой и интуитивно понятной средой разработки для Java из тройки лидеров. Без сомнения можно рекомендовать ее для тех, кто впервые сталкивается со средами разработки и языком программирования Java. Среди отличительных черт этой IDE можно выделить оптимальную настройку среды «из коробки». Установив данную среду, пользователь получает отличные настройки компилятора и самой среды разработки, интерфейс без лишних иконок и пунктов меню, присутствуют лишь наиболее востребованные и часто используемые функции. Впоследствии, естественно, можно настроить интерфейс под себя. Можно отметить также удобную реализацию выполнения задач, все меню очень хорошо структурированы, имеют понятные названия. Отдельно можно отметить легкость работы с NetBeans из-за отсутствия необходимости бродить по бесконечным меню и всплывающим окнам, чем страдают многие другие среды разработки. В большинстве случаев при общении пользователя со средой NetBeans автоматически предлагает оптимальные параметры для работы. Таким образом, даже если начинающий пользователь не до конца понимает, о чем его спрашивает среда, нажимая «ОК», навредить своей работе почти невозможно. Установка дополнительных компонентов среды / плагинов (plug-in) производится в один клик. Имеется хорошая поддержка систем контроля версий (VCS, version control system), а также простая в использовании подсистема разработки графического пользовательского интерфейса (GUI, graphical user interface). NetBeans доступен бесплатно.

Подводя итог, можно охарактеризовать NetBeans IDE как интуитивно понятную и простую в использовании среду разработки. Начиная работать с NetBeans, в нем легко разобраться, а также легко научиться пользоваться этой средой на продвинутом уровне. Кроме того, стиль взаимодействия NetBeans с пользователем таков, что позволяет быстро освоить и сам язык Java, если пользоваться встроенными в среду подсказками, будь то документация Javadoc или рекомендации по исправлению допущенных/потенциальных ошибок.


Eclipse — первоначально созданная IBM интегрированная среда разработки, находящаяся среди лидеров с момента своего появления. Eclipse, однако, заточен не только под Java, а является средой общего назначения Eclipse Platform, что сказывается на его функциональности. Наиболее подходящая для работы с Java сборка среды Eclipse доступна под названием »Eclipse IDE for Java Developers».

Отличительной чертой Eclipse является почти неограниченная настраиваемость и расширяемость. У начинающих пользователей, однако, это может вызвать проблемы. Так «из коробки» интерфейс Eclipse содержит излишне много редкоиспользуемых функций, обладает запутанными и не интуитивными меню, известен Eclipse и своими бесконечными диалоговыми окнами, требующими от пользователя ввода большого числа информации или просто перегруженными сведениями, с которыми ему необходимо ознакомиться. Система установки плагинов также может показаться запутанной. Системы работы с контролем версий и разработки пользовательского интерфейса находятся на среднем уровне. Eclipse также доступен бесплатно.

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

IntelliJ IDEA, созданная компанией JetBrains, была первой созданной полноценной интегрированной средой разработки. В отличие от вышеописанных IDE Intellij IDEA доступна в бесплатной Community Edition версии и платной — Ultimate. Для начинающего разработчика бесплатная версия содержит весь необходимый функционал и может рассматриваться как полноценная IDE.

Сейчас IDEA получает все больше и больше сторонников и положительных отзывов, являясь, как и говорит ее слоган «умной» средой разработки. Intellij IDEA крайне понятна, проста в использовании, поддерживает большинство современных технологий, имеет одну из самых удобных систем по работе с контролем версий. В ней полностью отсутствует какая-либо перегруженность: минимум диалоговых окон и только необходимая информация выводятся пользователю. Существует обширная система горячих клавиш, позволяющих быстро выполнять большое число нетривиальных функций. По уровню удобства работы с IntelliJ IDEA определенно стоит на уровень выше конкурентов, поскольку будучи «умной» средой, она всегда знает намерения пользователя, подсказывая/помогая ему в работе и экономя большое количество времени и сил. Как таковых минусов у IntelliJ IDEA нет, для новичка, однако, сложность может представлять система разработки GUI, поскольку потребует от пользователя хотя бы минимального набора знаний о построении GUI в Java.

Подводя итог, стоит сделать следующие замечания. Для тех, кто впервые сталкивается с Java и интегрированными средами разработки, идеальный выбор — NetBeans. Для людей, обладающих хотя бы минимальными знаниями Java, подойдет NetBeans или IntelliJ IDEA. Тем, кто имеет желание и возможность провести какое-то время за знакомством и настройкой среды, а также хочет полностью подстроить среду под себя, можно посоветовать Eclipse.

Programming with MS Paint? MS Paint > July 18, 2020 Sarah Schlothauer

Many artists have pushed MS Paint to new limits, creating impressive art with the relatively basic program. But what about programming? Yes, even programming! With the MS Paint IDE you can even code with Paint. MS Paint IDE has a new v3.0.0 release that adds Google Assistant support and more.

If you think a little outside the box, MS Paint is more than just a nostalgic memory of scribbling stick figures while waiting for the dial-up to connect. Plenty of artists have created impressive works in the little application, pushing it to its limits. Programming can be an art form too, like this JavaScript project that recreates the MS Paint experience from your browser. What about coding with Paint? The MS Paint IDE takes the cake when it comes to pushing programming limits.

One question: Why? The same reason Captain Kirk climbed the mountain.

This open source IDE is more than just a punchline. It’s a fully-featured IDE that recently reached a milestone with its v3.0.0 release.

Better than Eclipse?

From the GitHub README:

People joke about what IDE they use often, things like Word, MS Notepad, sometimes even Eclipse, and then often times MS Paint. People joke about MS Paint because it’s not even a text editor, people joke about it because it doesn’t have one feature in common with IDEs. Well, this application gives MS Paint a boost, and lets MS Paint highlight, compile, and execute code, with just a few clicks of a button, and only text coming from MS Paint. It is now much more practical than things like Word, Notepad, and obviously Eclipse.

MS Paint IDE is an application that runs alongside MS Paint that reads its images you make from MS Paint. It then uses a custom OCR to read, parse, highlight, and execute the text. All output files and logs are created as images, to show you the program output, and compilation/interpretation output.

Мастер Йода рекомендует:  CareerBuilder Каждый пятый работодатель просматривает профили соискателей в социальных сетях

While this description sounds like a mad scientist’s fever dream, the IDE is fully functional. And yes, it supports Comic Sans.

Some of the current features include:

  • Read, parse, highlight code from image files
  • Support for Java, Python, JavaScript, and Go. More languages to come in the future.
  • Right-click context menu, open and edit any text files in an MS Paint instance
  • Integrated buttons in MS Paint
  • Program and compiler outputs as image logs
  • Basic Git options
  • Edit options: Finding, replacing, inspecting
  • Themes: Light mode and dark mode. Add your own custom themes with CSS.

Preparing the code (in MS Paint, of course). Source.

Latest version & the future

Version 3.0.0, released on July 17, 2020 is a “complete overhaul”. According to the release notes it adds:

  • Completely custom OCR with multiple fonts at any size supported
  • Different language with LSP support
  • Google Assistant support (Go hands-free with the setup instructions here.)
  • Arbitrary text file editing

The Wiki states that future plans include: Gradle/Maven support, PaintInjector improvement, live debugging, autocompletion, and auto-updates. (The Wiki also says future plans include acquiring JetBrains but well, we will see about that one! ��)

More video demos about the 3.0.0 release will arrive in the future as well.

6 лучших >

Перевод статьи «6 Best IDEs For C and C++ Programming Language».

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

Интегрированная среда разработки (Integrated Development Environment, IDE) оказывает большую помощь программисту, предоставляя все необходимые для работы удобства. Также она повышает производительность труда разработчика благодаря полезным инструментам, функциям автозаполнения и сотням сочетаний клавиш.

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

1. Eclipse

Eclipse это одна из самых богатых функционалом IDE с открытым исходным кодом. Изначально она главным образом использовалась для разработки на Java, но сейчас поддерживает большее разнообразие языков. Эта IDE поставляется с отличным графическим пользовательским интерфейсом и функционалом drag-and-drop.

Eclipse доступна для Windows, Linux и MacOS. Эта среда предоставляет много продвинутых фич, таких как автоматический анализ кода, интеграция git, статический анализ кода и т. д.


Поддерживаемые языки: C, C++, C#, Java, JavaScript, Perl, PHP, Python, COBOL и т. д.

2. NetBeans

NetBeans это еще одна из лучших IDE для программирования на С и С++. Она имеет дружественный к пользователю интерфейс, а также несколько потрясающе полезных шаблонов проектов. Есть функционал drag-and-drop. Netbeans написана на Java, но предоставляет полную поддержку и набор инструментов, необходимых для разработчиков, пишущих на С и С++.

Лучшее в Netbeans это ее простые и эффективные инструменты для управления проектами. Поставляемый функционал можно расширить при помощи разнообразных полезных плагинов. С NetBeans вы сможете мониторить разработку вашего проекта удаленно.

Эта среда доступна для Windows, Mac OS X, Linux и Solaris.

Поддерживаемые языки: C, C++, Java, HTML, HTML 5 и другие.

3. Visual Studio Code

Visual Studio Code от Microsoft это одна из самых надежных и функциональных IDE, доступных для Windows, Linux и MacOS. Эта IDE базируется на фреймворке Electron.

Если говорить о функционале, Visual Studio Code обладает всеми нужными свойствами, такими как умное дополнение кода, подсветка синтаксиса, рефакторинг кода, поддержка сниппетов, возможности отладки, интегрированный контроль Git и т. д. Кроме того, вы можете кастомизировать эту IDE многими способами, включая сочетания клавиш и настройки.

Поддерживаемые языки: C, C++, C#, CSS, Go, HTML, Java, JavaScript, Python, PHP, TypeScript и т. д.

4. Code::Blocks

Code::Blocks поддерживает мало языков, но зато для них является одной из лучших IDE. Разработчики, пишущие на С и С++, оценят ее настраиваемость и гибкость. Лучшее в Code::Blocks это доступность множества плагинов. Функционал этой среды разработки можно сколь угодно расширить, в том числе с помощью пользовательских плагинов.

Умная подсветка синтаксиса, автодополнение кода и полнофункциональный отладчик, имеющиеся в Code::Blocks, сделают разработку действительно быстрой.

Code::Blocks доступна на всех платформах, включая Windows, Linux и MacOS.

Поддерживаемые языки: C, C++ и Fortran.

5. Atom

Atom это один из самых популярных и высоко настраиваемых редакторов кода. Он разработан Github и является прекрасным выбором как для маленьких, так и для крупных проектов. Доступен для Windows, Linux и OS X, поставляется с очень минималистическим пользовательским интерфейсом.

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

Поддерживаемые языки: C/C++, CSS, HTML, JavaScript, PHP, Python, Ruby и т. д.

6. Dev C++

Если вы ищете популярную IDE для разработки на С/С++ на начальном уровне, обратите внимание на Dev C++. Хотя эта среда не имеет многих более продвинутых функций, вам будут доступны автодополнение кода, менеджмент проектов, подсветка синтаксиса, поддержка CVS, встроенная отладка и пр. Dev C++ базируется на GNU Compiler Collection (GCC).

Эта среда вполне подходит для разработки мини-проектов на платформе Windows.

Поддерживаемые языки: C и C++.

Заключение

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

А чем пользуетесь вы? Поделитесь в комментариях!

Рейтинг бесплатных сред разработки под Java

Программисты задаются вопросом: «Как создать надежное Java-приложение, которое будет работать стабильно?». Для этого потребуется не только профессиональный разработчик с хорошими программистскими навыками, но и полноценная среда разработки под Java.

Среда разработки включает в себя:

Одни из них содержат все эти компоненты из «коробки». Другие доводятся такого состояния с подключением плагинов и модулей. Представляем вашему вниманию 5 лучших бесплатных сред разработки под Java.

Eclipse IDE

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

Eclipse поддерживает все необходимые функции, которыми должна обладать по-настоящему качественная Java IDE:

  • поддержка новейших версий Java 8.0 и 9.0;
  • рефрактор кода, перекрестные ссылки, автопродление элементов кода;
  • интегрированный анализ кода;
  • исправление и завершение Java-кода;
  • поддержка операционных систем Windows, Linux, OS X.


Обратите внимание! Eclipse — одна из перспективных IDE Java-разработки для мобильной платформы Android.

IntelliJ IDEA

Одна из функциональных сред для разработки Java-приложений. Снабжена продвинутой интеллектуальной помощью по написанию программ. Более того, IDEA способствует настройке автоматического продления, а также доступности всевозможных инструментов. Широкий арсенал инструментов позволяет ускорить написание кода с помощью готовых шаблонов или повторителей. Помимо этого пользователь сможет повысить производительность будущей программы. Таким образом, обширный арсенал плагинов и готовых шаблонов практически под любую задачу делает бесплатную среду разработки под Java IntelliJ одним из самых практичных инструментов.

Бесплатная версия данной среды поддерживает следующие платформы:

IntelliJ IDEA является одной из самых компактных бесплатных сред разработки под Java, поскольку выполняет ряд других функций:

  • тестирование JUnit, а также TestNG;
  • отладка;
  • автоматическое заполнение кода;
  • проверка написанного кода;
  • рефакторинг;
  • визуальный графический редактор.

Обратите внимание! IntelliJ поддерживает плагин Docker, который поддерживает развертывание приложений.

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

NetBeans

Бесплатная версия NetBaens дает начинающим программистам огромные возможности для написания проектов. Профессиональные кодеры предпочтут платную версию, включающую различные продвинутые функции.

По данным производителя, данная среда разработки поддерживает практически все новые функции Java. Программа позволяет набирать код без ошибок, а также устранять проблемы разного уровня сложности. И этому способствует удобный инструмент FindBug. Официальный сайт проекта, инструкции эксплуатации, а также сама IDE поддерживают русский язык.

NetBeans поддерживает HTML5, CSS3, JavaScript (ES 5/6) и Angular JS. Кроме того, данная среда разработки позволяет создавать мобильные игры и приложения на платформах Cordova и PhoneGap. А с помощью GlassFish и WebLogic разработчик сможет «разбирать» веб-приложения. А отладчик NetBeans, в свою очередь, дает возможность программисту быстро находить нужные фрагменты кода, а также ставить контрольные точки, заметки, делать снэпшоты.

Android Studio

Продвинутая среда разработки Java приложений для мобильной платформы Android. Проект был запущен в 2013 году. Разработан на основе IntelliJ IDEA. Android Studio обеспечивает высококлассные условия для разработки качественного дизайна и оптимизированного кода.

Данная IDE поддерживает множество полезных функций:

  • автоматическое интеллектуальное редактирование кода;
  • отладка;
  • профилирование кода;
  • практические тестирование кода.

Кроме того, данная среда разработки для Andoid предполагает следующие возможности:

  • моментальное обновление кода программы без ее перезагрузки;
  • визуальный запуск приложений на различных конфигурациях мобильных устройств на базе Android;
  • написание качественного и оптимизированного кода;
  • система сборки Gradle способствует автоматизации сборки приложения, а также оптимизировать приложение под все смартфоны и планшеты Android;
  • шаблоны готового кода, способствующие ускорению написания кода;
  • наличие инструментов, таких как Layout Editor, Vector Asset Studio, APK-анализатор.

Таким образом, Android Studio — одна из перспективных бесплатных сред разработки Java-приложений и игр для Android OC, позволяющая написать действительно качественный и оптимизированный код под данную мобильную платформу.

JDeveloper

Производительная среда с открытым кодом от Oracle, которая поддерживает практически все этапы реализации любого приложения или плагина. Позволяет по максимуму использовать как декларативный, так и визуальный подход к написанию абсолютно любой программы.

В JDeveloper встроен модернизированный редактор кода, благодаря которому скорость написания кода многократно возрастает. Этому также способствует профилирование и модульное тестирование. Программы, написанные в JDeveloper, подойдут для эксплуатации в:

Рекомендованные публикации

В прошлом году на конференции Build 2020 был анонсирован выход приложения iTunes в Магазине Windows (ныне Microsoft). До начала конференции…

Системная информация о занятом пространстве жестких дисков не очень полная. Количество свободного и занятого пространства, а также количество папок и…

Программы для удаленного доступа — очень полезная вещь. Скажем прямо — не каждый пользователь персонального компьютера действительно умеет им пользоваться.…

Добавить комментарий Отменить ответ

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.

Визуальное программирование на Java

Почти все книги и уроки по Java для новичков начинаются с описания ООП: какой он замечательный с великолепный. Понятно, поскольку в Яве просто невозможно любое другое программирование, кроме как объектно-ориентированное, то вначале предлагается освоить 40..80 страниц безумных аналогий с иерахией кошечек/собачек/уточек/автомашин, и только после этого предлагается написать «Hello, World!». 🙂

При этом стоит заметить, что абсолютно всё обучение Java строится на примитивнейшем выводе результата на консоль. То есть не консольное приложение в привычном понимание, а именно вывод каких-то данных построчно. Ну вот например Turbo Pascal 3.0 вышел в 1985 году и в нём уже была поддержка графических режимов. В 1990 году появился Turbo Vision — очень крутая вещь — аля-Windows только для DOS. А в Яве в 2020 году возможен только вывод на консоль. И вот вся эта восторженность и крутость как-то вдребезги разбивается уже на этапе «Hello, World!». Хуже наверное это только развлекаться на программируемом калькуляторе МК-61 или МК-52 — а что? там такой же построчный вывод.


Но, самое забавное — это то, что на Java реально можно создавать программы используя визуальное программирование! Я об этом узнал только когда прочитал (или скорее ознакомился) с 500 страничной книгой, где в одной из последних глав, вдруг выяснилось, что для Java существуют нормальные GUI (графические интерфейсы пользователя) и можно оформлять программы с кнопочками, полями ввода и нормальными меню. Спрашивается: зачем вы столько времени «мурыжили» эту паршивую консоль, когда можно было сразу всё делать красиво и аккуратно?

(Дальше много картинок!)

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

Первый — GUI для Java есть трёх видов (библиотек): AWT, Swing (кто придумывает такие названия?) и JavaFX.

На сегодняшний день (Java 8 и 9) все они входят в комплект поставки JDK: то есть всё работает из коробки и не нужно заморачиватся с их установкой. Это большой плюс.

Но, AWT — это первая и очень старая реализация, поэтому её использовать не нужно. В общем — некошерно. Swing — тоже некошерно, поскольку там что-то не так замутили и программы из-за него жутко тормозят. Точнее не скажу, не разбирался, но вроде как она официально больше не развивается несколько версий. А вот JavaFX — это гуд и наше светлое будущее.

Есть ещё такая мерзость — java-апплеты, те которые работают в браузере и при этом его намертво «вешают», примерно как Flash, только ещё хуже. К счастью эту/эти штуку/штуки практически уже не используют, поэтому тратить время на их изучение бессмысленно.

Так что единственное на что стоит потратить время — это JavaFX.

Второй момент. Всё не так просто. Рассмотрим Delphi (или Visual Studio, Lazarus, не важно). Даже для «зеленого» новичка создание простой программы (одна кнопка и текстовое поле для вывода) будет происходить так:

  • запускаем Delphi;
  • автоматом создается новый проект с главной формой;
  • выбираем на палитре компонентов кнопку и размещаем на форме; всё визуально
  • аналогично кидаем на форму текстовое поле;
  • при необходимости в панели свойств можно указать текст кнопки, размеры и т.п.;
  • запускаем — Delphi предложит сохраниться, сохраняемся.

То есть мы не написали ни единой строчки кода, IDE — всё сделала сама. Если посмотреть на сгенерированный код, то назвать его простым нельзя — здесь уже требуются определенные знания, но Delphi достаточно умна, чтобы понимать как с ним работать.

Если мы захотим добавить какое-то действие, например при нажатии на кнопку, заполнять текстовое поле фразой «Привет!», то делаем так:

  • два раза кликаем на кнопку (или выбираем событие onClick);
  • Delphi создает код обработчика этого события и перекидывает нас в редактор;
  • набираем название текстового поля и Delphi выдает подсказки, по которым можно соориентироваться что и как делать.

То есть опять же, IDE выполнила всю черновую работу.

Но это в других языках, Java идёт своим путём. Чтобы создать кнопку в JavaFX нужно вручную создать Stage — «театральные подмостки» (название на полном серьёзе!) и на них разместить сцену (Scene). К ней какой-нибудь контейнер в который уже вкладывается прочие элементы.

Мастер Йода рекомендует:  Xiaomi запустила игру с криптокроликами CryptoBunnies

При этом предполагается, что каждый элемент и каждое его свойство нужно программировать индивидуально. Вот пример на две кнопки и одну label из моей обучающей книги

Когда кнопок наберется с десяток, плюс 20 пунктов меню, плюс 30 других компонентов, то код маленьким не покажется. И это ещё без кода, который отвечает за дополнительные свойства, например выравнивание, размеры, шрифт. И вот это второе указывает на то, что обучалки по JavaFX как раз и показывают как писать «fx-код» ручками. Тоска, одним словом.

Но, тут возникает спасительный третий нюанс. Оказывается умные люди (видимо знакомые с полноценными IDE), разработали другой вид приложений, где для генерации «fx-кода» используется описательный xml-файл, который называется fxml, а такие программы менуются как «Приложения FXML JavaFX»

Для меня совершенно удивительно то, что обучение Java не начинается именно с таких приложений. Пусть это не Delphi, но всё-равно это в миллион миллионов раз лучше, чем работать с консолью и забивать себе голову прочим хламом о том, почему нужно использовать стопицот строк с ООП там, где в других языках на это уходит одна простенькая процедура. 😉

Теперь серьёзно. Если вы никогда не программировали на Java, то можете попробовать сделать это прямо сейчас. На самом деле — это довольно круто, хотя потребуется немного потратить время, чтобы освоится с программами. Если у вас есть опыт работы с «визуальными IDE», то ещё лучше — встретите много знакомого.

Ява должна быть установлена на компе. Я не буду приводить ссылки как это сделать — гугл в помощь, поскольку всё слишком просто.

В Яве нет какой-то одной программы — среды разработки, поэтому в Сети встречаются примеры из разных программ. Самые примитивные, вроде Notepad++ годятся только для консольного вывода, но если рассматривать что-то более серьёзное, то выделяются только три кандидата: NetBeans, Eclipse и IntelliJ IDEA.

NetBeans — самая простая программа, которая быстро (относительно остальных) запускается и довольно сносно работает.

Eclipse — тоже неплохой вариант, более мощный чем NetBeans, но слабее чем IntelliJ IDEA.

IntelliJ IDEA — выглядит самой крутой, но за это приходится платить скоростью работы. Стоит отметить, что Android Studio базируется на IntelliJ IDEA, но студия работает почему-то значительно медленней.

Важный момент связан с программированием под Андроид. Из этих трех IDE только IntelliJ IDEA для этого более-менее годится. В Сети масса материалов о программировании под Андроид в Eclipse, но они все уже устаревшие — не тратье время, запуская старенький ADT-плагин и пытаясь хоть что-то с ним сделать. Может быть старый Android SDK и будет работать, но все новые — уже нет.

Я покажу как сделать приложение FXML JavaFX во всех трёх программах, но прежде чем приступать, нужно установить ещё одну программу: SceneBuilder (используйте версию для Java 8). Это ключевая программа, где, собственно и выполняется всё визуальное построение. SceneBuilder самостоятельно может работать без IDE, поэтому можете её запустить и посмотреть как она устроена. На выходе будет fxml-файл, который содержит всю нужную разметку. Этот файл и используется в IDE, вместо написания мегатонны кода. 🙂

Создаваемая программа будет очень простой — кнопка и текстовое поле. При нажатии на кнопку в текстовое поле пусть добавляется текст «Привет!».

В каждой программе вам нужно заранее прописать настройку — используемую JDK. Если не можете понять как это сделать, гуглите.

NetBeans

Перед началом работы, нужно подключить SceneBuilder: Сервис — Параметры — Java — JavaFX — Начальная страница Scene Builder. Выберите каталог программы. Настройку достаточно сделать один раз. Это относится ко всем IDE.

Создаём новый проект, где нужно выбрать «Приложение FXML JavaFX».


Жмём «Далее» и видим окно настройки проекта. Нужно указать название проекта, у меня это myfx.

Жмём «Готово» и, после некоторой работы NetBeans, видим готовые файлы:

  • Myfx.java — это main-файл, который, собственно и запускает всю программу.
  • FXMLDocumentController.java — это «контролёр», где и будет в основном программирование.
  • FXMLDocument.fxml — этот файл хранит визуальную часть.

Теперь запустите программу. Вначале пойдет сборка и компиляция (довольно быстрая), после чего выскочит окно нашей программы.

Это круто, потому что мы не написали ни строчки кода, но уже получили программу с работающей кнопкой. 🙂

Если вы правильно указали путь к SceneBuilder, то можете выбрать пункт меню «Открыть» на файле FXMLDocument.fxml. Это же самое произойдёт если сделать двойной клик. Откроется SceneBuilder. Если пункта нет, то путь указан не верно, проверьте настройку.

Принцип работы в SceneBuilder един для всех IDE, поэтому пока я опишу только общие моменты, дальше вы уже сами сообразите.

Стоит отметить, что после редактирования файла, закрывать SceneBuilder не нужно. Достаточно только сохраниться (Ctrl+S) и переключиться на IDE — она сама подхватит изменения.

Окно SceneBuilder разделено на три части:

  • слева — наборы компонентов, иерархия и Controller, где указывается основной класс (это важно!)
  • в центре — сама форма, где и происходит визуальное построение.
  • справа — свойства компонентов, разделенные на три закладки (это условное деление). Вкладка Code отвечает за то, что будет использоваться в java-файле.

Построение FX-программ должно начинаться с контейнера. В данном примере NetBeans использовал AnchorPane. Он довольно удобный, позволяя настраивать для вложенных элементов «правильные» отступы. Вкладка Containers содержит другие контейнеры, с которыми вы сможете самостятельно потренироваться (я и сам ещё и половины не освоил 🙂 ).

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

По условиям ТЗ у нас должно быть текстовое поле. NetBeans использует Label, но мы не будем ничего удалять, а просто добавим новый элемент TextField на форму (произвольно на ваш вкус).

В SceneBuilder возможен предварительный просмотр (Ctrl+P). В этом режиме отображается только форма и все элементы «без java-программирования».

Теперь важный момент: для того чтобы можно было использовать компонент в java-программе (в нашем коде), следует выполнить две вещи.

Первая — проверить, что указан верный контролёр. В нашем случае NetBeans сам уже всё сделал и указал myfx.FXMLDocumentController .

Как видно — это контролёр из файла FXMLDocumentController.java (пакет.контролёр). Не всегда IDE его указывают, но это важно, поскольку fxml-файл (точнее java-код) использует его для привязки.

Второй момент — используемый компонент должен иметь свой ID — это параметр fx:id . Здесь я указал textField1.

Вверху появится желтый треугольник сообщения, что якобы нет связки этого id с контролёром. Пока не обращайте на него внимания, об этом пойдет речь дальше.

У кнопки, которая будет заполнять текстовое поле, тоже должен быть свой id, а также метод события onAction (это основное событие компонента, а не onClick, как в Delphi). NetBeans уже об этом позаботился, поэтому нам ничего не придется писать.

На этом визуальное построение можно завершить. Сохраняемся и переключаемся в NetBeans. Видим, что файл FXMLDocument.fxml изменился: добавился textField1:

Теперь нам нужно как-то использовать текстовое поле в java-коде. В отличие от Delphi, NetBeans не создаёт для этого никакого кода, потому нам придётся добавлять его в «полу-ручном» режиме. Для этого в разных IDE используются различные способы, но общий принцип в том, что нужно установить курсор на нужное поле в редакторе и выполнить некое «действие». В NetBeans оно называется Установить контролер в меню Источник. (Да в Яве большие проблемы с именованиями. )

После выполнения этой команды, произойдет переход к файлу FXMLDocumentController.java, где в код будет добавлено объявление переменной textField1:

Обратите внимание на «@FXML» — эта аннотация указывает, что код как-то используется в FXML. После этих изменений SceneBuilder уже не будет выдавать предупреждение, как желтый треугольник ранее. Если ещё раз запустить SceneBuilder, то это можно проверить.

Запускаем программу на выполнение для теста. Теперь наша задача по клику на кнопке заполнить текстовое поле. Как вы уже поняли метод handleButtonAction как раз и выполняет нужную работу. В нём дописываем:

Обратите внимание как работает автодополнение кода после того, как будет нажата точка.

По мере набора текста, NetBeans будет сужать область предложений, где можно выбрать нужный вариант. Эта возможность очень здорово облегчает жизнь программистам, поскольку вариантов слишком много и это позволяет избежать различного рода синтаксических ошибок при наборе.

Данная возможность присутствует по всех IDE, хотя есть различия в реализации и использовании.

Запускаем программу и видим, что всё работает как нужно.

Нам пришлось написать всего одну строчку кода, ну и выполнить несколько дополнительных действий в редакторе.

Eclipse

Запуск Eclipse происходит несколько дольше, чем NetBeans. Вначале нужно указать путь к SceneBuilder. Делается это в Window — Preferences — JavaFX.


Обратите также внимание на то, что Eclipse неруссифицированная программа (даже не знаю, есть ли к ней руссификатор).

Создаём новый проект и выбираем JavaFX.

Жмем Next и попадаем на страницу настроек. Здесь я указал название проекта, как и прежде myfx (у меня для разных IDE разные каталоги проектов, поэтому они не пересекаются друг с другом).

Дальше ещё несколько раз жмем на Next, пока не попадем на последние настройки.

Здесь нужно выбрать тип приложения, тип контейнера и имя контролера. Жмем Finish и Eclipse быстро генерирует каркас нашей будущей программы.

Здесь всё очень похоже, только добавлен еще один файл application.css — да, да, в JavaFX можно использовать CSS для настройки оформления! Eclipse сразу сгенерировал для этого файла код подключения.

Запустим программу и убедимся, что нет ошибок.

В отличие от NetBeans, здесь совершенно пустая форма. Откроем её в SceneBuilder с помощью контекстного меню.

И здесь мы видим, что формы нет. Но, на самом деле она есть — просто по умолчанию используется вычисляемый размер (высота и ширина), который в данном случае равен нулю. Компонентов-то нет! В нашем случае это не совсем то, что нужно, поэтому мы выберем BorderPane в иерархическом списке и в свойствах Pref Width и Pref Height укажем какие-то значения. Эти свойства задают «желаемые» ширину и высоту. После этого форма сразу же «проявляется».

Контейнер BorderPane состоит из 4-х частей: top, right, bottom, left и center. Компоненты следует помещать в разные части — от этого будет зависеть их положение при изменении размера окна.

Здесь довольно сложно объяснить словами, просто попробуйте разместить несколько кнопок, а после в предварительном просмотре измените размеры окна.

Я не стал особо мудрить и разместил вверху текстовое поле, а в центре кнопку.

Теперь проверим, что указан контролёр: в данном случае application.SampleController — Eclipse выполнил эту работу за нас.

Теперь нужно указать id у наших элементов. Для кнопки я задал btn1, а текстовому полю textField1. У нас опять же возникло сообщение «желтый треугольник».

Для кнопки укажем метод на событие — btn1Click.

Сохранимся и вернёмся в Eclipse. Мы увидим, что файл Sample.fxml обновился, но рядом с некоторыми строками появились значки предупреждения.

Ситуация здесь точно такая же как и в NetBeans — нужно в «полу-ручном» режиме вносить правки. В Eclipse для этого используется контекстное меню по второй кнопке мыши: Quick Fix или горячая клавиша Ctrl+1 (что удобней).

При этом выскакивает подсказка о предполагаемом действии. Например для textField1 предлагается добавить идентификатор в контролёр:

а для кнопки ещё и метод-обработчик события:

При этом, Eclipse немного притормаживает и изменения не сразу отображаются на экране. Тут нужно либо переключиться на файл контролёра, либо немного подождать. В результате в код будет добавлены нужные изменения и значки предупреждений исчезнут.

Добавим наш код как и раньше мы сделали в NetBeans.

Обратите внимание на более интелектуальную работу автодополнения. В автоматическом режиме он немного подтормаживает, но если нажать Ctrl+Пробел (эта же комбинация используется во многих IDE), то позволяет получить и неплохой хелп.

Запускаем нашу программу.

И записываем себе на счёт ещё одну IDE. 🙂

IntelliJ IDEA

IntelliJ IDEA запускается довольно неспешно, можно успеть проверить почту. 🙂

Опять же указываем путь к SceneBuilder: File — Settings:

Дальше создаем новый проект:

И указываем его имя (как обычно — myfx):

IntelliJ IDEA выполнит инициализацию и мы увидим уже знакомые три файла. Запустим программу, чтобы проверить отсутствие ошибок.

Здесь также пустая форма, но зато указан заголовок программы. Если посмотреть на код Main.java, то увидим строчку:

Это и есть заголовок приложения. В других IDE эта строчка отсутствует, но зато теперь мы знаем для чего нужны «театральные подмостки». 😉

Переключаемся в SceneBuilder (аналогично Eclipse): второй кнопкой мыши нужно выбрать Open in SceneBuilder.

Здесь также пустая форма, но с контейнером GridPane. Устанавливаем Pref Width и Pref Height, чтобы отобразилась форма.

Сам по себе GridPane представляет собой аля-сетку из ячеек для элементов. Думаю, что тут нет смысла повторяться — все действия будут аналогичными:

  • разместить кнопку и тестовое поле,
  • присвоить им id,
  • для кнопки прописать метод для обработки клика,
  • не забываем проверить, указан ли контролёр (sample.Controller).

Закрываем SceneBuilder и возвращаемся в IntelliJ IDEA. Здесь нужно добавить идентификаторы id в код, а также создать метод для реакции на нажатие кнопки.

IntelliJ IDEA предлагает для этого два способа. Первый — при наведении мышки на «проблемное место» будет появляться подсказка, на которую можно кликнуть:

Второй — горячая клавиша Alt+Enter

При каждом добавлении происходит переключение на файл контролёра, где можно сразу увидеть изменения.

При этом, заметьте, не добавляется строчка «@FXML». Если мы вручную его добавим перед переменными и методом, то IntelliJ IDEA сразу предложит добавить нужный java-класс:

Вообще IntelliJ IDEA показывает достаточно хорошую сообразительность и выступает помощником в написании кода. Причём делает это самостоятельно без лишних нажатий кнопок.

Ну что ж, добавляем свой код для обработчика и запускаем программу:

Прекрасно, всё работает!

Итого

Главный вывод — на Яве возможно визуальное программирование. Может оно и не идеальное, но вполне годное, особенно для новичков. Изучать язык гораздо интереснее, когда есть какой-то осязаемый результат — ООП, классы и прочие премудрости — это хорошо, но лучше начать с кнопочек, полей ввода, меню и всего того, что подразумевает нормальная программа. А консоль — это скучно и неинтересно.

Три IDE я привел не случайно. В Сети очень много примеров для Явы и все они для разных программ. Лично я ещё не определился со своим предпочтением, поскольку у всех есть как плюсы, так и минусы. Наверное нужно поработать со всеми, тогда и будет понятно.

Но, ключевой момент — это умение работать с SceneBuilder. Построение формы в JavaFX немного отличается от той же Delphi, в первую очередь в использовании сложных контейнеров (они могут быть вложенными друг в друга). Поэтому вначале следует разобраться с ними, после уже можно браться за сами компоненты.

Рассмотренные программы очень простые, для изучения наверное стоит написать что-то более интересное, например калькулятор. То есть те проекты, которые не требуют особых знаний и рассчитанные на быстрый результат. Впрочем, это уже на любителя. 🙂

Добавить комментарий