Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Java > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 12.10.2018, 15:34   #11
KAMLS
Участник клуба
 
Регистрация: 09.04.2017
Сообщений: 534
Репутация: 10
По умолчанию

Я наверное не очень точно задал вопрос. Существует ли возможность настройки реестра такая, что двойным щелчком можно будет запускать jar файлы как консольные так и с GUI?
И если существует, то почему не ставится эта возможность по умолчанию? В чем такая надобность именно так?
KAMLS вне форума   Ответить с цитированием
Старый 12.10.2018, 16:19   #12
Black Fregat
Программист
Профессионал
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,063
Репутация: 754
По умолчанию

Цитата:
Сообщение от KAMLS Посмотреть сообщение
Я запускал. В диспетчере задач нигде нет.
Если создать побочный эффект, то видно. что запускается.
Вот такой класс, например, вполне создаёт файл по двойному щелчку из jar
Код:

import java.io.*;

public class ConsoleTrest{
  public static void main(String[] args) {
    System.out.println("Starting..");
    try {
      PrintWriter writer = new PrintWriter("the-file-name.txt", "UTF-8");
      writer.println("The first line");
      writer.println("The second line");
      writer.close();
    }
    catch (Exception e) {
    }
    System.out.println("Done!");
  }
}

Black Fregat вне форума   Ответить с цитированием
Старый 12.10.2018, 16:24   #13
p51x
Профессионал
 
Регистрация: 15.02.2010
Сообщений: 12,482
Репутация: 2073
По умолчанию

Цитата:
Сообщение от KAMLS Посмотреть сообщение
И если существует, то почему не ставится эта возможность по умолчанию? В чем такая надобность именно так?
Вам же в данной теме уже три раза объяснили: кликами больше запускают гуи приложения, большинству гуи приложений не нужно (да и пользователям тоже), чтобы рядом с каждым экземпляром еще и консоль болтыхалась.
__________________
Запомните раз и навсегда: помочь != "решите за меня"!
p51x вне форума   Ответить с цитированием
Старый 12.10.2018, 16:43   #14
KAMLS
Участник клуба
 
Регистрация: 09.04.2017
Сообщений: 534
Репутация: 10
По умолчанию

То, что кликами запускают GUI-приложения, я знал до создания этой темы. Потом вы сказали как можно кликами запускать консольные JAR-файлы. надо в реестре подправить.
Вообще, при изучении java по видеоурокам, я понял что не принято миксовать программу с выводом и в консоль и в GUI.
Стало быть, если кто так сделает, то это его проблемы.
Моя логика такая, что если миксовать не принято, то рядом с GUI не будет бултыхаться консоль. Если будет, то такая программа ущербна по вине программиста который её и намиксовал.
Отсюда и возник вопрос, если можно подправить реестр так, чтобы консоль выводилась по двойному клику, то почему бы не сделать сразу это и для GUI и для консольных программок, одновременно для двух типов?
Чтобы всё работало как для нормальных exe файлов.
Вот если JAR файл не исполняемый, а как я читал библиотечный либо что еще, ну тут другое дело.
KAMLS вне форума   Ответить с цитированием
Старый 12.10.2018, 17:10   #15
Black Fregat
Программист
Профессионал
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,063
Репутация: 754
По умолчанию

Вы не понимаете. Консоль или создаётся или не создаётся. До запуска jar.
Как предлагается определить заранее, будет ли этому jar нужна консоль?

Вообще, как Вам уже писали, запуск консольных приложений из GUI - это плохо.
Потому что как минимум Вам надо будет остановить приложение, чтобы консоль не закрылась сразу после завершения
Black Fregat вне форума   Ответить с цитированием
Старый 12.10.2018, 18:28   #16
KAMLS
Участник клуба
 
Регистрация: 09.04.2017
Сообщений: 534
Репутация: 10
По умолчанию

Цитата:
Сообщение от Black Fregat Посмотреть сообщение
Вы не понимаете.
Я понимаю, что я не понимаю.
Поэтому и пытаюсь понять.
Беру аналогию из возможностей С++.
Там у меня есть в результате создания проекта в VS файл exe.
GUI в С++ еще не делал, но полагаю - возможно.
Так вот, запуская там файл exe запускающий консольное приложение -у меня на мониторе будет консольное приложение.
Запуская файл exe c GUI у меня будет исполняться приложение с GUI.
Понимаете МОЮ логику? Я её не навязываю, не говорю что она единственно правильная, или даже что она вообще правильная. Я так вижу. По фактам происходящего.
Возник вопрос после того, как я лабу языка java c GUI запустил двумя кликами.
А консольное приложение JAVA так не смог, смог только через командную строку.
Мне сказали, подправишь в реестре - сможешь.
Возник вопрос - если можно подправив реестр запускать консольное приложение jar файла кликами, то почему не сделать такую возможность для сразу двух вариантов:
jar-консольное приложение.
jar-GUI приложение.
Вот и всё моё непонимание.
Далее.
Цитата:
Сообщение от Black Fregat Посмотреть сообщение
Вообще, как Вам уже писали, запуск консольных приложений из GUI - это плохо.
Вы о том, что будет запускаться консольное приложение из GUI операционной системы? (А то я подумал, что речь идёт о запуске консоли из GUI программы лабы)
Но exe С++ лаб по С++ запускали консоль и ничего.
KAMLS вне форума   Ответить с цитированием
Старый 12.10.2018, 18:55   #17
Alex11223
Модератор
Заслуженный модератор
 
Регистрация: 12.01.2011
Сообщений: 17,117
Репутация: 3316

icq: 512-765
skype: alexp.frl
По умолчанию

В Java можно ехе собрать с помощью Launch4j и т.п.
Запуск почти всего остального в винде зависит от ассоциации.
Цитата:
Сообщение от KAMLS Посмотреть сообщение
почему не сделать такую возможность для сразу двух вариантов
Видимо никому это не надо, и так норм.
Alex11223 на форуме   Ответить с цитированием
Старый 12.10.2018, 19:10   #18
KAMLS
Участник клуба
 
Регистрация: 09.04.2017
Сообщений: 534
Репутация: 10
По умолчанию

Ну вот это уже понятно.)
KAMLS вне форума   Ответить с цитированием
Старый 13.10.2018, 00:00   #19
Black Fregat
Программист
Профессионал
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,063
Репутация: 754
По умолчанию

Цитата:
Сообщение от KAMLS Посмотреть сообщение
Так вот, запуская там файл exe запускающий консольное приложение -у меня на мониторе будет консольное приложение.
Запуская файл exe c GUI у меня будет исполняться приложение с GUI.
Дело в том, что в заголовке PE файла прописан тип подсистемы (Console или GUI)
Поэтому загрузчик знает, нужно ли создавать консоль
Black Fregat вне форума   Ответить с цитированием
Старый 13.10.2018, 06:24   #20
KAMLS
Участник клуба
 
Регистрация: 09.04.2017
Сообщений: 534
Репутация: 10
По умолчанию

Цитата:
Сообщение от Black Fregat Посмотреть сообщение
Дело в том, что в заголовке PE файла прописан тип подсистемы (Console или GUI)
Поэтому загрузчик знает, нужно ли создавать консоль
Я посмотрел что такое PE.
Отсюда возник вопрос, почему в Oracle не сделали такую возможность для jar-файлов? Вопрос конечно гипотетический)) Вам то откуда знать?
KAMLS вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запуск JAR файлов CraZZy RabbIt Общие вопросы Delphi 8 04.05.2012 23:29
запуск файлов Михаил Юрьевич Общие вопросы Delphi 7 27.03.2012 01:41
Запуск jar revanatar Общие вопросы по Java, Java SE, Kotlin 4 22.10.2011 20:01
Запуск файлов workres Win Api 3 02.07.2008 21:56
Запуск файлов программы d_slava Помощь студентам 2 17.06.2008 11:22


23:19.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru