Hi!
Hmm bin mir zwar nicht sicher, aber ich verstehe nicht warum
deine Methode als static deklariert ist. Mach das static mal
raus und schau ob es geht
klar, der compiler geht durch, aber wenn ich dann wenn ichs
mit " java" öffne kommt das:
Exception in thread „main“ java.lang.NullPointerException
NullPointerException bedeutet dass du auf ein Objekt zugreifen
möchtest für welches keinen zeiger bekannt ist.
at java.awt.Container.addImpl(Unknown source)
at java.awt.Container.add(Unknown source)
at ***.(***.java:34)
at ***.main(***.java:55)
tja, was heißt das?
also ich habe alle objekte (buttons, textfields, etc.) am
anfang der klasse außerhalb jeder methode mit static
deklariert, weil er sonst auch ne ffehlermeldung bringt. hat
das was damit zu tun?
Statische Methoden werden mit der Klassenbezeichnung direkt
aufgerufen. z.B. System.out.println
Wenn du nur statische Methoden hast, brauchst du für diese
Klasse keinen Konstruktor. Das bedeutet dass du keine Instanz
dieser Klasse hast. Da gibt’s denn auch kein „this“. Deshalb
sollten deine Attribute auch statisch sein.
Du hast eine Fehlermeldung mit „main“, das könnte also darauf
schliessen.
Schick mir doch mal die ganze Klasse per mail, wenn du
möchtest, und dann schau ich mal. Damit der Frust mal aufhört
und du weiter kommst, gelle?
also damit wir schneller vorankommen sollten ihn, wenn ihn schon jemand ganz sieht, jeder sehen. also hier der code: (so ungern ich das auch tue aber mir bleibt keine andere wahl:smile:
**import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class oli extends JFrame implements ActionListener
{ // anfang klasse oli
private static JLabel jlabel0, jlabel1; //Objekte
private static JTextArea jtextarea0;
private static JButton jbutton0; //Objekte ende
oli(String title) // anfang konstruktor
{
super(title);
try // LookAndFeel erzwingen
{
UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName()); //Platform schreibtMAN mitEINEM t
}
catch(Exception exc)
{
System.out.print(„Fehler bei UIManager.getCrosblablabla ()); \n“);
}
JPanel jpanel0 = new JPanel();
jpanel0.setLayout(new GridLayout(4, 1, 5, 5));
setContentPane(jpanel0); // ZELLEN && GridLayout
JPanel zelle0 = new JPanel();
JPanel zelle1 = new JPanel();
JPanel zelle2 = new JPanel(); // implementierung der objekte in die
JPanel zelle3 = new JPanel(); //
zelle0.add(jlabel0); // Zellen.
zelle1.add(jlabel1);
zelle2.add(jtextarea0);
zelle3.add(jbutton0);
// Die „ADDUNG“ der Action-Listener.
jbutton0.addActionListener(this); //…
} // ende konstruktor
public void actionPerformed(ActionEvent e) // anfang funktionen der objekte
{
String quelle = e.getActionCommand();
if (quelle.equals(„SENDEN!“))
{
jlabel1.setText(jtextarea0.getText());
}
} // ende funktionen der objekte
public static void main(String [] xxxyy) // anfang main
{
oli fenster = new oli(„chat v 0.11beta“);
fenster.pack();
fenster.show();
jlabel0.setText(„mein 1st chat… :“);
jlabel1.setText(„dynamisches Textfeld“);
jbutton0.setText(„SENDEN!“);
System.gc();
} // ende main
} // ende klasse oli**
ok, is n bissle unübersichtlich, aber egal.
bitte helft mir.
cu