Kommentare in Client1
This commit is contained in:
parent
8c44d023d3
commit
a1fc2b1fb6
1 changed files with 73 additions and 12 deletions
|
@ -3,13 +3,10 @@ package client;
|
|||
import java.awt.BorderLayout;
|
||||
import java.awt.EventQueue;
|
||||
import java.awt.TextArea;
|
||||
|
||||
import javax.swing.JFrame;
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.border.EmptyBorder;
|
||||
|
||||
import utils.Message;
|
||||
|
||||
import javax.swing.JTextField;
|
||||
import javax.swing.JButton;
|
||||
import javax.swing.JTextArea;
|
||||
|
@ -25,8 +22,20 @@ import java.util.Date;
|
|||
import java.util.Scanner;
|
||||
import java.awt.event.ActionEvent;
|
||||
|
||||
/**
|
||||
* Hauptklasse des Clients
|
||||
* @version 0.1.3
|
||||
* @author berdan
|
||||
*/
|
||||
|
||||
|
||||
public class Client1 extends JFrame {
|
||||
|
||||
|
||||
/*
|
||||
Hier werden Objekte und Variablen deklariert, damit diese
|
||||
in allen Methoden genutzt werden können.
|
||||
*/
|
||||
private static JPanel contentPane;
|
||||
JTextField txtMessage;
|
||||
private static JTextField txtUsername;
|
||||
|
@ -41,6 +50,11 @@ public class Client1 extends JFrame {
|
|||
public static JTextArea textArea = new JTextArea();
|
||||
public static int k = 0;
|
||||
|
||||
/*
|
||||
In der main Methode wird das GUI erstellt und die
|
||||
start() Methode aufgerufen.
|
||||
*/
|
||||
|
||||
public static void main(String[] args) {
|
||||
t1 = new Client1();
|
||||
EventQueue.invokeLater(new Runnable() {
|
||||
|
@ -65,7 +79,13 @@ public class Client1 extends JFrame {
|
|||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
In der Methode Client1() wird das GUI
|
||||
und die Befehle die durch einen Click des
|
||||
Button's ausgelöst werden festgelegt
|
||||
*/
|
||||
|
||||
public Client1() {
|
||||
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
||||
|
@ -86,6 +106,17 @@ public class Client1 extends JFrame {
|
|||
txtUsername.setBounds(20, 11, 86, 20);
|
||||
contentPane.add(txtUsername);
|
||||
txtUsername.setColumns(10);
|
||||
|
||||
|
||||
/*
|
||||
Der Button "Send" nimmt die aktuelle Nachricht,
|
||||
welche im Textfeld "message" geschrieben wurde und
|
||||
schreibt diese als ein Message-Objekt in den Output-Stream
|
||||
an den Server, falls die Socket bereits verbunden ist.
|
||||
|
||||
Falls die Nachricht "exit" sein sollte, wird
|
||||
die GUI beendet.
|
||||
*/
|
||||
|
||||
JButton btnSend = new JButton("Send");
|
||||
btnSend.addActionListener(new ActionListener() {
|
||||
|
@ -129,13 +160,26 @@ public class Client1 extends JFrame {
|
|||
btnSend.setBounds(264, 229, 79, 23);
|
||||
contentPane.add(btnSend);
|
||||
|
||||
// HIER PUBLIC GEMACHT
|
||||
/*
|
||||
Hier wird die textArea, auf welcher der Text ausgegeben wird
|
||||
initialisiert
|
||||
|
||||
*/
|
||||
textArea = new JTextArea(currentText);
|
||||
textArea.setLineWrap(true);
|
||||
textArea.setForeground(Color.WHITE);
|
||||
textArea.setBackground(Color.LIGHT_GRAY);
|
||||
textArea.setBounds(20, 42, 323, 176);
|
||||
contentPane.add(textArea);
|
||||
|
||||
/*
|
||||
Der Start Button sorgt sorgt dafür, dass der Username
|
||||
festgesetzt wird, wodurch er nicht veränderlich ist.
|
||||
Außerdem wird die globale Variabel j von 0 auf 1 gestzt,
|
||||
wodurch die start-Methode weiß, dass sie eine Verbindung
|
||||
aufbauen soll.
|
||||
|
||||
*/
|
||||
|
||||
JButton btnStart = new JButton("Start");
|
||||
btnStart.addActionListener(new ActionListener() {
|
||||
|
@ -154,21 +198,38 @@ public class Client1 extends JFrame {
|
|||
|
||||
}
|
||||
|
||||
/*
|
||||
In der Print-Methode wird der neue Text (also eine neue Nachricht)
|
||||
auf die textArea abgebildet.
|
||||
*/
|
||||
|
||||
|
||||
|
||||
|
||||
public static void print(JTextArea textArea, String asd){
|
||||
currentText = asd + "\n" + currentText;
|
||||
public static void print(JTextArea textArea, String neuerText){
|
||||
currentText = neuerText + "\n" + currentText;
|
||||
|
||||
textArea.setText(currentText);
|
||||
//System.out.println("ES FUNKTIONIERT");
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
Die start-Methode wartet, bis die Variable j durch Klicken des Start
|
||||
Buttons auf 1 gesetzt wird, erst dann beginnt die eigentliche
|
||||
Methode.
|
||||
Die textArea wird nochmal aufgebaut, da sie in dieser Methode
|
||||
aktualisert werden muss.
|
||||
|
||||
Es wird dann eine Verbindung zum Socket über den Port
|
||||
1236 aufgebaut. Sollte dies nicht Möglich sein, wird die
|
||||
Fehlermeldung in der GUI ausgegeben, sodass der Nutzer weiß,
|
||||
dass keine Vebrindung möglich ist.
|
||||
|
||||
Es wird im Sekundentakt nach einer neuen Verbindung gesucht.
|
||||
|
||||
*/
|
||||
|
||||
|
||||
public static void start() throws IOException, ClassNotFoundException{
|
||||
//JTextArea textArea = new JTextArea("BERDAN");
|
||||
|
||||
|
||||
while(j==0){
|
||||
try {
|
||||
Thread.sleep(10);
|
||||
|
|
Loading…
Reference in a new issue