Toon posts:

[java application] URL openen

Pagina: 1
Acties:
  • 220 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Ik kan vanuit een applet heel leuk een url openen...
Maar vanuit een app dus niet??

Ook niet met de contructie: Runtime.getRuntime().exec("iexplore url"); ofzo...
(ook dus niet met 'cmd iexplore url')

Weet iemand hoe dit dan wel moet?
Bij de bovenstaande syntax geeft hij in de runtime een vage fout aan..

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

stond in een artikel op www.javaworld.com
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
import java.io.*;

public class BrowserControl
{
    /**
     * Display a file in the system browser.  If you want to display a
     * file, you must include the absolute path name.
     *
     * @param url the file's url (the url must start with either "http://"
or
     * "file://").
     */
    public static void displayURL(String url)
    {
      boolean windows = isWindowsPlatform();
      String cmd = null;
      try
      {
        if (windows)
        {
            // cmd = 'rundll32 url.dll,FileProtocolHandler http://...'
            cmd = WIN_PATH + " " + WIN_FLAG + " " + url;
            Process p = Runtime.getRuntime().exec(cmd);
        }
        else
        {
            // Under Unix, Netscape has to be running for the "-remote"
            // command to work.  So, we try sending the command and
            // check for an exit value.  If the exit command is 0,
            // it worked, otherwise we need to start the browser.
            // cmd = 'netscape -remote openURL(http://www.javaworld.com)'
            cmd = UNIX_PATH + " " + UNIX_FLAG + "(" + url + ")";
            Process p = Runtime.getRuntime().exec(cmd);
            try
            {
              // wait for exit code -- if it's 0, command worked,
              // otherwise we need to start the browser up.
              int exitCode = p.waitFor();
              if (exitCode != 0)
              {
                // Command failed, start up the browser
                // cmd = 'netscape http://www.javaworld.com'
                cmd = UNIX_PATH + " "  + url;
                p = Runtime.getRuntime().exec(cmd);
              }
            }
            catch(InterruptedException x)
            {
              System.err.println("Error bringing up browser, cmd='" +
                           cmd + "'");
              System.err.println("Caught: " + x);
            }
        }
      }
      catch(IOException x)
      {
        // couldn't exec browser
        System.err.println("Could not invoke browser, command=" + cmd);
        System.err.println("Caught: " + x);
      }
    }
    /**
     * Try to determine whether this application is running under Windows
     * or some other platform by examing the "os.name" property.
     *
     * @return true if this application is running under a Windows OS
     */
    public static boolean isWindowsPlatform()
    {
      String os = System.getProperty("os.name");
      if ( os != null && os.startsWith(WIN_ID))
        return true;
      else
        return false;

    }
    /**
     * Simple example.
     */
    public static void main(String[] args)
    {
      displayURL("http://www.javaworld.com");
    }
    // Used to identify the windows platform.
    private static final String WIN_ID = "Windows";
    // The default system browser under windows.
    private static final String WIN_PATH = "rundll32";
    // The flag to display a url.
    private static final String WIN_FLAG = "url.dll,FileProtocolHandler";
    // The default browser under unix.
    private static final String UNIX_PATH = "netscape";
    // The flag to display a url.
    private static final String UNIX_FLAG = "-remote openURL";
}

Verwijderd

Topicstarter
k, THNX!!!! ;-)

Verwijderd

Ik heb net geprobeerd deze code te compileren op http://javaboutique.internet.com/compiler.html maar ik zou mijn god niet weten welke opties ik moet aanvinken en welke juist niet?

Kan iemand helpen?

deze fout krijg ik
Parsing Input...
Compiling... (this may take half a minute)
Standard Output from javac:
/tmp/26946/test.java:2: Public class BrowserControl must be defined in a file called "BrowserControl.java".
public class BrowserControl
^
1 error

Output File(s)
No Output File created
--------------------------------------------------------------------------------
Sat Nov 17 07:21:49 2001

  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 04-05 22:29

Gerco

Professional Newbie

Als er nou dit staat:
Public class BrowserControl must be defined in a file called "BrowserControl.java".
Dan ZOU je het volgende kunnen concluderen:

Je file heeft niet de goede naam. Java is case-sensitive, OOK onder windows en OOK met filenames.

Aangezien jouw file "test.java" heet, werkt het niet, noem je file dus "BrowserControl.java" en je probleem is over.

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


Verwijderd

Op zaterdag 17 november 2001 16:26 schreef Gerco het volgende:
Als er nou dit staat:
[..]

Dan ZOU je het volgende kunnen concluderen:

Je file heeft niet de goede naam. Java is case-sensitive, OOK onder windows en OOK met filenames.

Aangezien jouw file "test.java" heet, werkt het niet, noem je file dus "BrowserControl.java" en je probleem is over.
:D |:( tnx...

Ik heb het gedaan en idd het werkt!... maar nu heb ik een .class file en zou mijn goed wederom niet weten wat ik daar nou mee moet doen, ik wil gewoon een executable hebben die een www pagina opstart :D

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Voor Java heb je een Java 2 Runtime Environment. Het beste kan je er een executable jar van maken. Als je ermee akkoord gaat om een een Java 2 Runtime Environment te installeren op de plekken waar je je proggie moet gebruiken kan ik wel even wat voor je maken :) .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


Verwijderd

Op zaterdag 17 november 2001 16:35 schreef mbravenboer het volgende:
Voor Java heb je een Java 2 Runtime Environment. Het beste kan je er een executable jar van maken. Als je ermee akkoord gaat om een een Java 2 Runtime Environment te installeren op de plekken waar je je proggie moet gebruiken kan ik wel even wat voor je maken :) .
Op zich zelf wel een idee, alleen is het probleem dat het eingelijk echt een 'stand alone executable' moet zijn :)

Maar toch super bedankt voor je antwoord :)

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Xtentic: Op zich zelf wel een idee, alleen is het probleem dat het eingelijk echt een 'stand alone executable' moet zijn :)
Het lijkt allemaal zo makkelijk ;) .
Maar toch super bedankt voor je antwoord :)
Ok :) .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


Verwijderd

Op zaterdag 17 november 2001 16:45 schreef mbravenboer het volgende:

[..]

Het lijkt allemaal zo makkelijk ;) .
[..]

Ok :) .
Inderdaad het lijkt zo gemakkelijk maar uiteindelijk snap ik er de balle van, ik wou dat alles nog in QuickBASIC gemaakt kon worden dan was ik zekers da man! B-)

  • Reefer
  • Registratie: Mei 2000
  • Laatst online: 21-02-2025

Reefer

madness

Als je een C compiler hebt kun je je eigen executables maken (er moet dan wel Java runtime zijn geinstalleerd) met :
Assuming the jar file Foo.jar with main class Bar, here are the steps to making Foo.exe:
1. Compile the following program runner.c to runner.exe:
code:
1
2
3
4
5
#include <process.h>
int main(void) {
 execlp("java.exe", "java.exe", "-cp", "foo.exe", "Bar",NULL);
 return 0;
}

2. Concatenate the runner.exe and foo.jar files:
copy /b runner.exe+foo.jar foo.exe
You are done!

A Breakbeat A Day Keeps Religion Away.


Verwijderd

:'( en dat heb ik ook niet, zit nu bij een kammeraad en die heeft win98 met internet explorer geinstalleerd...

/me moet wel zeggen dat deze pI 200 net zo snel loopt als mijn eigen PIII 800 :D met veel troep installed :P

  • The - DDD
  • Registratie: Januari 2000
  • Laatst online: 22:29
Voor windows machines werkt:
code:
1
Runtime.getRuntime().exec("start http://gathering.tweakers.net");

perfect

Verwijderd

Op zaterdag 17 november 2001 17:42 schreef The - DDD het volgende:
Voor windows machines werkt:
code:
1
Runtime.getRuntime().exec("start http://gathering.tweakers.net");

perfect
:+ helemaal waar, zelfde als start --> uitvoeren --> start http://bladediebla maar dat wil ik nu juist niet :)

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Je bent eigenlijk best wel lastig he? ;) .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


Verwijderd

Op zaterdag 17 november 2001 18:54 schreef mbravenboer het volgende:
Je bent eigenlijk best wel lastig he? ;) .
:X
Pagina: 1