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

Добавил пользователь Валентин П.
Обновлено: 04.10.2024

Если вы завершаете работу приложения Swing , я бы сделал EXIT_ON_CLOSE

перед System.exit(0) . Это лучше, поскольку вы можете написать оконный прослушиватель для выполните некоторые операции очистки перед тем, как покинуть приложение.

Этот оконный приемник позволяет вам выйти из приложения из кода:

Если вы запускаете приложение, System.exit будет работать.

В апплете, однако, вам придется что-то делать в соответствии с applet.getAppletContext().showDocument("landingpage.html"); из-за разрешений браузера. Это не просто позволит вам закрыть окно браузера.

Все хорошо, приложение закрылось правильно:
System.exit(0)

Что-то пошло не так, приложение не закрылось правильно:
System.err.println("some meaningful message"); System.exit(1)

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

Популярные теги

Наверное глупый вопрос :) В общем сделал sh скрипт, кинул его в nautilus-scripts. Жму правой кнопкой в нужной папке -> Scripts -> выбираю этот скрипт. Он запускается в терминале. В терминале отображается output скрипта. Но как только скрипт завершает работу - терминал сразу закрывается. Что нужно сделать, чтобы терминал при завершении скрипта не закрывался, а оставался открытым, показывая output?


Ммм я запускаю gnome-terminal. у него -hold не работает. pause тоже.

1) выкинь нахер наутилус и выполняй скрипт в терминале, как все нормальные люди

2) перенаправляй stdout&stderr в файл из скрипта

> у него -hold не работает. pause тоже

Ходи на костылях: добавь в конце скрипта
sleep 666d

>1) выкинь нахер наутилус и выполняй скрипт в терминале, как все нормальные люди

Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Pause если добавить, то в окошке будет "Press any key to continue . . .", после нажатия эни кея, оно закроется. а мне надо чтоб дальше ручками в нём печатать.

ps1 Это повершелловский файл.

Конфигурация компьютера
Процессор: Intel Pentium 4 2,8 MHz
Материнская плата: ASRock P4i65PE (5 PCI, 1 AGP, 4 DDR DIMM, Audio, LAN)
Память: 4 ГБ (PC3200 DDR SDRAM)
HDD: ST3200827A (200 ГБ) IDE
Видеокарта: NVIDIA GeForce 6200 (512 МБ)
Звук: Creative SB Live! 5.1 Digital (SB0220) Sound Card
Блок питания: Powerman 350 Вт
CD/DVD: NEC DVD_RW ND-3551A
Монитор: Dell 2314PH
Ноутбук/нетбук: Стационарный компьютер
ОС: Windows 7 x32 Professional

Подскажите, пожалуйста: есть cmd-файл, состоящий из одной строки: avz.exe lang=en. Когда я его запускаю, на экране появляются и висят, пока не закрою, окно DOS и окно AVZ.

А если я запускаю avz.exe lang=en в командной строке Total Commander или через контекстное меню "Запуск с параметрами" от DistrTools - окно DOS на экране не показывается.

Почему такая разница?

Конфигурация компьютера
Процессор: Intel Core i7-3770K
Материнская плата: ASUS P8Z77-V LE PLUS
Память: Crucial Ballistix Tactical Tracer DDR3-1600 16 Гб (2 x 8 Гб)
HDD: Samsung SSD 850 PRO 256 Гб, WD Green WD20EZRX 2 Тб
Видеокарта: ASUS ROG-STRIX-GTX1080-O8G-11GBPS
Звук: Realtek ALC889 HD Audio
Блок питания: be quiet! Straight Power 11 650W
CD/DVD: ASUS DRW-24B5ST
Монитор: ASUS VG248QE 24"
ОС: Windows 8.1 Pro x64
Индекс производительности Windows: 8,1
Прочее: корпус: Fractal Design Define R4
Когда я его запускаю, на экране появляются и висят, пока не закрою, окно DOS и окно AVZ.

Это не окно DOS, а командная строка (cmd.exe выполняет файлы с расширением .cmd).

-------
Как сказало Дерево Дровосеку: "я - пень".

Запуск указанной программы или команды в отдельном окне.

START ["заголовок"] [/Dпуть] [/i] [/MIN] [/MAX] [/SEPARATE | /SHARED]
[/LOW | /NORMAL | /HIGH | /REALTIME| /ABOVENORMAL | /BELOWNORMAL]
[/WAIT] [/b]
[команда/программа] [параметры]

"заголовок" Заголовок окна.
путь Рабочий каталог.
B Запуск приложения без создания нового окна с отключением
обработки сочетания клавиш ^C. Если приложение не
обрабатывает сочетание клавиш ^C самостоятельно,
единственным способом его прерывания является
использование сочетания клавиш ^Break.
I Новой средой станет исходная среда, переданная
cmd.exe, а не текущая среда.
MIN Запуск команды/программы в свернутом окне.
MAX Запуск команды/программы в развернутом окне.
SEPARATE Запуск 16-разрядной программы Windows в отдельной
области памяти.
SHARED Запуск 16-разрядной программы Windows в общей
области памяти.
LOW Запуск приложения с приоритетом IDLE.
NORMAL Запуск приложения с приоритетом NORMAL.
HIGH Запуск приложения с приоритетом HIGH.
REALTIME Запуск приложения с приоритетом REALTIME.
WAIT Запуск приложения с ожиданием его завершения.
ABOVENORMAL Запуск приложения с классом приоритета ABOVENORMAL
BELOWNORMAL Запуск приложения с классом приоритета BELOWNORMAL
команда/программа
Если это внутренняя команда cmd.exe или пакетный файл,
обработчик команд (cmd.exe) запускается с ключом /K.
Это означает, что окно не будет закрыто после завершения
команды.

Если это не внутренняя команда cmd.exe и не пакетный файл,
значит, это программа, которая будет запущена в графическом
или текстовом окне.

параметры Параметры, передаваемые команде/программе.


Изменения вызова внешних команд из командной строки или с помощью команды
START при включении расширенной обработки команд:

Для вызова неисполняемых файлов через механизм сопоставления типов файлов
достаточно просто ввести имя файла в командной строке. Например, команда
WORD.DOC запускает приложение, сопоставленное расширению имени файла .DOC.
Сведения о создании подобных сопоставлений из пакетных файлов приведены
в описаниях команд ASSOC и FTYPE.

При запуске 32-разрядного приложения с графическим интерфейсом пользователя
обработчик команд CMD.EXE не ожидает завершения работы приложения перед
возвратом к приглашению командной строки. Подобное новое поведение НЕ
относится к запуску приложений из пакетных файлов.

При выполнении командной строки, первым элементом которой является текстовая
строка "CMD" без расширения имени файла или указания пути, она заменяется
значением переменной COMSPEC. Это предотвращает запуск CMD.EXE из
текущей активной папки, если таковая программа там имеется.

Если первый элемент командной строки не содержит расширения имени файла,
обработчик команд CMD.EXE использует значение переменной среды PATHEXT,
чтобы определить расширения имен исполняемых файлов и порядок поиска
нужного файла. По умолчанию для переменной PATHEXT задается
значение:

Обратите внимание, что этот синтаксис подобен синтаксису для переменной
PATH, то есть отдельные элементы разделяются точкой с запятой.

Если при поиске исполняемого файла нет соответствия ни одному из расширений,
выполняется проверка соответствия указанного имени папки. Если имя папки
соответствует указанному, то команда START запускает EXPLORER для этого
пути. Если такое действие выполняется из командной строки, то оно
эквивалентно выполнению команды CD /D для указанного пути.

javaw.exe

Введение в Javaw.exe

Прежде чем мы перейдем к разделу решений, давайте узнаем больше об этом элементе и разберемся. Проще говоря, Javaw считается исполняемым файлом. Это важная часть конкретной среды выполнения, созданной с помощью Oracle Java. Обычно он известен как JRE (сокращенная форма Java Runtime Environment). Основная цель Javaw.exe - запускать программы Java, включенные в вашу систему. Это также включает файлы JAR. В целом и Javaw.exe, и java.exe являются похожими элементами. Однако в первом нет отдельного окна консоли.

Windows не может найти

Какие решения можно попробовать, если Javaw.exe отсутствует?

Теперь давайте посмотрим на возможные решения, которые вы можете попробовать, если Javaw отсутствует. Некоторые из этих решений могут показаться довольно очевидными, но их стоит попробовать. С другой стороны, вам не обязательно использовать все эти решения сразу. Вместо этого вы можете пробовать одно решение за другим, пока не добьетесь успеха. Фактически, есть три решения, которые стоит попробовать. Надеюсь, эти решения помогут вам выйти из этой ситуации.

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

Исправление 1. Выполните сканирование на наличие вредоносных программ, прежде всего

Во многих случаях отсутствие Javaw.Exe может произойти в результате заражения вредоносным ПО. Возможно, вы уже знаете, что вредоносные программы могут вызывать различные проблемы в вашей системе и мешать бесперебойной работе. Отсутствие Javaw - одна из тех проблем, которые могут возникнуть в результате атаки вредоносного ПО. Итак, в качестве первого шага вы можете предположить, что ваш компьютер заражен вредоносным ПО. Затем вам следует выполнить сканирование на наличие вредоносных программ с помощью надежного сканера вредоносных программ. В этом случае можно использовать два основных варианта. Вы можете использовать сторонний инструмент или встроенный инструмент, предоставленный самой Microsoft.

Исправление 2: Добавьте путь Javaw к системной переменной окружения.

Если вы не получили удовлетворительных результатов с предыдущим решением, давайте попробуем это. С помощью этого конкретного метода вы вручную измените путь к переменной. Эта ошибка появляется, когда система не может найти файл Javaw должным образом. Итак, решение здесь состоит в том, чтобы добавить путь к соответствующему исполняемому файлу в путь переменной среды. И на этот раз вы должны сделать это вручную. Правда в том, что многие начинающие пользователи не знают об этом процессе.

Итак, если вы не знаете, как выполнить это решение, давайте узнаем, как это сделать.

sysdm.cpl

Переменные среды

C: \ Program файлы (x86) \ java \ jre7 \ bin

C: \ Program файлы (x86) \ java \ jre8 \ bin

Добавьте путь к Javaw.exe в системную переменную окружения

Исправление 3. Переустановите Java, если Javaw.exe отсутствует.

Удаление Java

  • Теперь вы должны следовать отображаемым инструкциям, чтобы завершить процесс.
  • Перезагрузите компьютер. После этого загрузите соответствующий установленный (Java). Затем запустите его и установите.
  • Затем запустите его и посмотрите, исчезла ли ошибка.

Итак, это исправления, чтобы попробовать, если Javaw.exe отсутствует. Надеюсь, один из вышеперечисленных методов исправит эту ошибку и наведет порядок.

Родительский контроль, отслеживание и удаленное наблюдение

Читайте также: