# Zum x-ten Mal: Problem mit NetSend-Applet



## Marison (19. Sep 2004)

Hi,

ich versuche ein Applet zu proggen, um bei uns in der Schule mal ein bissel im Computer-Raum rumzuspammen ^_^

Wäre echt nett, wenn ihr mir mal ein bissel Hilfe geben könntet. Irgendwie will es einfach net funzen. Die Google und die anderen Threads zu dem Thema haben mir leider auch net viel weitergeholfen.

Thx im Vorraus!


```
import java.awt.*;
import java.awt.event.*;
import java.io.IOException;

public class netsender extends java.applet.Applet implements ActionListener
{
  private int anzahl;
  private String ip = "";
  private String text = "";
  private Label lbloben = new Label("Marisons Netsender");
  private Button btnsend = new Button("Senden!");
  private TextField tftext = new TextField("Text eingeben", 30);
  private TextField tfip = new TextField("IP eingeben", 15);
  private TextField tfanzahl = new TextField("1");
  
  public void init()
  {
    //add(lbloben);
    lbloben.setBackground(Color.blue);
    add(tftext);
    add(tfip);
    add(tfanzahl);
    add(btnsend);
    btnsend.addActionListener(this);
  }
  
  public void actionPerformed(ActionEvent ae)
  {
    ipholen();
    textholen();
    anzahlholen();
    senden();
  }
  
  public void ipholen()
  {
    ip = tfip.getText();
  }
  
  public void textholen()
  {
    text = tftext.getText();
  }
  
  public void anzahlholen()
  {
    anzahl = Integer.parseInt(tfanzahl.getText());
  }
  
  public void senden()
  {
    for (int i=0; i<anzahl; i++)
    {
      try
      {
        Runtime.getRuntime().exec("cmd.exe /c START net send " + ip + " " + text);
      }
      catch (IOException e)
      {
        e.printStackTrace();
      }
    }
  }
}
```



Und hier haben wir die Fehlermeldung ...


```
java.security.AccessControlException: access denied (java.io.FilePermission <<ALL FILES>> execute)
 at java.security.AccessControlContext.checkPermission(AccessControlContext.java:269)
 at java.security.AccessController.checkPermission(AccessController.java:401)
 at java.lang.SecurityManager.checkPermission(SecurityManager.java:524)
 at java.lang.SecurityManager.checkExec(SecurityManager.java:774)
 at java.lang.Runtime.exec(Runtime.java:563)
 at java.lang.Runtime.exec(Runtime.java:428)
 at java.lang.Runtime.exec(Runtime.java:364)
 at java.lang.Runtime.exec(Runtime.java:326)
 at netsender.senden(netsender.java:56)
 at netsender.actionPerformed(netsender.java:32)
 at java.awt.Button.processActionEvent(Button.java:382)
 at java.awt.Button.processEvent(Button.java:350)
 at java.awt.Component.dispatchEventImpl(Component.java:3615)
 at java.awt.Component.dispatchEvent(Component.java:3477)
 at java.awt.EventQueue.dispatchEvent(EventQueue.java:456)
 at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201)
 at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
 at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
 at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
 at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)
```


----------



## Illuvatar (19. Sep 2004)

Ich weiß nicht weshalb sie sich nicht rauskopieren lassen sollte, außerdem sind 20 Zeilen schon Standard, und ohne Fehlermeldung kann ich dir nicht helfen.

Ich weiß nicht ob das mit deiner Fehlermeldung zusammenhängt, aber ein Applet hat nicht die Rechte Runtime#exec auszuführen, da wird eine SecurityException geworfen.
--> Entweder Signieren (Forumsuche) oder als Application machen.

Edit: Ich hab sowas mal als Swing-Application gemacht, zum auf-LAN-Partys-spammen :wink: .
Wenn du willst geb ich dir den Quelltext.


----------



## Grizzly (19. Sep 2004)

Tststs, ihr macht Sachen. Ihr sollt doch was lernen, nicht andere daran hindern  .


----------



## Illuvatar (19. Sep 2004)

Ich sagte, auf Lans. In der Schule nutze ich die gute, alte Eingabeaufforderung (na ja, da gibbet halt kein Java :wink: ).
*mal nachschauen muss ob da IL-Code ausgeführt wird*


----------



## Marison (19. Sep 2004)

wie mache ich das ganze denn zu einer applikation?

ich suche auch mal nach dem signieren...

danke für eure hilfe...

edit:

fehlermeldung hab ich jetzt rauskopiert... (siehe erstes post)

das prob war, dass ich STRG+C statt dem Kontextmenü benutzt habe


----------



## Illuvatar (19. Sep 2004)

Marison hat gesagt.:
			
		

> das prob war, dass ich STRG+C statt dem Kontextmenü benutzt habe



hehe, hatte ich auch mal  

An deiner Stelle würde ich es als Applikation machen, dafür musst du folgende Klasse hinzufügen (wenn du nicht die ganze Klasse ändern willst:

```
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class NetSend extends JFrame
{
  public NetSend ()
  {
    super ("NetSender");
    final netsender ns = new netsender();
    getContentPane().add (ns);
    ns.init();
    pack();
    ns.start();
    setVisible(true);
    addWindowListener (new WindowClosingAdapter(){
      public void windowClosing (WindowEvent evt)
      {
        ns.stop();
        ns.destroy();
        System.exit (0);
      }
    });
  }
  public static void main (String[] args) {
    new NetSend();
  }
}
```


----------

