package ch.epfl.lca.sc250.gui; import java.awt.BorderLayout; import java.awt.GridLayout; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTextArea; /** * This Class dispalys messages received from the Server. E.g. Server Hello etc... <br> * Call appendText(String) to update the GUI * * @author Christophe Trefois */ public class CnFrameTCP extends CnFrame { /** * Generated serialID by Eclipse */ private static final long serialVersionUID = 4899514760671051872L; /** * The TextArea used to display the messages */ private JTextArea textArea; /** * Constructs a CnFrameTCP Instance with title windowTitle * @param windowTitle */ public CnFrameTCP(String windowTitle) { super(windowTitle); setSize(500, 250); JPanel centerPanel = new JPanel(); textArea = new JTextArea(); textArea.setEditable(false); JScrollPane scrollPane = new JScrollPane(textArea); centerPanel.setLayout(new GridLayout(1, 1)); centerPanel.add(scrollPane); // put the centerPanel to the Center getContentPane().add(centerPanel, BorderLayout.CENTER); // Make this frame visible setVisible(true); } /** * Append Text to the textArea * @param textToAppend */ public void appendText(String textToAppend) { textArea.append(super.getCurrentTime() + " : " + textToAppend); textArea.setCaretPosition(textArea.getText().length()); } /** * Clear the TextArea. * */ public void clearTextArea() { textArea.replaceRange("", 0, textArea.getText().length()); } }