Package org.jgroups.demos

Source Code of org.jgroups.demos.Chat

package org.jgroups.demos;

import java.awt.Frame;
import java.awt.Label;
import java.awt.Rectangle;
import java.awt.TextArea;
import java.awt.TextField;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;

import javax.swing.JButton;

public class Chat extends ChatCore implements MouseListener, WindowListener {

  Frame mainFrame;

  TextArea txtArea;

  TextField txtField;

  Label csLabel;

  JButton leaveButton;

  JButton sendButton;

  JButton clearButton;

  public Chat(String props) {
    super(props);
  }

  public static void main(String[] args) {
    String props = null;

    for (int i = 0; i < args.length; i++) {
      if ("-props".equals(args[i])) {
        props = args[++i];
        continue;
      }
      help();
      return;
    }

    Chat instance = new Chat(props);
    instance.start();
  }

  void post(String msg) {
    txtArea.append(msg);
  }

  static void help() {
    System.out.println("Chat [-help] [-props <properties>]");
  }

  public void start() {
    mainFrame = new Frame();
    mainFrame.setLayout(null);
    mainFrame.setSize(600, 507);
    mainFrame.addWindowListener(this);

    txtArea = new TextArea();
    txtArea.setBounds(12, 36, 550, 348);
    txtArea.setEditable(false);
    mainFrame.add(txtArea);

    txtField = new TextField();
    txtField.setBounds(100, 392, 400, 30);
    mainFrame.add(txtField);

    csLabel = new Label("Send:");
    csLabel.setBounds(12, 392, 85, 30);
    mainFrame.add(csLabel);

    leaveButton = new JButton("Leave");
    leaveButton.setBounds(12, 428, 150, 30);
    leaveButton.addMouseListener(this);
    mainFrame.add(leaveButton);

    sendButton = new JButton("Send");
    sendButton.setBounds(182, 428, 150, 30);
    sendButton.addMouseListener(this);
    mainFrame.add(sendButton);

    clearButton = new JButton("Clear");
    clearButton.setBounds(340, 428, 150, 30);
    clearButton.addMouseListener(this);
    mainFrame.add(clearButton);

    link();

    mainFrame.pack();
    mainFrame.setLocation(15, 25);
    mainFrame.setBounds(new Rectangle(580, 480));
    mainFrame.setVisible(true);
    mainFrame.show();

    dumpHist();

  }

  public void mouseClicked(MouseEvent e) {
    Object obj = e.getSource();

    if (obj == leaveButton) {
      handleLeave();
      System.exit(0);
    } else if (obj == sendButton)
      handleSend(txtField.getText());
    else if (obj == clearButton)
      txtArea.setText("");
  }

  public void mouseEntered(MouseEvent e) {
  }

  public void mouseExited(MouseEvent e) {
  }

  public void mousePressed(MouseEvent e) {
  }

  public void mouseReleased(MouseEvent e) {
  }

  public void windowActivated(WindowEvent e) {
  }

  public void windowClosed(WindowEvent e) {
  }

  public void windowClosing(WindowEvent e) {
    handleLeave();
    System.exit(0);
  }

  public void windowDeactivated(WindowEvent e) {
  }

  public void windowDeiconified(WindowEvent e) {
  }

  public void windowIconified(WindowEvent e) {
  }

  public void windowOpened(WindowEvent e) {
  }

}
TOP

Related Classes of org.jgroups.demos.Chat

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.