Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import javax.swing.*;
- import java.awt.*;
- import java.awt.event.*;
- public class GUIForServer extends JFrame implements ActionListener, WindowListener
- {
- private JButton coexist;
- private JLabel question;
- private JTextArea messageArea, messageEvent;
- private JTextField portNumber;
- private JRadioButton tcp, udp;
- private Server server;
- private UDPServer udpserver;
- public GUIForServer(int port)
- {
- super("Messaging Server");
- server = null;
- JPanel north = new JPanel();
- north.add(new JLabel("Port number: "));
- portNumber = new JTextField(" " + port);
- north.add(portNumber);
- coexist = new JButton("Start Server");
- question = new JLabel("Please choose a connection type: ");
- tcp = new JRadioButton("TCP");
- udp = new JRadioButton("UDP");
- coexist.addActionListener(this);
- north.add(coexist);
- north.add(question);
- north.add(tcp);
- north.add(udp);
- add(north, BorderLayout.NORTH);
- JPanel center = new JPanel(new GridLayout(2,1));
- messageArea = new JTextArea(70,70);
- messageArea.setEditable(false);
- chatTextArea("Text area of messages that have been sent: \n");
- center.add(new JScrollPane(messageArea));
- messageEvent = new JTextArea(70,70);
- messageEvent.setEditable(false);
- eventTextArea("Log of events that has happened: \n");
- center.add(new JScrollPane(messageEvent));
- add(center);
- addWindowListener(this);
- setSize(600,600);
- setVisible(true);
- }
- public void chatTextArea(String str)
- {
- messageArea.append(str);
- messageArea.setCaretPosition(messageArea.getText().length() - 1);
- }
- public void eventTextArea(String str)
- {
- messageEvent.append(str);
- messageEvent.setCaretPosition(messageEvent.getText().length() - 1);
- }
- public void actionPerformed(ActionEvent ae)
- {
- if(tcp.isSelected())
- {
- if(server != null)
- {
- server.stop();
- server = null;
- portNumber.setEditable(true);
- coexist.setText("Start Server");
- return;
- }
- int port;
- try
- {
- port = Integer.parseInt(portNumber.getText().trim());
- }
- catch(Exception e)
- {
- eventTextArea("Invalid port number!");
- return;
- }
- server = new Server(port, this);
- new ServerThread().start();
- coexist.setText("Stop Server");
- portNumber.setEditable(false);
- }
- if(udp.isSelected())
- {
- if(udpserver != null)
- {
- portNumber.setEditable(true);
- coexist.setText("Start Server");
- return;
- }
- int port;
- try
- {
- port = Integer.parseInt(portNumber.getText().trim());
- }
- catch(Exception e)
- {
- eventTextArea("Invalid port number!");
- return;
- }
- udpserver = new UDPServer(this);
- //udpserver.main();
- coexist.setText("Stop Server");
- portNumber.setEditable(false);
- }
- }
- public static void main(String[] arg)
- {
- new GUIForServer(7257);
- }
- public void windowClosing(WindowEvent we)
- {
- if(server != null) {
- try {
- server.stop();
- }
- catch(Exception e) {
- }
- server = null;
- }
- dispose();
- System.exit(0);
- }
- public void windowClosed(WindowEvent we)
- {
- }
- public void windowOpened(WindowEvent we)
- {
- }
- public void windowIconified(WindowEvent we)
- {
- }
- public void windowDeiconified(WindowEvent we)
- {
- }
- public void windowActivated(WindowEvent we)
- {
- }
- public void windowDeactivated(WindowEvent we)
- {
- }
- public class ServerThread extends Thread
- {
- public void run()
- {
- server.start();
- coexist.setText("Start Server");
- portNumber.setEditable(true);
- eventTextArea("The server has crashed! \n");
- server = null;
- }
- }
- /*public class UDPServerThread extends Thread
- {
- public void run(){
- udpserver.start();
- coexist.setText("Start Server");
- portNumber.setEditable(true);
- eventTextArea("The server has crashed! \n");
- udpserver = null;
- }
- }
- */
- }
Advertisement
Add Comment
Please, Sign In to add comment