Compiler spinnt }}-(
-
[java]
import java.applet.;
import java.awt. ;
import java.awt.event.* ;public class TestFra extends Applet
{
public static void main(String [] args)
{
TestFram f = new TestFram("Test");
f.init();
}
}class TestFram extends Frame
implements WindowListener, ActionListener
{
public TestFram(String s) {super(s);}public void init()
{
setSize(300, 200);
setLayout(new BorderLayout());Panel northPanel = new Panel();
add(northPanel);Panel southPanel = new Panel();
add(southPanel);Label l = new Label("Hallo. Dies ist ein kleines Testprogramm.");
add(northPanel, l);Button b1 = new Button("Oeffnen");
add(southPanel, b1);Button b2 = new Button("Schließen");
add(southPanel, b2);add(southPanel, "North");
add(southPanel, "South");setVisible(true);
}public void actionPerformed(ActionEvent e)
{
System.out.println(e.getActionCommand());
}public void windowOpened(WindowEvent e) {}
public void windowClosed(WindowEvent e) {}
public void windowIconified(WindowEvent e) {}
public void windowDeiconified(WindowEvent e) {}
public void windowActivated(WindowEvent e) {}
public void windowDeactivated(WindowEvent e) {}
public void windowClosing(WindowEvent e)
{
dispose();
System.exit(0);
}
}[/code]
Jetzt wirft er aber ne' Exception:java.lang.IllegalArgumentException: cannot add to layout: constraint must be a string (or null) at java.awt.BorderLayout.addLayoutComponent(BorderLayout.java:401) at java.awt.Container.addImpl(Container.java:664) at java.awt.Container.add(Container.java:518) at TestFram.init(TestFra.java:31) at TestFra.main(TestFra.java:10) Exception in thread "main"
Wie meinen?
MfG MAV
[ Dieser Beitrag wurde am 14.04.2003 um 20:39 Uhr von Mis2com editiert. ]
-
Original erstellt von Mis2com:
**
Was meint der?**Das bezieht sich auf die folgenden Zeilen:
[java]
add(northPanel, l);
add(southPanel, b1);
add(southPanel, b2);[/code]
Wenn du z.B. das Label l zum northPanel hinzufügen willst, dann geht das so:
[java]
northPanel.add(l);[/code][ Dieser Beitrag wurde am 14.04.2003 um 20:40 Uhr von Gregor editiert. ]
-
@Gregor:
DANKE; daran lags :):):)Aber manchmal nutzt man doch auch 2 Paramter für add, wofür das?
MfG MAV
-
OK, neues Problem:
[java]
import java.applet.;
import java.awt. ;
import java.awt.event.* ;class TestFra extends Frame
implements WindowListener, ActionListener
{
public static void main(String [] args)
{
TestFra f = new TestFra("Test");
f.init();
}public TestFra(String s) {super(s);}
public void init()
{
setSize(300, 200);
setLayout(new BorderLayout());Panel northPanel = new Panel();
Panel southPanel = new Panel();
Label l = new Label("Hallo. Dies ist ein kleines Testprogramm.");
northPanel.add(l);Button b1 = new Button("Oeffnen");
southPanel.add(b1);Button b2 = new Button("Schließen");
southPanel.add(b2);add(southPanel, "North");
add(southPanel, "South");setVisible(true);
}public void actionPerformed(ActionEvent e)
{
System.out.println(e.getActionCommand());
}public void windowOpened(WindowEvent e) {}
public void windowClosed(WindowEvent e) {}
public void windowIconified(WindowEvent e) {}
public void windowDeiconified(WindowEvent e) {}
public void windowActivated(WindowEvent e) {}
public void windowDeactivated(WindowEvent e) {}
public void windowClosing(WindowEvent e)
{
dispose();
System.exit(0);
}
}[/code]
Jetzt beendet er aber nicht, wenn ich auf das X klicke und im Ausgabefenster kommt auch nix raus, wenn ich auf einen Button klicke.PS: Und die Applet-Fenster krieg ich auch nimmer weg
MfG MAV
-
Original erstellt von Mis2com:
**
Aber manchmal nutzt man doch auch 2 Paramter für add, wofür das?
**Das ist eher ne Ausnahme. Der 2. Parameter gibt dann z.B. etwas über die Lage der Komponente an, die du dem Container hinzufügen möchtest.
Zum Beispiel beim BorderLayout: Du hast ja auch mal als 2.Parameter "North" oder auch "South" angegeben. Damit sagst du, wo die Komponente hin soll. Bei "North" also nach oben usw.
BTW: Ich empfehle dir, statt "North" die Konstante BorderLayout.NORTH zu nehmen. Vielleicht ändert sich diese Konstante in einer zukünftigen Java-Version ja mal. Dann würde ein Programm, in dem du "North" genommen hast, nicht mehr funktionieren.
-
Original erstellt von Mis2com:
**
Jetzt beendet er aber nicht, wenn ich auf das X klicke und im Ausgabefenster kommt auch nix raus, wenn ich auf einen Button klicke.
**Dir fehlt noch ein "addWindowListener(this);". ...zum Beispiel in der init-Methode.
-
Original erstellt von Mis2com:
**
Jetzt beendet er aber nicht, wenn ich auf das X klicke und im Ausgabefenster kommt auch nix raus, wenn ich auf einen Button klicke.
**...und für die Buttons fehlt dir ein:
b1.addActionListener(this);
und
b2.addActionListener(this);
[ Dieser Beitrag wurde am 14.04.2003 um 20:53 Uhr von Gregor editiert. ]
-
Ahhh, stimmt, ich hab noch viel zu lernen.
Dankeschön!Und nochmals Danke für den Tipp mit dem BorderLayout.NORTH etc., habs geändert.
Jetzt funktioniert alles.
Naja, aber nur dank eurer Hilfe.
Oje, das wird ja lustig mit Java.
Naja, egal, jetzt geht's in dem Tut erstmal an Swing.
Ach, könnt ihr nichts zu dem Java-Spiele etc. Thread sagen?
ich habe ihn schon in diversen Foren gemacht, aber keinerlei Antwort erhalten.Nochmals THX an alle Helfenden. :):)
MfG MAV
PS:
Ein Java Fenster, bei dem man noch nicht Beenden konnte, hängt jetzt mitten in der Landschaft rum und lässt sich net beenden.PPS:
Gregor:
Ja, hab ich schon eingebaut, THX.[ Dieser Beitrag wurde am 14.04.2003 um 21:01 Uhr von Mis2com editiert. ]
-
Original erstellt von Mis2com:
**
Ein Java Fenster, bei dem man noch nicht Beenden konnte, hängt jetzt mitten in der Landschaft rum und lässt sich net beenden.
**...lustig! ...die einfachste Möglichkeit, das zu Beenden, ist wohl, die IDE zu schließen und neu zu starten.
-
Original erstellt von Mis2com:
das wird ja lustig mit Java.Siehste, das Wichtigste hast du schon gelernt:
Java macht Spaß!
[ Dieser Beitrag wurde am 14.04.2003 um 21:07 Uhr von Gregor editiert. ]
-
Original erstellt von Mis2com:
**
Ach, könnt ihr nichts zu dem Java-Spiele etc. Thread sagen?
ich habe ihn schon in diversen Foren gemacht, aber keinerlei Antwort erhalten.**Dazu kann ich leider nichts sagen. ...aber bestimmt weiß die Elise da mehr! ...oder O'Dog!
EDIT: Generell gibt es verschiedene Wege, soetwas mit Java zu machen. Entsprechend wirst du auch verschiedene Voraussetzungen auf dem Server brauchen.
[ Dieser Beitrag wurde am 14.04.2003 um 21:13 Uhr von Gregor editiert. ]
-
Jep...
Wenns klappt
Ich fand vorher mit dem Kompilieren immer doof, in der Konsole und so.
Naja, aber sone IDE ist schon was Feines.Nochmal bitte für den anderen Thread über Java-Applets für Multiplayer z.B.:
Aber dieser Thread ist doch eigentlich etwas ganz einfaches.
Einfach nur, ob man für z.B. einen Java-Chat spezielle Server-Anforderungen braucht.
Ich will sowas unbedingt machen, aber seit gestern antwortet mir niemand darauf.
Hat denn keiner ne Ahnung?[ Dieser Beitrag wurde am 14.04.2003 um 21:11 Uhr von Mis2com editiert. ]
-
Ahso...
Nagut, hoffentlich bald, ich möchte es heute auf alle Fälle noch wissen. :(((