Большинство существующих кодовых баз Java для графического интерфейса пользователя Swing
и, вероятно, останутся такими до тех пор, пока кодовая база не разрушится и никто больше не будет ее поддерживать.
Большинство новых баз кода Java с графическим интерфейсом пользователя используют JavaFX
, который является Swing
заменой в Java8
и теперь является частью standard java library
. Он позволяет использовать CSS
скины, HTML5
элементы, а также имеет очень красивый FXML
(диалект XML / HTML), который позволяет непрограммистам "проникать туда" и работать над макетом графического интерфейса и т. Д. Он также имеет SceneBuilder
, который является бесплатный / стандартный конструктор drag-n-drop
GUI, который автоматически FXML
генерирует для вашей программы.
Я не шучу, когда говорю, что FXML
может заменить 3000 строк extended JFrame class
кода для Swing
GUI на 50 строк FXML
. (недавний проект, который я помог перенести).
Swing
по-прежнему широко используется и будет использоваться еще долгое время - в конце концов, это был единственный выбор для Java в течение длительного времени. JavaFX
, однако, освежающе приятен, и его очень стоит изучить.
В стороне - Swing строится поверх AWT - у AWT много проблем, большинство из которых помечены как "не исправляемые" в java-проекте (OpenJDK / Oracle). Swing был создан для замены / исправления AWT, однако иногда вы можете объединить объекты AWT в свое приложение Swing. Черт возьми, вы иногда будете сочетать объекты Swing в своем приложении JavaFX. Я бы не стал беспокоиться об изучении AWT, если вы изучаете Swing, вы по большей части изучаете AWT. Самая большая разница между Swing и AWT заключается в том, что компоненты Swing начинаются с буквы J
. Пример: JFrame
против Frame
и т. Д.
person
SnakeDoc
schedule
27.06.2014