Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package app;
- import java.awt.Dimension;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import java.awt.event.WindowEvent;
- import java.awt.event.WindowListener;
- import javax.swing.DefaultListModel;
- import javax.swing.JButton;
- import javax.swing.JList;
- import javax.swing.JPanel;
- import javax.swing.JPasswordField;
- import javax.swing.JScrollPane;
- import javax.swing.JTextArea;
- import javax.swing.JTextField;
- import app.Client;
- import data.Message;
- public class MainFrame extends javax.swing.JFrame{
- public Client client;
- public int port;
- public String serverAddr, username, password;
- public Thread clientThread;
- //UI Variables
- DefaultListModel model;
- JPanel p;
- JButton signup,login,send,connect;
- JPasswordField passwordField;
- JTextField userNameField,messageField;
- JTextArea mainArea;
- JScrollPane scrollPaneText,scrollPaneOnline,scrollPaneChatrooms;
- JList list,list2;
- private void initialize(){
- p = new JPanel();
- signup = new JButton("Sign-Up");
- login = new JButton("Login");
- send = new JButton("send");
- connect = new JButton("connect");
- passwordField = new JPasswordField("password",10);
- userNameField = new JTextField("username",10);
- messageField = new JTextField("Input message here",37);
- mainArea = new JTextArea("",10,20);
- scrollPaneText = new JScrollPane(mainArea);
- scrollPaneText.setPreferredSize(new Dimension(315, 150));
- list = new JList();
- list.setModel((model = new DefaultListModel()));
- model.addElement("All");
- list2 = new JList();
- list2.setModel((model = new DefaultListModel()));
- mainArea.setEditable(false);
- scrollPaneOnline = new JScrollPane(list);
- scrollPaneOnline.setPreferredSize(new Dimension(75, 150));
- scrollPaneChatrooms = new JScrollPane(list2);
- scrollPaneChatrooms.setPreferredSize(new Dimension(75, 150));
- connect.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent evt) {
- connectToServer(evt);
- }
- });
- signup.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent evt) {
- signUp(evt);
- }
- });
- login.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent evt) {
- logIn(evt);
- }
- });
- send.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent evt) {
- sendMessage(evt);
- }
- });
- }
- private void logIn(ActionEvent evt){
- username = userNameField.getText();
- password = passwordField.getText();
- if(!username.isEmpty() && !password.isEmpty()){
- client.send(new Message("login", username, password, "SERVER"));
- }
- }
- private void sendMessage(ActionEvent evt){
- String msg = messageField.getText();
- String target = list.getSelectedValue().toString();
- if(!msg.isEmpty() && !target.isEmpty()){
- messageField.setText("");
- client.send(new Message("message", username, msg, target));
- }
- }
- private void signUp(ActionEvent evt){
- username = userNameField.getText();
- password = passwordField.getText();
- if(!username.isEmpty() && !password.isEmpty()){
- client.send(new Message("signup", username, password, "SERVER"));
- }
- }
- private void connectToServer(ActionEvent evt){
- try{
- client = new Client(this);
- clientThread = new Thread(client);
- clientThread.start();
- client.send(new Message("test", "testUser", "testContent", "SERVER"));
- }
- catch(Exception ex){
- mainArea.append("[Application > Me] : Server not found\n");
- }
- }
- public MainFrame() {
- super("Messenger App!");
- this.addWindowListener(new WindowListener() {
- @Override public void windowOpened(WindowEvent e) {}
- @Override public void windowClosing(WindowEvent e) { try{ client.send(new Message("message", username, "#remove", "SERVER")); clientThread.stop(); }catch(Exception ex){} }
- @Override public void windowClosed(WindowEvent e) {}
- @Override public void windowIconified(WindowEvent e) {}
- @Override public void windowDeiconified(WindowEvent e) {}
- @Override public void windowActivated(WindowEvent e) {}
- @Override public void windowDeactivated(WindowEvent e) {}
- });
- setSize(500,260);
- setResizable(false);
- initialize();
- p.add(userNameField);
- p.add(passwordField);
- p.add(connect);
- p.add(signup);
- p.add(login);
- p.add(scrollPaneOnline);
- p.add(scrollPaneChatrooms);
- p.add(scrollPaneText);
- p.add(messageField);
- p.add(send);
- add(p);
- setVisible(true);
- }
- public static void main(String[] args){
- new MainFrame();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement