PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : "Dummes" Compile Problem - erkennt List... nicht !?!?



maceop
17-02-2003, 19:45
hi,
ich hab hier ein "komisches" Problem mit dem Kompilieren eines Sources, ein Kumpel hat ihn mir gegeben zum "überprüfen", bei ihm funzt es bei mir nicht.

ich hab mal alternativ ein sehr kleines prog geschrieben , bei dem taucht auch ein prob mit List auf. btw. im "original" prog gibts auch probs mit Panel....



import java.awt.*;
import java.awt.event.*;


public class Ta extends Frame
{
List meine_liste;
Button ba;
String teststring = "hallo";

public Ta(String Fenstertitel)
{
super(Fenstertitel);
meine_liste = new List(1);
ba = new Button("My Button");
meine_liste.add(teststring);
}

public static void main(String args[])
{
Ta f = new Ta("Copyright by aulh");
f.show();
}
}


dieses code snippet produziert beim versuch es zu kompilieren folgende fehler:

C:\Eigene Dateien\Source\Ta.java:14: cannot resolve symbol
symbol : constructor List (int)
location: class List
meine_liste = new List(1);
^
C:\Eigene Dateien\Source\Ta.java:16: cannot resolve symbol
symbol : method add (java.lang.String)
location: class List
meine_liste.add(teststring);
^
2 errors

-----------

was ist da falsch ?

mfg
maceop

anda_skoa
17-02-2003, 21:17
Da fehlt das import für java.util.List

Ciao,
_

peschmae
18-02-2003, 08:06
neee, der will doch java.awt.List, nicht wahr?

http://java.sun.com/j2se/1.4.1/docs/api/java/awt/List.html

MfG Peschmä

peschmae
18-02-2003, 08:26
Hallo zusammen,

also bei mir geht der Code!

Allerdings würde ich im Konstruktor nach meine_liste.add(teststring) unbedingt noch das hinzufügen:

add(ba, BorderLayout.SOUTH);
add(meine_liste, BorderLayout.CENTER);
//Damit werden die dinger richtig im Layout platziert und überhaupt erst richtig angezeigt

setSize(500, 500); //Nur die Titelleiste sieht a bisserl blöd aus

ba.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});

//Knopfklick schliesst programm

addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});

//Klick auf Programm - Beenden knopferl in Titelleiste ebenso


MfG Peschmä

anda_skoa
18-02-2003, 10:29
Original geschrieben von peschmae
neee, der will doch java.awt.List, nicht wahr?


Ah, natürlich!
java.util.List ist ja nur ein Interface, da gibt es gar keinen Construktor :rolleyes:

Ciao,
_

anda_skoa
18-02-2003, 10:29
Original geschrieben von peschmae
Hallo zusammen,

also bei mir geht der Code!

Allerdings würde ich im Konstruktor nach meine_liste.add(teststring) unbedingt noch das hinzufügen:


Kleiner Tipp:
code tags :)

Ciao,
_

maceop
18-02-2003, 10:35
danke für eure tipps, nur aus welchem grund funzt es nicht ??? bis vor kurzem hatte ich solche probs noch nicht, ich habe mal meine src.jar "geöffnet" (doppelklick), seitdem habe ich nichts mehr mit List gemacht.
Als ich gestern nochmal das ausprobieren wollte, funzte es nicht mehr.

mfg
maceop

peschmae
18-02-2003, 12:00
@anda_skoa soso :D

@maceop:
Hat er _nur_ mit List - Objekten Probleme? Geht es wenn du sie immer mit java.awt.List ansprichst?

(ohne codetags ;-):
java.awt.List meine_liste;

...

meineListe = java.awt.List(1);

MfG Peschmä

maceop
18-02-2003, 12:23
danke, werds mal gleich ausprobieren,

mfg
maceop

maceop
18-02-2003, 16:30
also wenn ich die Deklaration der List mit java.awt.List ersetze und im Konstruktor statt ... = new List(int what) , .... = new java.awt.List(int what) schreibe funzt es.

wie gesagt, es gibt die selben probs mit Panel, dort mach ich es genauso, also java.awt.Panel.

ideen für diesen "Fehler" ?

mfg
maceop

anda_skoa
18-02-2003, 16:48
Vielleicht sind andere Klassen mit diesen Namen importiert oder im aktuellen Package.

Eben im Fall der List zum Beispiel das import für java.util.List

Dann kann der Compiler wahrscheinlich nicht entscheiden, welche Klasse er nehmen soll.

Nur ein Veracht :)

Ciao,
_

peschmae
18-02-2003, 19:00
wie sieht denn dein CLASSPATH aus? Hast du nur ein JRE installiert, oder sind es mehrere? (Das könnte vielleicht den Compiler verwirren) - evtl. die von der Distri und noch sonst eine dazu (schliesslich bringt jdk 1.4 ja wirklich was ;-))

Allerdings finde ich die Tatsache, dass das Problem auch bei einem Panel auftritt recht speziell - eine List nennt man ja schnell noch mal was. Gibts noch andere Sachen, wo du das Problem hast?
Ist irgendwas speziell an deiner (Java) - Installation?

MfG Peschmä

maceop
18-02-2003, 19:41
also ich werd zuhause nachgucken und wenn möglich beantworten.

was mich wirklich "überrascht" :

bis vor kurzem funktionierte ALLES, ohne das lästige java.awt. davor zu setzen, seitdem ich auf diese src.jar geklickt habe funzt es nicht mehr richtig. kann es etwas damit zu tun haben ?

mfg
maceop

maceop
18-02-2003, 19:48
sorry anda_skoa, ganz vergessen deine frage zu beantworten ;)


Original geschrieben von anda_skoa
Vielleicht sind andere Klassen mit diesen Namen importiert oder im aktuellen Package.

Eben im Fall der List zum Beispiel das import für java.util.List
_

Nein, dass kann ich ausschließen. Dann hätte er eben im einfachen Beispiel eigentlich nicht meckern dürfen, weil doch nur awt.* und awt.event.* importiert wurden (oder sehe ich das falsch das hier keine "mehrdeutigkeiten" vorliegen könnten ?, btw. ich glaub der compiler bemängelt das mit so was wie "there are ambiguities between java.awt.List and java.util.List....")

trotzdem danke für den Verdacht ! ;)

peschmae: an meiner installation ist nichts besonders, wir haben in der schule das "paket" vom jdk1.3.1 bekommen und entwickeln unsere programme unter realj. dort habe ich im projektfenster (für classpath) geschrieben : -classpath .
Das funktioniert auch ....

jede hilfe ist mir willkommen... !

mfg
maceop

peschmae
19-02-2003, 14:04
gehts mit

import java.awt.List;

???

MfG Peschmä

maceop
19-02-2003, 18:53
sorry habs vor lauter "Aufregung" wohl nicht hingeschrieben : ja funzt !

nur würde mich eben trotdzem interessieren warum ich es "explizit" ansprechen muss, anstatt wie "früher" einfach nur List.

btw. danke für den diesen Tipp !

mfg
maceop

peschmae
20-02-2003, 10:57
keine Ahnung, ich habe das selbe Problem an einer bestimmten Stelle beim kompilieren von SWT mit GCJ ...

MfG Peschmä