You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Кошак, смотри. Вот представим, у нас есть класс, и называется он Window. Так вот.
Смотри, этот класс должен иметь такой метод, как addElement.
Этот метод принимает в себя некий инстанс от класса Element, вроде в иннере даже был.
Ну т.е. что-то ? super Element
Под каждый элемент нужно по отдельному спец классу:
текст, имэдж, кнопка, фрейм и тд
Этот метод должен добавлять элементы в окно, и возвращать себя же, чтобы можно было цепочку вызовов осуществить.
Важное уточнение, любые числа вроде scale?, x, y, width?, height? и тд должны быть float.
Насчёт font? для текста, ты можешь сделать либо мини класс, как конструктор нужного объекта в представлении джавы, или просто через параметры. И да, учти то, что width и height если не указаны, у элементов всегда рассчитываются сами, это сделай.
Дальше, получение элемента:
твойЮай.getElement<сюда можно дженерик для конкретного типа, чтобы правильно ключи>("название").ключ или тоже самое, но вместо .ключ сделать .getBinding(String name) похожее было в жс иннера где-то видел
твойЮай.getElements() для получения всех элементов
метод getElement может возвращать что-то по типу ...методы и метод setBinding(String name, T value)
Насчёт drawing:
какой-то обобщённый класс, например DrawingElement и так же наследование
твойЮай.setDrawing(где массив, где инстансы DrawingElement)
getDrawing если пригодится, сам придумаешь.
Поскольку сделать не жсный setContent не получится, то попробуй обновлять окно после setBinding.
Насчёт расположения:
тут тоже все сделай float
твойЮай.setLocation(какой-нибудь new WindowLocation().setWidth(float num).setHeight(float num) и тд можешь придумать, или сделать чтобы этот метод принимал все параметры через запятую, но учти, что много параметров просто обязаны быть опциональны)
Насчёт таких деталей как layout:
Это уже из наработок Ильи было, просто убедись, что это работает стабильно.
Все методы вроде forceRefresh, updateScrollDimensions, updateWindowLocation, UpdateWindowPositionAndSize или как-то так, должны быть.
Ты можешь сделать ещё класс доступным к наследованию, чтобы там удобно расположить нужные методы .
Вроде всё, если ещё что-то вспомню, напишу
The text was updated successfully, but these errors were encountered:
Кошак, смотри. Вот представим, у нас есть класс, и называется он Window. Так вот.
Смотри, этот класс должен иметь такой метод, как addElement.
Этот метод принимает в себя некий инстанс от класса Element, вроде в иннере даже был.
Ну т.е. что-то ? super Element
Под каждый элемент нужно по отдельному спец классу:
текст, имэдж, кнопка, фрейм и тд
Этот метод должен добавлять элементы в окно, и возвращать себя же, чтобы можно было цепочку вызовов осуществить.
Важное уточнение, любые числа вроде scale?, x, y, width?, height? и тд должны быть float.
Насчёт font? для текста, ты можешь сделать либо мини класс, как конструктор нужного объекта в представлении джавы, или просто через параметры. И да, учти то, что width и height если не указаны, у элементов всегда рассчитываются сами, это сделай.
Дальше, получение элемента:
твойЮай.getElement<сюда можно дженерик для конкретного типа, чтобы правильно ключи>("название").ключ или тоже самое, но вместо .ключ сделать .getBinding(String name) похожее было в жс иннера где-то видел
твойЮай.getElements() для получения всех элементов
метод getElement может возвращать что-то по типу ...методы и метод setBinding(String name, T value)
Насчёт drawing:
какой-то обобщённый класс, например DrawingElement и так же наследование
твойЮай.setDrawing(где массив, где инстансы DrawingElement)
getDrawing если пригодится, сам придумаешь.
Поскольку сделать не жсный setContent не получится, то попробуй обновлять окно после setBinding.
Насчёт расположения:
тут тоже все сделай float
твойЮай.setLocation(какой-нибудь new WindowLocation().setWidth(float num).setHeight(float num) и тд можешь придумать, или сделать чтобы этот метод принимал все параметры через запятую, но учти, что много параметров просто обязаны быть опциональны)
Насчёт таких деталей как layout:
Это уже из наработок Ильи было, просто убедись, что это работает стабильно.
Все методы вроде forceRefresh, updateScrollDimensions, updateWindowLocation, UpdateWindowPositionAndSize или как-то так, должны быть.
Ты можешь сделать ещё класс доступным к наследованию, чтобы там удобно расположить нужные методы .
Вроде всё, если ещё что-то вспомню, напишу
The text was updated successfully, but these errors were encountered: