JProgressBar
5 отговора
137 прегледа
JProgressBar
Здравейте! Имам следния проблем: прява Java application, което стартира друго приложение - например javac, jar. Искам да покажа един диалогов прозорец с JProgressBar в него. Класа ми наследява JDialog, като диалога може да се затвори с бутона в горния десен ъгъл, а това не трябва да става докато стартираното приложение не завърши. Мисля да опитам с наследяване на JWindow. В Java Tutorial не намерих подходящ пример. Ще бъда благодарен за всеки съвет.
Re: JProgressBar
Na kakvo pishesh applicationa JBuilder ili neshto drugo? Ako e na niakoia ot prednite varsii na JBuilder -a JProgressBar neshto ne e nared.
Re: JProgressBar
Откакто се занимавам с Java, използвам само JDK и един текстов редактор. Опитах с IBM VisualAge обаче без добра литература не може да се стигне далеч(поне аз така мисля). Впрочем проблема го реших с извикване на метода setDefaultCloseOperation(JDialog.DO_NOTHING_ON_CLOSE). С това диалога не може да се затвори от бутона в горния десен ъгъл. Остана проблема, че не мога да определя кога ще завърши стартираното приложение(което е в отделен Thread). Затова реших да покажа вместо JProgressBar една анимация.
Re: JProgressBar
JFrame v sluchaja shte ti bude mnogo po-polezen
toj taka ili inache po default (ako ne mu e slojen WindowListener) ne se zatvajra...
kolkoto do problema s tova da razberesh, koga e bilo sprjano startiranoto ot teb prilojenie:
predpolagam che polzvash metoda Runtime.exec() za da startirash novoto prilojenie... tozi method vrushta obekt ot class Process... Ta tozi class Process si ima edin method waitFor(), kojto sluji tochno za tazi cel.
Razgledaj vnimatelno API-to na java.lang.Process - tam mojesh da vidihs oshte njakoi interesni raboti ...
toj taka ili inache po default (ako ne mu e slojen WindowListener) ne se zatvajra...
kolkoto do problema s tova da razberesh, koga e bilo sprjano startiranoto ot teb prilojenie:
predpolagam che polzvash metoda Runtime.exec() za da startirash novoto prilojenie... tozi method vrushta obekt ot class Process... Ta tozi class Process si ima edin method waitFor(), kojto sluji tochno za tazi cel.
Razgledaj vnimatelno API-to na java.lang.Process - tam mojesh da vidihs oshte njakoi interesni raboti ...
Re: JProgressBar
Стартирането на външното приложение е точно по-този начин. Проблема е как да се определи докъде е стигнало с работата стартираното приложение за да се промени JProgressBar-a. В примерите на Sun е доста елементарно и е далеч от реалноста.
Re: JProgressBar
Po princip wynshnoto prilozhenie trqbwa da ti osiguri nqkakyw mehanizym za da mozhesh da razberesh dokyde e stignalo.
Spomenawash kato wynshni prilozheniq javac i jar - i dwete mozhesh da gi pusnesh s opciq -verbose naprimer, sled koeto da wzemesh izhoda im s Process.getOutputStream() i da go parsvash. Ako predwaritelno si opredelil broq na filowete koito shte se obrabotqt, prosto gledash kolko filowe e obrabotilo nqkoe ot dwete prilozheniq i imash nqkakwa osnowa za progress bar
Spomenawash kato wynshni prilozheniq javac i jar - i dwete mozhesh da gi pusnesh s opciq -verbose naprimer, sled koeto da wzemesh izhoda im s Process.getOutputStream() i da go parsvash. Ako predwaritelno si opredelil broq na filowete koito shte se obrabotqt, prosto gledash kolko filowe e obrabotilo nqkoe ot dwete prilozheniq i imash nqkakwa osnowa za progress bar