Запуск приложения нельзя вызывать более одного раза [дублировать]

request.cookies.get('my_cookie')

должно работать. Если это не сработало, вы можете не иметь доступ к объекту запроса при вызове этой строки.

Попробуйте импортировать колбу вверху

import flask

, затем вызовите

cookie = flask.request.cookies.get('my_cookie')

Если файлы cookie существуют, они будут назначены cookie и если не тогда cookie будет None

10
задан Sergey Grinev 28 March 2013 в 14:21
поделиться

3 ответа

Приложение - это не просто окно - это Process. Таким образом, для каждой виртуальной машины допускается только одна Application#launch().

Если вы хотите иметь новое окно - создайте Stage.

Если вы действительно хотите повторно использовать anotherApp класс, просто оберните его в Platform.runLater()

@Override
public void update(Observable o, Object arg) {
    Platform.runLater(new Runnable() {
       public void run() {             
           new anotherApp().start(new Stage());
       }
    });
}
24
ответ дан Sergey Grinev 18 August 2018 в 19:58
поделиться
  • 1
    ОК. Это сработало! на данный момент, но .., Документация говорит, что «выполняется в неопределенное время в будущем». Что это значит? Что это может занять 10 минут или что-то в этом роде? От чего зависит неопределенное время? Благодарю. – link_boy 28 March 2013 в 21:05
  • 2
    Вы можете ожидать, что это произойдет мгновенно. Если вы не сделаете 100500 таких звонков одновременно, они выполняются в секунду секунды :) – Sergey Grinev 28 March 2013 в 22:40
  • 3
    Отлично, спасибо. – link_boy 29 March 2013 в 00:39
  • 4
    Вы - спасатель @SergeyGrinev с новым anotherApp (). Start (new Stage ()); Я тоже избивал себя по аналогичной проблеме, и ваше предложение помогло. Благодаря! – Fergus 2 May 2017 в 03:30
  • 5
    @Fergus приветствую :) – Sergey Grinev 2 May 2017 в 14:17

Требуется предоставить второй ответ из-за одной оговорки об использовании Application.start (Stage stage).

Метод запуска вызывается после возврата метода init

Если ваше приложение JavaFX имеет Override Application.init (), то этот код никогда не выполняется. Ни один из кодов, который у вас есть в основном методе второго приложения.

Еще один способ запустить второе приложение JavaFX - с помощью API ProcessBuilder для запуска нового процесса.

    final String javaHome = System.getProperty("java.home");
    final String javaBin = javaHome + File.separator + "bin" + File.separator + "java";
    final String classpath = System.getProperty("java.class.path");
    final Class<TestApplication2> klass = TestApplication2.class;
    final String className = klass.getCanonicalName();
    final ProcessBuilder builder = new ProcessBuilder(javaBin, "-cp", classpath, className);

    final Button button = new Button("Launch");
    button.setOnAction(event -> {

        try {
            Process process = builder.start();
        } catch (IOException e) {
            e.printStackTrace();
        }

    });
0
ответ дан DJViking 18 August 2018 в 19:58
поделиться

Я сделал конструктор другого класса JFX в основном классе AnotherClass ac = new AnotherClass();, а затем вызвал метод ac.start(new Stage);. это сработало. U может поместить его либо в main (), либо в другой метод. Вероятно, это то же самое, что и метод запуска (args)

0
ответ дан Программер 18 August 2018 в 19:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: