Anonymer Adapter bei Applet
-
Hallo, ist es irgendwie Möglich einen Anonymer Adapter bei Applets zu verwenden ohne eine NullException zu erhalten.
Verwende den JBuilder in dem man die Verwendung der Ereignisbehandlung schön im Projekt definieren kann.
Kann zwischen Standart und Anonym wählen darunter noch mal zwischen Public, Protectet, Private, Package
Anonym - Package geht nicht, kann mir wer helfen, komme urspünglich aus der C++ Welt und das ist alles ein bischen neu für mich!!!!
Möchte nämlich bei meinem Applet nur eine *.class haben!!!!
DANKE in Voraus.
-
Was ist mit anonymer Adapter gemeint? Eine anonyme Klasse zur Ereignisbehandlung?
PS: Es ist doch klar, dass er nicht im package-scope ist!
-
Griffin schrieb:
Was ist mit anonymer Adapter gemeint? Eine anonyme Klasse zur Ereignisbehandlung?
PS: Es ist doch klar, dass er nicht im package-scope ist!
Also ich versuche es mal zu formulieren:
Wenn ich Standart-adapter einstelle macht mir der JBuilder für jeden "addActionListener" eine neue Klasse, geht zwar im Applet, hat aber den Nachteil das ich viele *.class Dateien mitliefern muss.
Nehme ich anonymer Adapter, macht er die Sache inline, also nur eine *.class Datei, Problem ist dann bekomme ich aber eine NullPointerException.
-
Ich hab noch nicht mit JBuilder gearbeitet, kann mir aber schon vorstellen was er macht.
Trotzdem zeig mal etwas Code und vor allem wie du die NullPointerException bekommst!
Bei mir haben anonyme Klassen fürs Eventhandling eigentlich immer ohne Problem geklappt!
-
Hier ein Code-Ausschnitt wie es JBuilder mit anonymer Klasse macht,
mit AppletViewer kommt übrigens kein Fehler nur in Browser.Siehe auch Kommentar "ich mache Probleme"
private void jbInit() throws Exception { this.setLayout(null); btnTest.setLabel("test"); btnTest.setBounds(new Rectangle(23, 15, 69, 23)); lblStatus.setForeground(Color.red); lblStatus.setText(""); lblStatus.setBounds(new Rectangle(1, 284, 398, 15)); txtAnswer.setText(""); txtAnswer.setBounds(new Rectangle(81, 144, 226, 139)); txtRequest.setText(""); txtRequest.setBounds(new Rectangle(76, 42, 232, 90)); btnTest.addActionListener(new ActionListener() { // ich mache Probleme public void actionPerformed(ActionEvent e) { btnTest_actionPerformed(e); } }); this.add(lblStatus); .............. public void btnTest_actionPerformed(ActionEvent e) { try { AServer = new Socket(ServerIp, Integer.parseInt(ServerPort)); AServer.setSoTimeout(500); } catch (Exception ex) { lblStatus.setText("Fehler: " + ex.getMessage()); } .............
-
Sieht soweit aber okay aus!
Liegt es vielleicht an deinem AServer?Die genaue Fehlermeldung wäre sicher auhc interessant
-
Denke nicht, wenn ich über Standard-Adapter denn gleichen Code nehme geht es Problemlos, gibt nur einen Fehler wenn ich die Ereignisse inline nutze.
Ausserdem, selbst wenn ich die Ereignis-Methode leer lasse, kommt der Fehler bei Anonym.
-
KEINER MEHR NE IDEE