Na forum 4programmers.net korzystamy z plików cookies. Część z nich jest niezbędna do funkcjonowania
naszego forum, natomiast wykorzystanie pozostałych zależy od Twojej dobrowolnej zgody, którą możesz
wyrazić poniżej. Klikając „Zaakceptuj Wszystkie” zgadzasz się na wykorzystywanie przez nas plików cookies
analitycznych oraz reklamowych, jeżeli nie chcesz udzielić nam swojej zgody kliknij „Tylko niezbędne”.
Możesz także wyrazić swoją zgodę odrębnie dla plików cookies analitycznych lub reklamowych. W tym celu
ustaw odpowiednio pola wyboru i kliknij „Zaakceptuj Zaznaczone”. Więcej informacji o technologii cookie
znajduje się w naszej polityce prywatności.
Mam wielki prolbem, czy wie ktos moze jak mozna otworzyc z Swing Application nastepny Swing Application. Jeden z nich jest menu i po kliknieciu na button powinnien otworzyc sie inny Swing Application. Nie chodzi mi o ActionListener tylko o komente otwarcia innej aplikacji w nowym oknie. Jezeli ktos wie to bardzo prosze o jaknajszybsza odpowiedz. [!!!] [!!!] [!!!]
Podejrzewam, że wiem o co Ci chodzi.
Jeżeli masz plik jar, to możesz wywołać z systemu polecenie java z opcją -jar i nazwą pliku archiwum.
Jeżeli masz obcy program w postaci zbioru plików .class, to musiałbyś się dowiedzieć która klasa posiada statyczną metodę main i upewnić się, że jej lokalizacja i lokalizacja wszystkich klas z niej wywoływanych jest na liście classpath. Jeżeli wśród plików tego programu jest manifest.mf, to jest w nim zapisana informacja o klasie, która uruchamia program.
Tu jest przykład zawartości pliku manifest.mf (zawartego zwykle w pliku jar w podkatalogu meta-inf):
Kopiuj
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.7.0
Created-By: 10.0-b19 (Sun Microsystems Inc.)
Main-Class: SwingSet2
Class-Path:
X-COMMENT: Main-Class will be added automatically by build
Odnajdując ten plik i odczytując nazwę Main-Class (tutaj jest to SwingSet2) możesz zwyczajnie wywołać
Kopiuj
String[] argv = { /*...*/ }; //lub w dowolnie inny sposób nadać wartość argumentom wywołania
//...
SwingSet2.main(argv); //metoda statyczna
A czy wywoływana aplikacja uruchomi się w nowym oknie, czy też wypisze coś na konsoli, to zależy wyłącznie od tego jak jest napisana.
Usunąć wpis?
Tej operacji nie będzie można cofnąć.
gość222
gość222
0
Pomocy!!!! Nie moge otworzyć pliku jar bo wyskakuje mi manifest a w nim Manifest-Version: 1.0
MicroEdition-Configuration: CLDC-1.0
MIDlet-Name: zemsta11
MIDlet-Vendor: mjSoftware
MIDlet-1: zemsta11, /logo.png, TBookMIDlet
MIDlet-Version: 4.0.1
MIDlet-Icon: /logo.png
MicroEdition-Profile: MIDP-1.0
i nie mam pojecia co dalej
Moment bo nie do końca rozumiem...chcesz uruchomić nowy JFrame z aktualnej aplikacji czy odpalić całkiem innego jara? Jeżeli to pierwsze to manual poczytaj a jeżeli to drugie no normalnie wywołaj proces (oczywiście musisz wiedziec gdzie ten jar jest lub założyć że jest do niego PATH albo jest gdzieś już w np system32).
Po cmd /c znaczy tylko tyle, że po wykonaniu konsola się zamknie-właściwie w ogóle jej nie zobaczymy. Jeżeli masz console application to daj bez /c.
A teraz ja mam pytanie-powyższe świetnie działa na stand alone app, ale w aplecie już nie co w sumie jest logiczne ze względu bezpieczeństwa. Jednak czy jest możliwe nadanie takich uprawnień dla java/applet np. w java policy (oczywiśćie będać administratorem) by (wybrany) applet miał możliwosć wywołania procesu?
A drugie to pytanie odnośnie Linuxa. Używałem wywołania procesu do zmieniania daty na komputerze klienckim (właściwie synchronizacji z data w bazie danych). To było zwykłe polecenie windows i system o nic nie pytaj tylko zmiana następowała bez słowa:
Kopiuj
proc = rt.exec("cmd /C date " + datestr);
proc = rt.exec("cmd /C time " + timestr);
Czy jest odpowiednik i jaki w linuxie? Pewnie będzie chciał hasło administratora ale i tak jestem ciekaw.
pozdrawiam
Usunąć wpis?
Tej operacji nie będzie można cofnąć.
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.