Использование SWT для мульти-просмотра приложений; похож на жизненный цикл активности Android - PullRequest
0 голосов
/ 29 декабря 2011

Итак, моя ситуация проста (ИМХО):

Я пытаюсь создать веб-приложение Java (это своего рода приложение Point-Of-Sale), которое ведет себя почти как веб-сайт, но всена Яве.Прямо сейчас у меня есть полупростое приложение SWT, написанное на Eclipse, и оно отображает несколько вариантов (вход, проверка цены, проверка инвентаря и время сотрудника).При нажатии любой из них (или при активации соответствующих сочетаний клавиш) появляется диалоговое окно с запросом аутентификации.Предполагая, что пользователь подтвержден, я хочу, чтобы в главном окне приложения отображался новый набор функций (элемент сканирования, поиск элементов и т. Д.).

Если бы это был HTML, я бы просто создал новую страницу, и еслиЯ писал против платформы Android, я бы просто создал новое действие ... но это очень новое, и мне очень трудно найти какую-либо соответствующую информацию.

PS Я не настроен на SWT, есликто-нибудь думает, что другая библиотека / технология (например, Swing / AWT) лучше.

Ответы [ 2 ]

3 голосов
/ 04 января 2012

В SWT, если вы хотите заменить содержимое Composite, вам сначала необходимо удалить существующие элементы управления, затем создать новые элементы управления и, наконец, вызвать метод layout(...) для Composite:

// Retrieve existing composite
Composite composite = [retrieve existing composite]

// Remove exising children
for (Control child : composite.getChildren()) {
     child.dispose();
}

// Create new children
Label label = new Label(composite, SWT.NONE);

// Layout
// Maybe update the composite layout with composite.setLayout()
composite.layout(true, true);

Другим решением является использование Composite с StackLayout , если вы хотите отображать назад и вперед несколько предопределенных контентов.

1 голос
/ 29 декабря 2011

Независимо от того, используете ли вы Swing, AWT или SWT, это ваш выбор.Лично я предпочитаю Swing, но вы можете сделать то же самое с SWT.

Что касается вашего затруднения, вам нужно сначала немного изучить GUI.Настольное Java-приложение состоит из контейнера верхнего уровня, обычно JFrame (Window), который может содержать другие компоненты, окна, диалоговые окна и т. Д. Лучше всего, если вы откроете диалоговое окно MODAL, которое запрашивает у пользователя информацию для аутентификации.Если пользователь прошел аутентификацию, вы можете динамически создавать кнопки, текстовые поля и т. Д. В своем коде, создавая «новый» внешний вид, который вы хотите.

Могу ли я предложить вам сначала начать с простых упражнений по созданию графического интерфейса, прежде чемпогрузиться в полноценное приложение?Рассматривайте руководства по графическому интерфейсу Java на http://docs.oracle.com/javase/tutorial/uiswing/ как хорошую отправную точку.

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

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