# Probleme bei übergabe von Variabeln im Applet



## Andreas.K (8. Nov 2007)

Hallo Leute,
da ich noch ein ziemlicher Java Neuling bin, habe ich etwas Probleme eine einfache Variabel sei es String oder Int im Programm zu übergeben.

Wie im Beispiel unten funktioniert bei mir die übergabe der Variabel i nicht.

Beispiel:


```
import java.awt.*;
import java.awt.event.*;
import java.applet.Applet;
public class test2 extends Applet {

  private Panel panel1 = new Panel(null);
    private Label label1 = new Label();


  public void init(int i) {  // Hier will ich die Variabel "i" von unten holen.
    Panel cp = new Panel(null);
    cp.setBounds(0, 0, 300, 300);
    add(cp);


    panel1.setBounds(8, 8, 273, 249);
    cp.add(panel1);
    label1.setBounds(24, 32, 37, 16);
    label1.setText(i);//     Hier soll dan das 'i' von unten dargestellt werden
    label1.setFont(new Font("MS Sans Serif", Font.PLAIN, 13));
    panel1.add(label1);


  }
    public static void main(String[] args)
  {
    int i = 5;
  }
}
```

Wäre super wenn mir da jemand helfen könnt.

MfG. Andreas K.



_L-ectron-X hat diesen Beitrag am 08.11.2007 um 15:48 editiert._
_Code-Tags eingefügt._


----------



## L-ectron-X (8. Nov 2007)

Applets kennen keine main()-Methode.
Sie haben eine parameterlose init()-Methode zum Starten.

Werte für Variablen kannst du über Parameter im Quelltext der Webseite ins Applet schleusen.
Und um einen primitiven Datentyp als Text in einem Label darzustellen musst du ihn vorher in einen String umwandeln.


----------



## Andreas.K (8. Nov 2007)

Erst mal Danke für die schnelle Antwort.
Allerding will ich das Applet nicht für eine Website erstellen, sondern will damit ein Programm erstellen.
Die Fuktion des Programmes steht nicht im Vordergrund.
Im Moment geht es mir nur darum wie ich Variabeln übergeben kann.
Wäre super wenn du ein Beispiel hättest


----------



## L-ectron-X (8. Nov 2007)

```
public void methodeA() {
   int a = 10;
   int b = 20;
   int c = addiere(a, b);
   System.out.println(c);
}


public int addiere(int x, int y);
   return x + y;
}
```


----------



## Andreas.K (8. Nov 2007)

Danke für Antwort.
Jetzt tut es auch.

Zu einer anderen Problematik, 
ist es möglich eine Applet zu erstellen, welches eine Ini Datei ausliest, und dan die Daten in eine Dropdown Liste rein schreibt??


----------



## Andreas.K (8. Nov 2007)

Habe das ganze jetzt an meine Problematik getestet, und da funktioniert es leider nicht.
Ich habe eine "public void inieinlesen" erstellt, in der ich den Inhalt der Ini Datei in Variabeln schreibe.
Nun möchte ich die einzelnen Variabeln von "public void inieinlesen" nach "public void init" übergeben kann.
Ich brauche die Variabeln mit dem Inhalt der Ini Datei deswegen in "public void init" weil ich dort den Inhalt der Schaltflächen meines Applets ausgeben kann.

Wäre super wenn du mir noch mal helfen könntest.

Gruß,
   Andreas


----------



## L-ectron-X (8. Nov 2007)

Andreas.K hat gesagt.:
			
		

> ist es möglich eine Applet zu erstellen, welches eine Ini Datei ausliest, und dan die Daten in eine Dropdown Liste rein schreibt??


Ja, allerdings haben Applets eingeschränkte Rechte auf einem Client. Um eine ini-Datei zu lesen, muss das Applet signiert werden. Dazu kannst du in der FAQ nachlesen.
Außerdem muss das Applet dann den Ort kennen, wo die ini-Datei gespeichert ist. Und das ist eine Variante, die für diesen Anwendungsfall nicht gewählt werden sollte.
Ganz ohne Signieren und ini-Datei geht das, in dem du in der Webseite im Applet-Tag das param-Attribut benutzt und darüber die gewünschten Werte ins Applet einschleust.

Beispiel HTML-Seite:

```
<applet code="MeinApplet.class" width="400" height="300">
   <param name="help" value="Hilfe">
   <param name="ok" value="Ausführen">
   <param name="amount" value="12.45">
</applet>
```


Beispiel in der init()-Methode deines Applets:

```
public void init() {
   //allgemeine Dinge initialisieren
   double d = 0;
   okButton = new JButton();
   helpButton = new JButton();

   //Applet-Parameter einlesen
   okButton.setText(getParameter("ok"));
   helpButton.setText(getParameter("help"));
   d = Double.parseDouble(getParameter("amount"));

   //weitere Initialisierung, Listener registrieren etc.
}
```

Wenn du um die ini-Datei nicht herumkommst, sollte sie am besten im Verzeichnis in der "Nähe" vom HTML-Dokument oder der Applet-Klasse gespeichert werden, dann lässt sie sich problemloser finden und einbinden. (getCodeBase() und getDokumentBase())


----------



## Andreas.K (9. Nov 2007)

Ich denke ich werde nicht um die ini-Datei herum kommen, da ich aus der ini-Datei Pfade auslesen will, wo der Benutzer die Datein hinkopieren kann.
Diese Pfade werden sich immerwieder ändern, oder neue kommen hinzu.
Deswegen denke ich das es sinn macht eine Ini-Datei zu verwenden.

Unter dem FAQ habe ich nur ein Thema zur Signierung gefunden, bin ich da richtig wenn es um die Initalisierung geht?


Gruß,
   Andreas


----------



## Andreas.K (9. Nov 2007)

So,
ich habe mir noch einmal gedanken gemacht und muss gestehen, dass ich etwas verwächselt habe.
Ich will kein Applet erstellen, sondern ein Java-Programm mit einer Grafischen Oberfläche.
Da habe ich als Neuling wohl etwas durcheinander gebracht.

Was nehme ich am besten um eine Grafische Oberfläche zu erstellen?
Nehme ichdafür ein Frame??


Gruß,
   Andreas


----------



## L-ectron-X (9. Nov 2007)

Am besten ist es, wenn du dich gleich mit Swing vertraut machst.
In Swing heißen die Programmfenster-Objekte *JFrame*. In den JFrames liegen dann meist z.T. ineinander geschachtelte JPanels als Träger von GUI-Komponenten, die über LayoutManager ihre Komponenten anordnen.
Ein Einsteigerbuch hilft dir beim Schreiben deines ersten Fensters.


----------

