Benutzername auslesen

D

darko m.

Hallo

Ich hab ein Problem.
Und zwar kann ich den Benutzernamen nicht mit einem Applet anzeigen lassen.

Code:
import java.awt.Graphics;
import java.applet.Applet;
import java.io.FileInputStream;
import java.util.Properties;

public class username extends Applet
{
 static String benutzer;

 public static void main(String[] args) throws Exception 
 {
  benutzer = new Properties(System.getProperties()).getProperty("user.name");
 }
  public void paint(Graphics g)
  {
   g.drawString(""+benutzer,50,20);
  }
}

Bei der ausgabe erscheint bei mir "NULL" im Applet.
Wenn ich es in der Commandozeile ausgebe gibt er den Benutzernamen an.
(Das ist mein erstes Javaprogramm. Habe keine Ahnung von Java.)
 
Wenn's kein Applet wäre, würd's auch so gehen:

Code:
String s = System.getProperty("user.name");

In Deinem Applet mußt Du die Applet-Methoden benutzen. Ändere Deinen Code entsprechend:

Code:
public class Username extends Applet {
 
public void init() {
  Label l = new Label(System.getProperty("user.name");
  this.add(l);
}
 
}
 
Ok.
Aber da bekomme ich diese Meldung.
------------------
C:\>javac username.java
username.java:26: ')' expected
Label l = new Label(System.getProperty("user.name");
^
1 error
------------------

Dann habe ich noch eine Klammer hinzugefügt.
Code:
public class username extends Applet 
{
 public void init() 
 {
  Label l = new Label(System.getProperty("user.name"));
  this.add(l);
 }
}

------------------
username.java:26: cannot find symbol
symbol : class Label
location: class username
Label l = new Label(System.getProperty("user.name"));
^
2 errors
------------------
 
Ok.
Jetzt habe ich es geschaft zu kompilieren.
Aber er zeigt das Applet nicht an. :confused:
Er bringt die Meldung:
"Ausnahme: java.security.AccessControlException: access denied(java.util.Property user.name read)" :confused:
 
Wie lange programmierst Du schon? Kennst Du die Grundlagen schon? Hast Du das "HalloWelt"-Beispiel schon erfolgreich probiert?

Ich habe das Gefühl, Dir fehlen noch die elementarsten Grundlagen.

Ohne Imports kommst Du meist nicht weit. Du hattest bislang Glück, nur mit dem Package java.lang.* gearbeitet zu haben, dort muß man nichts importieren, denn dieses Package hält SUN für so wichtig, daß es bereits standardmäßig importiert ist.

Füge Deiner Klasse den Import zum Label hinzu. :suchen: API-Doku
 
Aha, hast den Import also schon vorgenommen. :)

Die Exception "java.security.AccessControlException" kommt deshalb, weil Du höchstwarscheinlich aufgrund der Sandbox (:suchen: ) kein Recht hast, bei einem Applet den Usernamen auszulesen.

This exception is thrown by the AccessController to indicate that a requested access (to a critical system resource such as the file system or the network) is denied.
 
Zuletzt bearbeitet:
Zurück