Jak otworzyc Swing Application z Swing Application.

0

Czesc,

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. [!!!] [!!!] [!!!]

Z gory wielkie dzieki.

0

Co rozumiesz pod pojęciem Swing Application? Nowy JFrame, JDialog wyskakujący czy jeszcze coś innego? A poza tym "komendę", nie "komentę".

0

Main Frame Application

0

A co rozumiesz pod pojęciem Main Frame Aplication ?

0

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):

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ć

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.

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

0

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).

Np tak :

String plikJar = "mojDrugiPlikJar.jar";
String komenda = "java -jar "+ plikJar;
 
       Runtime rt = Runtime.getRuntime();
        Process proc;
        try {
            proc = rt.exec("cmd /C " + komenda);         
        } catch (Exception err) {
            System.out.println(err);
        }

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:

            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

1 użytkowników online, w tym zalogowanych: 0, gości: 1