Exemplo n.º 1
0
  @Override
  public void update(Observable arg0, Object arg1) {
    if (arg1 instanceof String) {
      String message = arg1.toString();
      if (message.startsWith("Forwarding: ")) {
        ForwardButton.setText("Stop Forwarding");
        SetChannelButton.setEnabled(false);
        BlockButton.setEnabled(false);
        Send.setEnabled(false);
        MessageInput.setEnabled(false);
        MessageDisplay.setEnabled(false);
        Availability.setEnabled(false);
      } else if (message.startsWith("End Forwarding:")) {
        ForwardButton.setText("Forward");
        SetChannelButton.setEnabled(true);
        BlockButton.setEnabled(true);
        Send.setEnabled(true);
        MessageInput.setEnabled(true);
        MessageDisplay.setEnabled(true);
        Availability.setEnabled(true);
      } else if (message.startsWith("#send")) {
        try {
          client.sendToServer(message.substring(6));
        } catch (IOException e) {
          e.printStackTrace();
        }
        return;
      } else if (message.startsWith("#linedraw")) {
        drawPad.updateDraw(message);
        return;
      } else if (message.startsWith("Login Error:")) {
        java.awt.EventQueue.invokeLater(
            new Runnable() {
              public void run() {
                chatFrame.setVisible(false);
                LoginGUI login = new LoginGUI(true);
              }
            });
      }

      if (!message.substring(message.length() - 1, message.length()).equals("\n")) message += "\n";

      // Update UI display safely
      final String msg = message;
      SwingUtilities.invokeLater(
          new Runnable() {
            public void run() {
              MessageDisplay.append(msg);
            }
          });
    }
  }