view.java

来自「实现简单的通信功能,让自己掌握socket编程」· Java 代码 · 共 69 行

JAVA
69
字号
package com.tarena.chat1;import java.awt.*;import java.awt.event.*;import javax.swing.*;public class View extends JFrame implements IView {	private JTextArea chatArea;	private JTextField msgTxt;	private Container container;	private ISender sender;	public View(ISender sender) {		this.sender = sender;		container = getContentPane();		setSize(400, 600);		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);		initGUI();	}	private void initGUI() {		container.setLayout(new BorderLayout());		JLabel lbl = new JLabel("Welcome to my chat room");		container.add(lbl, BorderLayout.NORTH);		chatArea = new JTextArea();		chatArea.setEditable(false);		chatArea.setLineWrap(true);		container.add(new JScrollPane(chatArea), 				BorderLayout.CENTER);		msgTxt = new JTextField(80);		container.add(msgTxt, BorderLayout.SOUTH);		msgTxt.addActionListener(new ActionListener() {			public void actionPerformed(ActionEvent ae) {				String content = msgTxt.getText();				if (content == null || 						content.trim().length() == 0 ||						content.trim().length() > 1000 ||						content.indexOf(Helper.TAG)>=0) {					return;				}				sender.send(content);				msgTxt.setText("");			}		});	}	public void addMsg(IMessage message) {		String user = message.getUser();		String address = message.getAddress();		String content = message.getMsg();		String time = message.getTime();		String msg = user + "(" + address + ") "+time+">" 			+ content + "\n";//		String msg = user + "(" + time + "):  " //		+ content + "\n";		msg = msg + chatArea.getText();		chatArea.setText(msg);	}	public void showMe(String title) {		Dimension screenSize =Toolkit.getDefaultToolkit()			.getScreenSize();		setLocation((int)(screenSize.getWidth()- getWidth()) / 2,				(int)(screenSize.getHeight()- getHeight()) / 2);		setTitle(title);		setVisible(true);	}}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?