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

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

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
добавлено отредактировано
Просмотры: 1

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, источник