Где я могу реализовать функцию main () в программе Swing? - PullRequest
1 голос
/ 19 июня 2010

Мне было просто любопытно, где я должен разместить основную функцию в программе Java Swing. Кажется, если это слишком коротко, создайте новый класс для.

Ответы [ 4 ]

5 голосов
/ 19 июня 2010

Я бы не рекомендовал помещать метод main в любой из ваших компонентов Swing. Он плохо вписывается в компонент Swing, поскольку не имеет ничего общего с самими компонентами.

Просто создайте метод main в отдельном классе. Это хорошо, что это коротко.

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

2 голосов
/ 19 июня 2010

Я бы не стал помещать это в класс View. Если вы используете MVC, а Swing - это View, то main принадлежит Controller. Это класс, отвечающий за запуск приложения, создание экземпляра View и совместную работу с объектами Model для выполнения сценариев использования.

Контроллер должен реализовывать интерфейсы Listener, поскольку он реагирует на события Swing по мере их возникновения.

Я бы не стал расширять ваш вид JFrame. Сделайте так, чтобы рабочие биты Swing расширяли JPanel. Когда контроллер создает экземпляр View, он должен создать JFrame, добавить необходимые ему JPanels, зарегистрировать себя в качестве прослушивателя для всех событий Swing и сделать JFrame видимым. На этом этапе ваше приложение запущено, работает и готово к работе.

2 голосов
/ 19 июня 2010

Поместите его в свой основной класс JFrame

public class MyFrame extends JFrame {
    public static void main(String args[]) {
        new MyFrame();
    }

    MyFrame() {
            // ...
    }
}
0 голосов
/ 19 июня 2010

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

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