# Fragen zu einem Beispiel(Swings und AWT)



## swerflash (15. Nov 2005)

```
package swings_project;

import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JApplet;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextField;

public class klick_mich_2_mit_info extends JApplet
{
	private JButton b1 = new JButton("Button 1"), b2 = new JButton("Button 2");

	private JTextField txt = new JTextField(10);

	class ButtonListener implements ActionListener
	{
		public void actionPerformed(ActionEvent e)
		{
			String name = ((JButton) e.getSource()).getText();
			txt.setText(name);
		}
	}

	private ButtonListener bl = new ButtonListener();

	public void init()
	{
		b1.addActionListener(bl);
		b2.addActionListener(bl);
		Container cp = getContentPane();
		cp.setLayout(new FlowLayout());
		cp.add(b1);
		cp.add(b2);
		cp.add(txt);
	}

	public static void main(String[] args)
	{
		run(new klick_mich_2_mit_info(), 200, 100);
	}

	public static void run(JApplet applet, int width, int height)
	{
		JFrame frame = new JFrame();
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.getContentPane().add(applet);
		frame.setSize(width, height);
		applet.init();
		applet.start();
		frame.setVisible(true);
	}
}
```

ich schaue mir gerade ein Bsp an zu Swings, und manches verstehe ich hier nicht.

1.
	
	
	
	





```
private JTextField txt = new JTextField(10);
```

Diese 10 am Ende bedeutet, dass dieser Text maximal aus 10 Zeichen bestehen kann?

2.
	
	
	
	





```
class ButtonListener implements ActionListener
```
class ButtonListener = erfundene Klasse?
Dann erbt diese Klasse ActionListener. In der API steht zu ActionListener folgendes:



> The listener interface for receiving action events. The class that is interested in processing an action event implements this interface, and the object created with that class is registered with a component, using the component's addActionListener method. When the action event occurs, that object's actionPerformed method is invoked.



Könnte jemand bitte das auf Deutsch übersetzen und so einfach wie es geht erklären? ^^ Also mit ganz einfachen Wörtern. Habe das mit einem Online Übersetzer übersetzt und nichts verstanden.


3.
	
	
	
	





```
public void actionPerformed(ActionEvent e)
```

Diese Methode gehört zu ActionListener oder? Wenn ich API richtig verstehe, dann ist das auch die einzige, muss ich wissen was diese Methode macht? Wenn ja dann bitte erklären  :bae: 

in der API steht 


> Invoked when an action occurs


 und was heißt das auf Deutsch?


4.
	
	
	
	





```
public void init()
```
 Was macht diese Methode?

5.
	
	
	
	





```
Container cp = getContentPane();
```

In der API steht :



> A generic Abstract Window Toolkit(AWT) container object is a component that can contain other AWT components.
> 
> Components added to a container are tracked in a list. The order of the list will define the components' front-to-back stacking order within the container. If no index is specified when adding a component to a container, it will be added to the end of the list (and hence to the bottom of the stacking order).



Habe das natürlich auch nicht verstanden :cry: . Bitte erklären . Und was macht getContentPane(); konnte diese Methode in dieser Klasse nicht finden.

Ok das wars fürs Erste :bae: 

Danke im Voraus


----------



## swerflash (15. Nov 2005)

Hehe, waren das zu viele Fragen auf einmal?  :bae: Aber die sind wichtig, dann werde ich bestimmt viel mehr verstehen, fals ich die Antworten auf meine Frage kenne. Also fals jemand Zeit und Lust hat mir die zu antworten, dann wäre ich sehr dankbar


----------



## Oni (15. Nov 2005)

Zu 1. ja, 10 ist die sichbare länge des textfeld (zeichen kannst du mehr reinschreiben)

Zu 2 und 3.


			
				swerflash hat gesagt.:
			
		

> class ButtonListener = erfundene Klasse?
> Dann erbt diese Klasse ActionListener. In der API steht zu ActionListener folgendes:


nicht ganz, die klasse erbt nicht von actionlistener, sonder die eigene klasse(erfundene klasse) implmentiert das interface/schnittstelle actionlistener und weil sie das interface implementiert muss man auch die methode-actionperformed in der klasse haben

mein englisch ist nicht so toll, deshalb versuche ich das nicht zu übersetzen  :wink: 

in eignen worten: wenn du z.B einen button erstellt, dann sagst du dem actionlistener, er soll den button kontrollieren und wenn etwas passiert (z.B button wird gedrückt) kannst du in der methode actionPerformed() darauf reagieren. 

..soweit erstmal *g*


----------



## swerflash (15. Nov 2005)

Ok danke dir 


Jetzt muss ich jemanden finden der gut Fachenglish kann, paar Freiwillige hier? *guckt sich um* :roll:


----------



## Oni (15. Nov 2005)

bei den meisten wörten wo ich nicht weiter komme gucke ich dann bei www.leo.org und reime mir den rest zusammen.



			
				swerflash hat gesagt.:
			
		

> Diese Methode gehört zu ActionListener oder? Wenn ich API richtig verstehe, dann ist das auch die einzige, muss ich wissen was diese Methode macht? Wenn ja dann bitte erklären  :bae:
> 
> in der API steht
> 
> ...



Invoked when an action occurs = heißt soviel wie:"wird aufgerufen wenn ein ereignis eintritt"


----------



## The_S (15. Nov 2005)

Oni hat gesagt.:
			
		

> Zu 1. ja, 10 ist die sichbare länge des textfeld (zeichen kannst du mehr reinschreiben)



Wenn du nix am Font rumbastelst siehst du mehr als 10 Zeichen!

[edit] zu 4.

Das ist das selbe wie public static void main(String[] args) { in ner normalen Applikation. Bei nem Applet heißt das halt nur public void init() {


[edit 2] zu 5.

Ein Container ist nichts anderes als ein "Behälter" in dem du Componenten ablegen kannst. getContentPane liefert dir das aktuell zugewiesene Pane zurück.


----------



## swerflash (15. Nov 2005)

Danke nochmal  :lol: 


Zusammenreimen könnte ich, wenn ich mehr Erfahrung mit Java hätte, habe leider noch nicht, aber kommt noch(hoffentlich).


----------



## Oni (15. Nov 2005)

ich sag ja nicht, das es nicht so ist... ich habe da keine einheit hingeschrieben.


----------



## swerflash (15. Nov 2005)

Hobbit_Im_Blutrausch hat gesagt.:
			
		

> zu 4.
> 
> Das ist das selbe wie public static void main(String[] args) { in ner normalen Applikation. Bei nem Applet heißt das halt nur public void init() {




Aha, danke dir. Habe init oft gesehen, aber wusste nicht was das zu bedeuten hat

aber wenn das wie main(String[] args) ist, warum braucht man dann hier noch


```
public static void main(String[] args) 
   { 
      run(new klick_mich_2_mit_info(), 200, 100); 
   }
```


----------



## The_S (15. Nov 2005)

Oni hat gesagt.:
			
		

> Zu 1. ja, 10 ist die sichbare länge des textfeld (zeichen kannst du mehr reinschreiben)



Hast du das nicht so geimeint, dass man zwar viele Zahlen reinschreiben kann, man aber immer nur maximal 10 sieht? So hatte ich das nämlich verstanden. Man sieht aber Standardmäßig einige mehr .

btw: @ swerflash meine BEIDEN edits beachten falls sie im Eifer des Gefächts untergegangen seni sollten 

[edit] 

```
public static void main(String[] args) 
   { 
      run(new klick_mich_2_mit_info(), 200, 100); 
   }
```

brauchst du nicht, diese Methode wird NIE aufgerufen (es sei denn du rufst sie manuell irgendwann nochmal auf ). Der Browser ruft NUR die public void init() auf. von der aus wird dann alles "gesteuert".


----------



## swerflash (15. Nov 2005)

Ok habe Edits beachten, wenn aber init = main ist, dann habe ich so zu sagen 2 Mainmethoden in der Klasse, welche startet er dann, und brauche ich 2 , reicht 1 nicht aus?

EDIT(Diese Frage hat sich dann erledigt, da du noch ein Edit hinzufügt hast :wink: )


Zu Container, warum werden dort Componente gelagert? Was bringt mir das, wenn ich dort Componente ablege. Was ist ein Component, eine Methode einer Klasse?


----------



## Oni (15. Nov 2005)

Hobbit_Im_Blutrausch hat gesagt.:
			
		

> Oni hat gesagt.:
> 
> 
> 
> ...



das hängt vom buchstaben ab. mach mal ein textfeld mit der länge 15 und probiermla wieviele 'W' du reinschreiben kannst  :wink:


----------



## The_S (15. Nov 2005)

Ja, aber du wirst kaum ein Textfeld nur mit W's füllen. Schreib du ma i's rein .

@swerflash nochmal edit von meinem 2. post beachten

zu Container: Irgendwo musst du ja deine ganzen Buttons, Textfelder, Labels, ... ablegen. Und das macht man in einem Container oder einer von Container abgeleiteten Componente wie z. B. JPanel. In diesem Container wird dann auch gleich noch der LayoutManager festgelegt der deine Elemente schön so wie du es (mehr oder weniger ) willst anordnet. Dieser Container wird dann letztendlich als deine Benutzeroberfläche angezeigt. eine Componente ist eine Klasse die z. B. von JComponent erbt z. B. JButton


----------



## swerflash (15. Nov 2005)

Ich habe gerade probiert die Datei ohne main zu starten. Wenn ich das versuche, dann meldet er einen Fehler.


----------



## The_S (15. Nov 2005)

Ein Applet startest du ja auch nicht sondern bettest es in eine HTML-Seite ein :roll:

[edit] Woher hast du eigentlich den Code? Aus nem Buch? Falls ja würd ich gerne wissen welches Buch "ausführbare" Applets programmieren lässt


----------



## André Uhres (15. Nov 2005)

Nützlicher Hinweis: In der "Google-Toolbar" deines Browsers (Download gratis bei Google) 
gibts unter "Optionen" die Möglichkeit "Wort-Übersetzung" zu aktivieren.
Wenn du dann den Mauszeiger über einem Wort stehen lässt, wird die Übersetzung als 
"Tooltip" angezeigt


----------



## swerflash (15. Nov 2005)

hmm habe nie gemacht ^^ habe einfach bei Eclipse den gesammten Code reingeschrieben und auf starten gedrückt 

Dann versuche ich jetzt das in einer HTML Datei zu starten


Schüler swerflash bedankt sich bei seinen 2 Lehrern Hobbit_Im_Blutrausch und Oni für ihre Hilfe :bae: 

So dann teste ich ob es geklappt hat  :wink:


----------



## swerflash (15. Nov 2005)

Andre_Uhres hat gesagt.:
			
		

> Nützlicher Hinweis: In der "Google-Toolbar" deines Browsers (Download gratis bei Google)
> gibts unter "Optionen" die Möglichkeit "Wort-Übersetzung" zu aktivieren.
> Wenn du dann den Mauszeiger über einem Wort stehen lässt, wird die Übersetzung als
> "Tooltip" angezeigt



Aha :!: , hmm ich habe das sowieso mit google übersetzt und nichts verstanden  . Aber das liegt auch daran, dass ich viel zu wenig Ahnung von Java habe.


----------



## swerflash (15. Nov 2005)

> [edit] Woher hast du eigentlich den Code? Aus nem Buch? Falls ja würd ich gerne wissen welches Buch "ausführbare" Applets programmieren lässt



Den Code habe ich von hier http://www.java2s.com/Code/Java/Swing-JFC/Respondingtobuttonpresses.htm

hier gibt es hunderte Beispiele zu jedem Thema


----------



## Oni (15. Nov 2005)

hoffentlich sind beispiele nicht alle von der qualität  :bloed:  

die machen es für einen anfänger nicht leichter


----------



## swerflash (15. Nov 2005)

Wie erwartet hat bei mir nicht geklappt, der findet diese Klasse nicht beim laden

Habe eine start.html Datei in dem Ordler erstellt wo sich diese Java Datei befindet. In der HTML datei steht folgendes:


```
<html>
 <head>
 </head>
 <body>
  <applet code=klick_mich_2_mit_info width=500 height=300></applet>
 </body>
 </head>
 </html>
```

Die Java und HTML Datei befinden sich hier C:\java_test\uebung_java\src\swings_project\







@Oni, ja leider sind dort alle Beispiele sehr schwer, ohne Erklärung, aber das ich das beste was ich gefunden habe, weil man dort zu jedem Thema sehr viele unterschiedliche Beispiele findet.


----------



## The_S (15. Nov 2005)

Bei klick_mich_2_mit_info fehlt am Ende noch das .class


----------



## swerflash (15. Nov 2005)

Geht trotzdem nicht, aber ich glaube .class muss man nicht schreiben, er hat mir diesen Fehler ausgegeben


```
java.io.FileNotFoundException: C:\java_test\uebung_java\src\swings_project\klick_mich_2_mit_info\class.class (Das System kann den angegebenen Pfad nicht finden)
```
hier ist ein class zu viel am Ende



Und wenn ich ohne .class am Ende schreibe, dann kriege ich das:


```
java.io.FileNotFoundException: C:\java_test\uebung_java\src\swings_project\klick_mich_2_mit_info.class (Das System kann die angegebene Datei nicht finden)
```

Und hier stimmt eigentlich alles, komisch hmm.


----------



## The_S (15. Nov 2005)

Sourcecode der Startseite meiner Homepage (nein nicht die Weiterleitungsseite):


```
<html> 
<body bgcolor="#760404" lang=DE style='tab-interval:35.4pt'> 
<table width=100%> 
<tr><td>
[url="http://www.ranking-hits.de/"][img]http://www.ranking-hits.de/?ref=www.stefan-kiesel.gmxhome.de&style=17[/img][/url]
</td> 
<td align=center> 
<applet code="Titel.class" width="400" height="100" align="ABSMIDDLE"> 
</applet> 

 
</td><tr> 
<td align=left valign=top> 

 


<applet code="WebMenu.class" width="120" height="350"> 
</applet> 
</td><td align=center> 
<applet code="Fenster.class" width="750" height="750"> 
</applet> 
</td></tr> 
</table> 
</html>
```

und da steht ja auch überall .class hinten dran und es rennt (merkst was ).

Dann haste was anderes verpfuscht. Poste bitte mal den genauen Pfad der HTML-Datei und deiner *.class Datei. Außerdem noch den Code deiner HTML-Datei (mit dem .class hintendran ) und den Code deiner *.class.


----------



## swerflash (15. Nov 2005)

C:\java_test\uebung_java\bin\swings_project
klick_mich_2_mit_info.class

C:\java_test\uebung_java\src\swings_project
klick_mich_2_mit_info.java

C:\java_test\uebung_java\bin\swings_project
start.html

C:\java_test\uebung_java\src\swings_project
start.html


als ich diese start.html im C:\java_test\uebung_java\src\swings_project erstellt habe, hat er automatisch sie auch in diesem Ordner C:\java_test\uebung_java\bin\swings_project erstellt



in der start.html datei steht folgendes:



```
<html>
 <head>
 </head>
 <body>
  <applet code=klick_mich_2_mit_info.class width=500 height=300></applet>
 </body>
 </head>
 </html>
```


Fehler:

```
Laden: Klasse klick_mich_2_mit_info.class nicht gefunden
java.lang.ClassNotFoundException: klick_mich_2_mit_info.class
	at sun.applet.AppletClassLoader.findClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at sun.applet.AppletClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at sun.applet.AppletClassLoader.loadCode(Unknown Source)
	at sun.applet.AppletPanel.createApplet(Unknown Source)
	at sun.plugin.AppletViewer.createApplet(Unknown Source)
	at sun.applet.AppletPanel.runLoader(Unknown Source)
	at sun.applet.AppletPanel.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
Caused by: java.io.FileNotFoundException: C:\java_test\uebung_java\src\swings_project\klick_mich_2_mit_info\class.class (Das System kann den angegebenen Pfad nicht finden)
	at java.io.FileInputStream.open(Native Method)
	at java.io.FileInputStream.<init>(Unknown Source)
	at java.io.FileInputStream.<init>(Unknown Source)
	at sun.net.www.protocol.file.FileURLConnection.connect(Unknown Source)
	at sun.net.www.protocol.file.FileURLConnection.getInputStream(Unknown Source)
	at sun.applet.AppletClassLoader.getBytes(Unknown Source)
	at sun.applet.AppletClassLoader.access$100(Unknown Source)
	at sun.applet.AppletClassLoader$1.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	... 10 more
```



liegt bestimmt an Eclipse hmmm

EDIT: hier stimmt was nicht


```
C:\java_test\uebung_java\src\swings_project\klick_mich_2_mit_info\class.class (Das System kann den angegebenen Pfad nicht finden)
```
der hat aus meiner Datei klick_mich_2_mit_info einen Ordner gemacht , aber das passiert nur, wenn ich in der HTML Datei am Ende noch .class reinschreibe, dann gibt er mir diese Fehlermeldung aus, sonst stimmt der Pfad, aber kann die Datei nicht finden.


----------



## Oni (15. Nov 2005)

dann kopier doch einfach mal die *.class datei und die html-datein in einen neu angelegten ordner und test dann mal was passiert wenn du die html-seite öffnest


----------



## swerflash (15. Nov 2005)

Habe gemacht, kriege das als Fehlermeldung
_auf dem Laufwerk C habe ich Ordner test erstellt und die beiden Datein da rein kopiert._


```
Laden: Klasse klick_mich_2_mit_info.class nicht gefunden
java.lang.ClassNotFoundException: klick_mich_2_mit_info.class
	at sun.applet.AppletClassLoader.findClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at sun.applet.AppletClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at sun.applet.AppletClassLoader.loadCode(Unknown Source)
	at sun.applet.AppletPanel.createApplet(Unknown Source)
	at sun.plugin.AppletViewer.createApplet(Unknown Source)
	at sun.applet.AppletPanel.runLoader(Unknown Source)
	at sun.applet.AppletPanel.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
Caused by: java.io.FileNotFoundException: C:\java_test\uebung_java\src\swings_project\klick_mich_2_mit_info\class.class (Das System kann den angegebenen Pfad nicht finden)
	at java.io.FileInputStream.open(Native Method)
	at java.io.FileInputStream.<init>(Unknown Source)
	at java.io.FileInputStream.<init>(Unknown Source)
	at sun.net.www.protocol.file.FileURLConnection.connect(Unknown Source)
	at sun.net.www.protocol.file.FileURLConnection.getInputStream(Unknown Source)
	at sun.applet.AppletClassLoader.getBytes(Unknown Source)
	at sun.applet.AppletClassLoader.access$100(Unknown Source)
	at sun.applet.AppletClassLoader$1.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	... 10 more
java.lang.NoClassDefFoundError: klick_mich_2_mit_info (wrong name: swings_project/klick_mich_2_mit_info)
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClass(Unknown Source)
	at java.security.SecureClassLoader.defineClass(Unknown Source)
	at sun.applet.AppletClassLoader.findClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at sun.applet.AppletClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at sun.applet.AppletClassLoader.loadCode(Unknown Source)
	at sun.applet.AppletPanel.createApplet(Unknown Source)
	at sun.plugin.AppletViewer.createApplet(Unknown Source)
	at sun.applet.AppletPanel.runLoader(Unknown Source)
	at sun.applet.AppletPanel.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
```





Was ist mit meiner *.java datei? Brauche ich sie nicht, oder weiss er selber wo er sie suchen soll, weil in der *class Datei Package steht.


----------



## swerflash (15. Nov 2005)

Naja egal, solange ich das über Eclipse starten kann, ist das nicht wichtig, ich weiss auch nicht warum das nicht geht.


----------



## Oni (15. Nov 2005)

also du hast jetzt den ordner test erstellt:


C:\test 

in dem ordner test liegen jetzt die datei:

irgendEinName.html 
und
klick_mich_2_mit_info.class

der inhalt der html datei müsste so aussehen:


```
<html>
<head>
</head>
<body>
  <applet code=klick_mich_2_mit_info.class width=500 height=300></applet>
</body>
</head>
</html>
```


ich gehe mal davon aus die datei klick_mich_2_mit_info.class ist inhaltlich korrekt und ließ sich auch kompilieren.

dann müsste ein doppelklick auf die html-seite reichen um die seite mit dem applet zu starten.


wo bekommst du die fehlermeldung angezeigt?  hast du alles so wie oben beschrieben?

```
Laden: Klasse klick_mich_2_mit_info.class nicht gefunden
java.lang.ClassNotFoundException: klick_mich_2_mit_info.class
   at sun.applet.AppletClassLoader.findClass(Unknown Source)
   at java.lang.ClassLoader.loadClass(Unknown Source)
   at sun.applet.AppletClassLoader.loadClass(Unknown Source)
   at java.lang.ClassLoader.loadClass(Unknown Source)
   at sun.applet.AppletClassLoader.loadCode(Unknown Source)
   at sun.applet.AppletPanel.createApplet(Unknown Source)
   at sun.plugin.AppletViewer.createApplet(Unknown Source)
   at sun.applet.AppletPanel.runLoader(Unknown Source)
   at sun.applet.AppletPanel.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)
Caused by: java.io.FileNotFoundException: C:\java_test\uebung_java\src\swings_project\klick_mich_2_mit_info\class.class (Das System kann den angegebenen Pfad nicht finden)
   at java.io.FileInputStream.open(Native Method)
   at java.io.FileInputStream.<init>(Unknown Source)
   at java.io.FileInputStream.<init>(Unknown Source)
   at sun.net.www.protocol.file.FileURLConnection.connect(Unknown Source)
   at sun.net.www.protocol.file.FileURLConnection.getInputStream(Unknown Source)
   at sun.applet.AppletClassLoader.getBytes(Unknown Source)
   at sun.applet.AppletClassLoader.access$100(Unknown Source)
   at sun.applet.AppletClassLoader$1.run(Unknown Source)
   at java.security.AccessController.doPrivileged(Native Method)
   ... 10 more
java.lang.NoClassDefFoundError: klick_mich_2_mit_info (wrong name: swings_project/klick_mich_2_mit_info)
   at java.lang.ClassLoader.defineClass1(Native Method)
   at java.lang.ClassLoader.defineClass(Unknown Source)
   at java.security.SecureClassLoader.defineClass(Unknown Source)
   at sun.applet.AppletClassLoader.findClass(Unknown Source)
   at java.lang.ClassLoader.loadClass(Unknown Source)
   at sun.applet.AppletClassLoader.loadClass(Unknown Source)
   at java.lang.ClassLoader.loadClass(Unknown Source)
   at sun.applet.AppletClassLoader.loadCode(Unknown Source)
   at sun.applet.AppletPanel.createApplet(Unknown Source)
   at sun.plugin.AppletViewer.createApplet(Unknown Source)
   at sun.applet.AppletPanel.runLoader(Unknown Source)
   at sun.applet.AppletPanel.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)
```


----------



## swerflash (15. Nov 2005)

Ja habe alles so gemacht wie beschrieben. Wenn ich HTML Datei starte(Doppelklick mit der Maus), dann öffnet sich eine HTML Seite. In der Ecke ist ein leeres weißes Bild zu sehen mit einem roten Kreuz. Wenn ich rechtsklick auf das Bild mache, dann habe ich dort eine Funktion "Java - Console", wenn ich das auswähle, dann steht dort meine Fehlermeldung.

Aber wie gesagt, solange ich das auch über Eclipse starten kann(*.java Datei, ohne HTML), ist das nicht schlimm. Irgendwo ist bestimmt etwas falsch eingestellt.


----------



## lin (15. Nov 2005)

hmm, das Problem hatte ich auch mal, fand aber den Fehler auch nicht. Mittlerweile gehts, hab allerdings keine Ahnung warum... :?


----------



## The_S (15. Nov 2005)

Warum müssen Anfänger auch immer Eclipse verwenden? Lernt doch erstmal den Umgang mit der Sprache anstatt den einer großen IDE!

Hab das Ding jetzt im JCreator (simple und schlanke IDE) kompiliert:


```
import java.awt.Container; 
import java.awt.FlowLayout; 
import java.awt.event.ActionEvent; 
import java.awt.event.ActionListener; 

import javax.swing.JApplet; 
import javax.swing.JButton; 
import javax.swing.JFrame; 
import javax.swing.JTextField; 

public class klick_mich_2_mit_info extends JApplet 
{ 
   private JButton b1 = new JButton("Button 1"), b2 = new JButton("Button 2"); 

   private JTextField txt = new JTextField(10); 

   class ButtonListener implements ActionListener 
   { 
      public void actionPerformed(ActionEvent e) 
      { 
         String name = ((JButton) e.getSource()).getText(); 
         txt.setText(name); 
      } 
   } 

   private ButtonListener bl = new ButtonListener(); 

   public void init() 
   { 
      b1.addActionListener(bl); 
      b2.addActionListener(bl); 
      Container cp = getContentPane(); 
      cp.setLayout(new FlowLayout()); 
      cp.add(b1); 
      cp.add(b2); 
      cp.add(txt); 
   } 

   public static void run(JApplet applet, int width, int height) 
   { 
      JFrame frame = new JFrame(); 
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
      frame.getContentPane().add(applet); 
      frame.setSize(width, height); 
      applet.init(); 
      applet.start(); 
      frame.setVisible(true); 
   } 
}
```

Den ganzen Code unter C:\ inkl. class-Datei (wobei die .java ruhig woanders liegen kann) gespeichert. Auf C:\ dieses html-File erstellt


```
<applet code="klick_mich_2_mit_info.class" height="300" width="500">
</applet>
```

und mit dem "bösen E" ausgeführt. Klappt wunderbar. 

@ swerflash

Deine Enduser später kopieren deinen Sourcecode auch nicht in Eclipse und sind zufrieden wenn es wenigstens dort läuft. Außerdem würde ich gerade dir als Anfänger nahelegen ersteinmal mit einem Texteditor zu programmieren und manuell compilieren und ausführen (ok, muss zugeben dass ich das auch nie gemacht habe) oder dir zumindest eine einfache IDE zulegst. Du sollst Java als Programmiersprache lernen und nicht wie man Eclipse bedient (noch nicht).


----------



## lin (15. Nov 2005)

naja, also dazu sag ich, dass der Einstieg in eclipse nicht sonderlich kompliziert ist, auch für ein Anfänger net. Ich persönlich habe vor java noch bisserl Turbo Pascal gelernt und Delphi, so in den 90er jahren war das mal... Bin dann über den JBuilder in Java eingestiegen und benutze nun Eclipse und emacs(editor). Und wenn du dir die Tutorials durckguckst und alles sollte das auch für nen Anfänger klappen mit eclipse.
Entwickle persönl. keine Applets, hab erst etwa 10 kleinere Dinge geschrieben allerdings mit emacs.


----------



## The_S (15. Nov 2005)

Jo, nur du hattest vorher Programmiererfahrung. swerflash geht es wie mir ca. vor nem guten Jahr. Ausbildung angefangen, noch rein gar nichts programmiert, ziemlich hohe Erwartungen gesetzt die aber nicht erfüllt wurden. Nichts gegen Eclipse, ist ne 1A IDE (wenn nicht so gar ein bisschen mehr ), aber für den Einstieg (vorallem wenn man vorher nichts in diese Richtung gemacht hat) einfach viel zu komplex (komplex nicht kompliziert). Als Anfänger fühlst du dich mit den ganzen Einstellungen und Fachbegriffen leicht überfordert und kannst nicht richtig mit der IDE umgehen und sie konfigurieren wie man hier sieht (@ swerflash is net böse gemeint, jeder hat mal klein angefangen ). Auch erleichtert sie dir manches (z. B. die imports), wenn du mal darauf angewiesen bist ohne zu programmieren und das nie richtig gelernt hast schauste da alt aus der Wäsche


----------

