⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 loginframe.java

📁 基于C/S的JAVA语言开发的聊天程序
💻 JAVA
字号:
import javax.swing.*;
import javax.swing.border.*;
import java.awt.*;
import java.awt.event.*;

public class LoginFrame extends JFrame
{
	Border border1;
	JPanel panel1 = new JPanel();
	JPanel panel2 = new JPanel();
	JPanel panel3 = new JPanel();
	JPanel panel4 = new JPanel();
	JButton ButtonOK = new JButton();
	JLabel jLabel1 = new JLabel();
	JTextField jTextField1 = new JTextField();

	ChatClinet clinet;

	public LoginFrame(ChatClinet clinet)
	{
		this.clinet = clinet;
		this.enableEvents(AWTEvent.WINDOW_EVENT_MASK);
		
		//创建一个Frame
		try
		{
			this.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
			this.setResizable(false);
			this.setSize(new Dimension(240,135));
			this.setTitle("User Name");
			this.getContentPane().setLayout(new BorderLayout());
			
			border1 = BorderFactory.createEmptyBorder(5,5,5,5);
			
			panel1.setLayout(new BorderLayout());
			
			panel2.setMaximumSize(new Dimension(32767, 40));
			panel2.setMinimumSize(new Dimension(10, 40));
			panel2.setPreferredSize(new Dimension(10, 40));
			panel2.setLayout(new FlowLayout());
			
			panel3.setBorder(border1);
			panel3.setMaximumSize(new Dimension(32767, 30));
			panel3.setMinimumSize(new Dimension(10, 30));
			panel3.setPreferredSize(new Dimension(10, 30));
			panel3.setLayout(new BorderLayout());
			
			panel4.setBorder(border1);
			panel4.setLayout(new BorderLayout());
			
			ButtonOK.setMaximumSize(new Dimension(70, 30));
			ButtonOK.setMinimumSize(new Dimension(70, 30));
			ButtonOK.setPreferredSize(new Dimension(70, 30));
			ButtonOK.setMnemonic('O');
			ButtonOK.setText("OK");
			ButtonOK.addActionListener(new
				java.awt.event.ActionListener()
				{
					public void actionPerformed(ActionEvent e)
					{
						ButtonOK_actionPerformed(e);
					}
				}
			);
						
			jLabel1.setBorder(border1);
			jLabel1.setText("Please enter user name");
			
			panel3.add(jLabel1, BorderLayout.CENTER);
			panel1.add(panel3, BorderLayout.NORTH);
			panel4.add(jTextField1, BorderLayout.CENTER);
			panel1.add(panel4, BorderLayout.CENTER);
			panel2.add(ButtonOK, null);
			this.getContentPane().add(panel1, BorderLayout.CENTER);
			this.getContentPane().add(panel2, BorderLayout.SOUTH);			
		}
		catch(Exception e)
		{
			e.printStackTrace();
		}
	}
	
	//响应确定键的输入
	void ButtonOK_actionPerformed(ActionEvent e)
	{
		checkInput();
	}
	
	//响应关闭按钮的输入
	protected void processWindowEvent(WindowEvent e)
	{
		super.processWindowEvent(e);
		if(e.getID() == WindowEvent.WINDOW_CLOSING)
			checkInput();
	}

	//检查输入是否为空.若不为空,则关闭自己;反之则跳出警告窗口
	private void checkInput()
	{
		if(!jTextField1.getText().equals(""))
		{
			clinet.username = jTextField1.getText();
			clinet.labelStatus.setText("Current User:" + jTextField1.getText());
			cancel();
		}
		else
		{
			JOptionPane.showMessageDialog((Component) null,
				"Please enter user name",
				"Chat",
				JOptionPane.ERROR_MESSAGE);
		}
	}
	
	//若输入不为空,则关闭自己
	void cancel()
	{
		dispose();
	}
	
}

⌨️ 快捷键说明

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