Hallo zusammen,
ich bin neu hier, da ich eben auch erst seit 3 Tagen - zwecks mienes Studiums - mit Java angefangen habe.
Ich habe folgendes Problem:
Ich habe mit GUIs angefangen und eigentlich klappt auch alles ziemlcih gut bis es zur "Ausgabe" kommt, vorranig wenn ich einen Button auf meinem GUI druecke.
1.
dann passiert nämlich gar nichts, außer ne Menge fehler in der Console.
-->Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at EinfacheGui1.actionPerformed(EinfacheGui1.java:27)
....
Und das 2. Problem ist bei einem ChatGui.
Wenn ich auf "senden" klicke, so sollte der Text unten, oben im Fenster stehen.
2.
Ich hatte die Vermutung, dass es etwas mit dem event dispatch thread zu tun hat, aber wie gesagt ich beschäftige mich erst 3 Tage mit Java und denke das es eventuell meine derzeitigen Kentnisse übersteigt.
Ich hoffe ihr könnt mir helfen, die Probleme zu verstehen damit ich weiterkomme.
lg
ich bin neu hier, da ich eben auch erst seit 3 Tagen - zwecks mienes Studiums - mit Java angefangen habe.
Ich habe folgendes Problem:
Ich habe mit GUIs angefangen und eigentlich klappt auch alles ziemlcih gut bis es zur "Ausgabe" kommt, vorranig wenn ich einen Button auf meinem GUI druecke.
1.
Java:
import java.awt.event.*;
import javax.swing.*;
public class EinfacheGui1 implements ActionListener {
JButton button;
public static void main(String[] args) {
EinfacheGui1 gui = new EinfacheGui1();
gui.los();
}
public void los() {
JFrame frame = new JFrame();
JButton button = new JButton("klickt");
button.addActionListener(this);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(button);
frame.setSize(300, 300);
frame.setVisible(true);
}
public void actionPerformed(ActionEvent event) {
button.setText("Anyway...");
}
}
dann passiert nämlich gar nichts, außer ne Menge fehler in der Console.
-->Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at EinfacheGui1.actionPerformed(EinfacheGui1.java:27)
....
Und das 2. Problem ist bei einem ChatGui.
Wenn ich auf "senden" klicke, so sollte der Text unten, oben im Fenster stehen.
2.
Java:
import javax.swing.JFrame;
class frame extends JFrame {
frame() {
setLocation(100,100);
setSize(800,600);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
}
}
import java.awt.event.*;
class Action implements ActionListener {
Print History;
Action() {
History = new Print();
}
public void actionPerformed(ActionEvent e) {
if (e.getActionCommand().equals("send")) {
History.Speichere(Gui.getEingabe());
}
}
}
class Print {
String anzeigeText = "";
void Speichere(String in) {
anzeigeText += in + "\n";
Gui.setText(anzeigeText);
}
String Lade() {
return anzeigeText;
}
}
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.EventQueue;
import java.awt.TextArea;
import javax.swing.JButton;
import javax.swing.JFrame;
public class Gui {
static TextArea text;
static TextArea input;
public static void main(String[] args) {
Runnable startGui = new Runnable() {
@Override
public void run() {
JFrame Fenster = new JFrame("ChatfensterVersuch");
Action listener = new Action();
Fenster.setVisible(true);
Fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Fenster.setLayout(new BorderLayout());
Container unten = new Container();
unten.setLayout(new BorderLayout());
JButton senden = new JButton("senden");
senden.addActionListener(listener);
senden.setActionCommand("send");
TextArea text = new TextArea("Hi du");
TextArea input = new TextArea("Hi");
unten.add(input, BorderLayout.CENTER);
unten.add(senden, BorderLayout.EAST);
Fenster.add(text, BorderLayout.CENTER);
Fenster.add(unten, BorderLayout.SOUTH);
}
};
EventQueue.invokeLater(startGui);
}
static void setText(String in) {
text.setText(in);
}
static String getEingabe() {
return input.getText();
}
}
Ich hatte die Vermutung, dass es etwas mit dem event dispatch thread zu tun hat, aber wie gesagt ich beschäftige mich erst 3 Tage mit Java und denke das es eventuell meine derzeitigen Kentnisse übersteigt.
Ich hoffe ihr könnt mir helfen, die Probleme zu verstehen damit ich weiterkomme.
lg