Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.theharbychat.harbychat;
- import java.awt.BorderLayout;
- import java.awt.EventQueue;
- import javax.swing.JFrame;
- import javax.swing.JPanel;
- import javax.swing.border.EmptyBorder;
- import java.awt.GridBagLayout;
- import javax.swing.JTextArea;
- import javax.swing.UIManager;
- import java.awt.GridBagConstraints;
- import javax.swing.JButton;
- import java.awt.Insets;
- import java.awt.TexturePaint;
- import javax.swing.JTextField;
- import java.awt.event.ActionListener;
- import java.awt.event.ActionEvent;
- import java.awt.event.KeyAdapter;
- import java.awt.event.KeyEvent;
- public class Client extends JFrame {
- private static final long serialVersionUID = 1L;
- private JPanel contentPane;
- private String username, address;
- private int port;
- private JTextField txtMessage;
- private JTextArea txtrChatbox;
- public Client(String clientName, String clientAddress, int clientPort) {
- try {
- UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
- } catch (Exception e) {
- e.printStackTrace();
- }
- username = clientName;
- address = clientAddress;
- port = clientPort;
- setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- setSize(800, 520);
- setLocationRelativeTo(null);
- setTitle("Chat Client");
- contentPane = new JPanel();
- contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
- setContentPane(contentPane);
- GridBagLayout gbl_contentPane = new GridBagLayout();
- gbl_contentPane.columnWidths = new int[]{60, 690, 30, 10}; //Sum = 800
- gbl_contentPane.rowHeights = new int[]{10, 470, 40}; //Sum = 500
- gbl_contentPane.columnWeights = new double[]{1.0, 1.0};
- gbl_contentPane.rowWeights = new double[]{1.0, Double.MIN_VALUE};
- contentPane.setLayout(gbl_contentPane);
- txtrChatbox = new JTextArea();
- GridBagConstraints gbc_txtrChatbox = new GridBagConstraints();
- gbc_txtrChatbox.insets = new Insets(0, 0, 5, 5);
- gbc_txtrChatbox.fill = GridBagConstraints.BOTH;
- gbc_txtrChatbox.gridx = 1;
- gbc_txtrChatbox.gridy = 1;
- gbc_txtrChatbox.insets = new Insets(0, 5, 0, 0);
- contentPane.add(txtrChatbox, gbc_txtrChatbox);
- txtMessage = new JTextField();
- txtMessage.addKeyListener(new KeyAdapter() {
- public void keyPressed(KeyEvent event) {
- if (event.getKeyCode() == KeyEvent.VK_ENTER) {
- sendMessage(txtMessage.getText());
- }
- }
- });
- GridBagConstraints gbc_txtMessage = new GridBagConstraints();
- gbc_txtMessage.insets = new Insets(0, 0, 0, 5);
- gbc_txtMessage.fill = GridBagConstraints.HORIZONTAL;
- gbc_txtMessage.gridx = 1;
- gbc_txtMessage.gridy = 2;
- contentPane.add(txtMessage, gbc_txtMessage);
- txtMessage.setColumns(10);
- JButton btnSend = new JButton("Send");
- btnSend.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent event) {
- sendMessage(txtMessage.getText());
- }
- });
- GridBagConstraints gbc_btnSend = new GridBagConstraints();
- gbc_btnSend.insets = new Insets(0, 0, 0, 5);
- gbc_btnSend.gridx = 2;
- gbc_btnSend.gridy = 2;
- contentPane.add(btnSend, gbc_btnSend);
- console("has just connected!");
- setVisible(true);
- txtMessage.requestFocus();
- }
- private void console (String message) {
- txtrChatbox.append(username + " " + message + "\n");
- }
- private void sendMessage(String message) {
- txtrChatbox.append(username + ": " + message + "\n");
- txtMessage.setText("");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement