diff --git a/src/main/java/ChatClient.java b/src/main/java/ChatClient.java index c4f2737..8d0b776 100644 --- a/src/main/java/ChatClient.java +++ b/src/main/java/ChatClient.java @@ -1,12 +1,76 @@ import javax.swing.*; +import java.awt.*; +import java.awt.event.KeyEvent; +import java.awt.event.KeyListener; +import java.io.IOException; +import java.net.Socket; -public class ChatClient { +public class ChatClient extends JFrame implements KeyListener { private String address; - public ChatClient() { + private int port; + private Socket connectionToServer; + + // GUI + private JTextArea outputTextArea; + private JTextField inputTextField; + + public ChatClient(int port) { + super("Chat"); + this.port = port; address = JOptionPane.showInputDialog("bitte IP-Adresse"); + + if (address != null) { + receiveMessages(); + } + } + + private void initGui() { + outputTextArea = new JTextArea(); + outputTextArea.setEditable(false); + outputTextArea.setBorder(BorderFactory.createTitledBorder("Chat")); + + inputTextField = new JTextField(); + inputTextField.setBorder(BorderFactory.createTitledBorder("Nachricht eingeben")); + inputTextField.addKeyListener(this); + + add(outputTextArea, BorderLayout.CENTER); + add(inputTextField, BorderLayout.SOUTH); + + setVisible(true); + setSize(800, 600); + setDefaultCloseOperation(EXIT_ON_CLOSE); + } + private void receiveMessages() { + try { + connectionToServer = new Socket(address, port); + initGui(); + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Verbindung zum Server \"" + address + "\" fehlgeschlagen."); + } + } + + @Override + public void keyTyped(KeyEvent e) { + + } + + @Override + public void keyPressed(KeyEvent e) { + if (e.getKeyCode() == KeyEvent.VK_ENTER) { + String message = inputTextField.getText(); + if (!message.isEmpty()) { + // Senden die Nachricht an Server, wenn der erstellt wird + inputTextField.setText(""); + } + } + } + + @Override + public void keyReleased(KeyEvent e) { + } public static void main(String[] args) { - new ChatClient(); + new ChatClient(3141); } -} \ No newline at end of file +}