Was ist hier falsch?
Hannes
- java
Hallo miteinander!
Ich habe hier ein ziemlich großes Problem, bei dem ich nicht mehr weiter weiss. Ich möchte mein erstes einfaches Programm schreiben (daher auch der bescheuerte Name der Klasse :-P ), aber es haut nicht hin. Auf den ersten Metern werde ich schon ausgebremst.
Hier mein Problem:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;
public class CFirstProg {
public static void main(String[] args){
CFirstProg e = new CFirstProg("Test");
//Cannot find Symbol
//symbol : constructor CFirstProg(java.lang.String)
//location: class CFirstProg
//CFirstProg e = new CFirstProg("Test");
e.setLocation(100, 100);
//Cannot find Symbol
//symbol : method setLocation(int,int)
//location: class CFirstProg
//e.setLocation(100, 100);
e.pack();
//Cannot find Symbol
//symbol : method pack()
//location: class CFirstProg
//e.pack();
e.setVisible(true);
//Cannot find Symbol
//symbol : method setVisible(boolean)
//location: class CFirstProg
//e.setVisible(true);
}
}
Dieser Teil wird schon als falsch angekreidet. Kann mir mal bitte jemand sagen warum? Die Fehlermeldungen habe ich in die Kommentare geschrieben. Aber ich werde nicht schlau aus den Fehlermeldungen. Könnt ihr mir bitte helfen? Übrigens heißt die Datei natürlich auch CFirstProg.java
Vielen Dank dafür. Gruß, Hannes
Hi,
public class CFirstProg {
public static void main(String[] args){
CFirstProg e = new CFirstProg("Test");
die Klasse CFirstProg hat keinen Constructor, schon gar keinen, der einen String aufnehmen würde. Um genau zu sein hat die Klasse nur eine Methode main(). Wieso instanziierst Du in dieser eigentlich ein neues Objekt der selben Klasse? Das ist zwar nicht falsch, aber was hast Du damit vor?
e.setLocation(100, 100);
//Cannot find Symbol
[...]
Alle weiteren sind Folgefehler.
Cheatah
Hello,
Alle weiteren sind Folgefehler.
na ja, jein, also auch wenn er einen Konstruktor mit einem String-Parameter definiert, solange er sie nicht implementiert oder von der derzeit nicht spezifizierten Oberklasse erbt, wird es keine setLocation(int, int), pack() und setVisible(boolean) geben.
Wenn das irgendwo abgeschrieben ist, dann nehme ich mal stark an, dass ein "extends <irgendwas>" in der Klassendefinition fehlt.
MfG
Rouven
Hallo!
An das muss ich mich erst gewöhnen. Im Gegensatz zu HTML, CSS oder JS ist Java sauschwer ;-)
Danke, weil ein extends hat gefehlt.
Freundliche Grüße, Hannes
Hi,
An das muss ich mich erst gewöhnen. Im Gegensatz zu HTML, CSS oder JS ist Java sauschwer ;-)
im Gegenteil. Java ist sehr viel leichter als z.B. HTML und CSS, denn es verzeiht Dir viel, viel weniger Fehler. Wie Du merkst ;-)
Cheatah
Hallo!
An das muss ich mich erst gewöhnen. Im Gegensatz zu HTML, CSS oder JS ist Java sauschwer ;-)
im Gegenteil. Java ist sehr viel leichter als z.B. HTML und CSS, denn es verzeiht Dir viel, viel weniger Fehler. Wie Du merkst ;-)
Ja, aber die Umgewöhung ist schwierig *g*
ciao, Hannes
Hallo Cheatah!
die Klasse CFirstProg hat keinen Constructor, schon gar keinen, der einen String aufnehmen würde. Um genau zu sein hat die Klasse nur eine Methode main(). Wieso instanziierst Du in dieser eigentlich ein neues Objekt der selben Klasse? Das ist zwar nicht falsch, aber was hast Du damit vor?
Ich will ein Miniprogramm schreiben, das auf Wunsch einen Kreis o.ä. malt. Dabei soll die Farbe vom Benutzer vorgegeben werden. Die Farbe soll also per Drag&Drop ausgewählt werden können. Und um das erreichen zu können muss ich doch eine Instanz der Klasse ableiten und dann in etwa so weiter vorangehen:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;
public class CFirstProg {
public static void main(String[] args){
CFirstProg e = new CFirstProg("Test");
e.setLocation(100, 100);
e.pack();
e.setVisible(true);
}
CFirstProg(String titel) {
super(titel);
JMenuBar menueleiste = new JMenuBar();
setJMenuBar(menueleiste);
JMenu menu1 = new JMenu("Farbe");
JMenuItem item1_1 = new JMenuItem("Rot");
JMenuItem item1_2 = new JMenuItem("Blau");
JMenuItem item1_3 = new JMenuItem("Grün");
JMenuItem item1_4 = new JMenuItem("Programm beenden");
menu1.add(item1_1);
menu1.add(item1_2);
menu1.add(item1_3);
menu1.add(item1_4);
menueleiste.add(menu1);
}
}
Allerdings hagelt es da auch Fehlermeldungen, die ich nicht verstehe. Ich werde es mir nachher nochmals anschauen, da ich jetzt leider weg muss :-(
Aber trotzdem vielen Dank! Hannes