Hallo erstmal an alle!
Zusammen in einer Gruppe soll ich die GUI für ein Chat-Programm erstellen, welches als Applikation realisiert werden soll.
Leider kommen wir mit unserem Anfängerwissen langsam nicht mehr weiter.
Bisher haben wir das folgende "fabriziert":
Das sieht dann folgendermaßen aus:
Unsere Probleme sind zum einen:
wie bekomme ich in die Buttons, die Funktionen, so dass sie auch irgendwie an unseren Server übermittelt werden, also, dass ich nicht mit mir selbst "chatte"?
und auch, wie wir es schaffen, dass erkannt wird wie die Person da heißt, die was einträgt und diese dann "einloggt" wenn auf den einloggen Button gedrückt wurde?
auf der anderen Seite haben wir es noch nicht geschafft, die (noch) Pseudo-Eingaben so darzustellen, dass sie einem Scrollbalken angezeigt werden.
Außerdem wär es schön, wenn man es irgendwie schaffen könnte, dass der Text in den Standard-Feldern verschwindet wenn man hineinklickt, also zum Beispiel "Nickname" und soweiter... Geht das?
Wir sind für jeden Tipp oder jede Erklärung dankbar, denn das Prinzip ist uns noch nicht wirklich klar geworden :cry:
Gruß Aurora
(den Chat auf der Kaffee und Kuchen Seite haben wir gesehen, aber da bekommen wir immer seltsame Fehler bei der Compillierung, die bekommen wir nicht weg... )
Zusammen in einer Gruppe soll ich die GUI für ein Chat-Programm erstellen, welches als Applikation realisiert werden soll.
Leider kommen wir mit unserem Anfängerwissen langsam nicht mehr weiter.
Bisher haben wir das folgende "fabriziert":
Code:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class chat {
static JFrame hauptrahmen;
static JTextField name;
static JTextArea nachricht;
static JTextField text;
static JScrollPane scrollen;
public static void main(String[] args) {
hauptrahmen = new JFrame("U N I - C H A T");
hauptrahmen.setSize(700, 500);
JPanel box = new JPanel(new GridBagLayout());
GridBagConstraints c = new GridBagConstraints();
name = new JTextField ("Name, Vorname", 20);
JTextField nickName = new JTextField ("Nickname",10);
JButton login = new JButton ("LOGIN");
nachricht = new JTextArea("UNI CHAT \r\n",10, 20);
nachricht.setEditable(false);
text = new JTextField("Hier Text eingeben", 20);
JButton senden = new JButton("Senden");
senden.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e1) {
nachricht.append(text.getText());
nachricht.append("\r\n");
}
});
c.gridx = 0;
c.gridy = 0;
c.insets = new Insets(0,10,10,0);
box.add(name,c);
c.gridx = 1;
c.gridy = 0;
c.insets = new Insets(0,10,10,0);
box.add(nickName,c);
c.gridx = 2;
c.gridy = 0;
c.insets = new Insets(0,10,10,0);
box.add(login,c);
c.gridx = 0;
c.gridy = 1;
c.insets = new Insets(10,10,10,10);
box.add(nachricht,c);
c.gridx = 0;
c.gridy = 2;
box.add(text,c);
c.gridx = 1;
c.gridy = 2;
box.add(senden,c);
/* scrollen = new JScrollPane();
scrollen.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
scrollen.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
scrollen.getViewport().setBackground(SystemColor.control);
scrollen.setBounds(0, 0, 300, 200);
nachricht.add(scrollen);
*/
hauptrahmen.getContentPane().add(box);
hauptrahmen.setVisible(true);
}
}
Das sieht dann folgendermaßen aus:

Unsere Probleme sind zum einen:
wie bekomme ich in die Buttons, die Funktionen, so dass sie auch irgendwie an unseren Server übermittelt werden, also, dass ich nicht mit mir selbst "chatte"?
und auch, wie wir es schaffen, dass erkannt wird wie die Person da heißt, die was einträgt und diese dann "einloggt" wenn auf den einloggen Button gedrückt wurde?
auf der anderen Seite haben wir es noch nicht geschafft, die (noch) Pseudo-Eingaben so darzustellen, dass sie einem Scrollbalken angezeigt werden.
Außerdem wär es schön, wenn man es irgendwie schaffen könnte, dass der Text in den Standard-Feldern verschwindet wenn man hineinklickt, also zum Beispiel "Nickname" und soweiter... Geht das?
Wir sind für jeden Tipp oder jede Erklärung dankbar, denn das Prinzip ist uns noch nicht wirklich klar geworden :cry:
Gruß Aurora
(den Chat auf der Kaffee und Kuchen Seite haben wir gesehen, aber da bekommen wir immer seltsame Fehler bei der Compillierung, die bekommen wir nicht weg... )