Как организовать код, чтобы построить апплет и применение легко?

У меня есть быть осуществляющим клиента на Яве как применение с Колебанием. Но теперь я хочу построить также Апплет из него. Что является лучшим способом перепроектировать/повторно учесть, чтобы быть в состоянии построить, они оба легко и хранение его СОХНУТ.

This is a short extraction of code which has main()

public class Client {
    public static final ScheduledExecutorService SERVICE;
    protected static String host;
    protected static int port;

    static {
         SERVICE = Executors.newSingleThreadScheduledExecutor();
         host =
         port = 
    }

    public static void main(String[] args) {
         //initalize netty

         //create user interface = JFrame in SwingUtilities.invokeLater

         connect();
    }

    public static void connect() {
         //connect using netty
    }

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

Есть ли универсальное решение, как перепроектировать его?

UPD:

public class Client {
    public static void main (String[] args) {
        App app = new App();
        app.connect();
    }
}

public class Applet extends JApplet {
    public void init() {
        App app = new App();
        app.connect();
    }
}

and to move all initialization logic to App

1
nl ja de

1 ответы

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

Это означает, можно снова использовать/повторно развернуть применение, поскольку вам нужно, не приковывая ваш цепью сам к высокоуровневому контейнеру.

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

This is one of the reasons why we suggest you never override from a top level container directly, but extend your application logic/UI from simple container, like JPanel

3
добавлено
вы имеете в виду что-то как мое обновление?
добавлено автор Nikolay Kuznetsov, источник
Да, они находятся в JFrame. Почему не возможный использовать его в Апплете?
добавлено автор Nikolay Kuznetsov, источник
Зависит, where' s компоненты UI? Вы can' t полагаются на Апплеты, позволяемые показать структуры
добавлено автор MadProgrammer, источник
Так, удалите все компоненты UI так, чтобы не зависели от любого высокоуровневого контейнера (как JFrame или JApplet ) - использование вместо этого, что-то как JPanel . Когда программа бежит, завися, как она бежит, вы добавили бы эту группу к высокоуровневому контейнеру как требуется
добавлено автор MadProgrammer, источник
Жаль я ранее пропустил это; больше здесь.
добавлено автор trashgod, источник
pro.jvm
pro.jvm
3 503 участник(ов)

Сообщество разработчиков Java Scala Kotlin Groovy Clojure Чат для нач-их: @javastart Наш сайт: projvm.com projvm.ru Наш канал: @proJVM Вакансии: @jvmjobs Конфы: @jvmconf

Java & Co
Java & Co
2 370 участник(ов)

Можно обсуждать с матом и без всё, что касается жабы, вплоть до холиваров. НЕ ИМЕЕТ ОТНОШЕНИЯ К САЙТУ JAVARUSH.RU ПРАВИЛА - https://t.me/javarush/75723 Вакансии сюда - https://telegram.me/joinchat/B7IzvUCnfo6d8t3yIxKguQ По вопросам - @thedude

learn.java
learn.java
1 888 участник(ов)

Чат для начинающих и не только Статистика: https://combot.org/chat/-1001083535868 Основной чат - @jvmchat

Java Underground
Java Underground
169 участник(ов)

https://vk.com/javatutorial

Javanese Questions
Javanese Questions
109 участник(ов)

Чат предназначен для обмена знаниями строго в формате в вопрос-ответ. Тема — Java, Kotlin и Android. Вопрос должен быть предварительно прогуглен, понятно и грамотно сформулирован, помечен хэштегами. Ответ — тем более. Куски кода размером в несколько строк можно писать прямо здесь, для больших кусков кода стоит использовать http://gist.github.com/, http://pastebin.com/, https://codeshare.io/ или любой аналогичный сервис. В некоторых случаях можно прикреплять скриншоты. Стикеры и гифки запрещены. Дополнять и уточнять вопросы и ответы — редактированием исходного сообщения. Обсуждения должны приводить к редактированию вопроса/ответа и удаляться. По хештегам можно искать существующие вопросы и овтеты: #вопрос #ответ #git #generics #java #server #awt #javafx #swing #kotlin #anko #tornadofx #ktor #android #recyclerView #performance #arch #network #permissions #storage #async