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

📄 8051dd9a805b001d16adb19ccac13ab7

📁 里面所含源码是本人平时做程序的一些实例
💻
字号:
package notepad;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
public class HappyChat extends JFrame implements ItemListener, ActionListener,ListSelectionListener {
	JPanel pnlMain;
	JMenuBar mbMain;
	JMenu mnuSystem,mnuHelp;
	JMenuItem mnuiCls,mnuiSave,mnuiClock,mnuiExit,
	mnuiContent,mnuiIndex,mnuiAbout;
	JLabel lblUser,lblNumber,lblInfo;
	JLabel lblYou,lblContent,lblFile;
	DefaultListModel dlmUser;
	JList lstUser;
	JTextArea taInfo;
	JScrollPane jspInfo;
	JComboBox cmbUser;
	JCheckBox ckbSilent;
	JTextField txtContent,txtFile;
	JButton btnSend,btnSave,btnExit,btnCls,btnClock,
	btnSendFile,btnBrowse;
	//构造器部分
	public HappyChat()
	{
		//组件初始化
		mbMain=new JMenuBar();
		pnlMain=new JPanel(null);
		setContentPane(pnlMain);
		mnuSystem=new JMenu("系统(S)");
		mnuSystem.setMnemonic(KeyEvent.VK_S);
		mnuHelp=new JMenu("帮助(H)");
		mnuHelp.setMnemonic(KeyEvent.VK_H);
		mbMain.add(mnuSystem);
		mbMain.add(mnuHelp);
		lblUser=new JLabel("【在线用户列表】");
		lblNumber=new JLabel("在线人数:");
		lblInfo=new JLabel("【聊天信息】");
		lblYou=new JLabel("你对:");
		lblContent=new JLabel("聊天内容:");
		lblFile=new JLabel("附件:");
		dlmUser=new DefaultListModel();
		dlmUser.addElement("张三");
		dlmUser.addElement("李四");
		dlmUser.addElement("liuzc");
		dlmUser.addElement("wangym");
		lstUser=new JList(dlmUser);
		lstUser.setSelectedIndex(0);
		lstUser.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
		lblNumber.setText(lblNumber.getText()+String.valueOf(dlmUser.getSize()));
		taInfo=new JTextArea();
		jspInfo=new JScrollPane(taInfo);
		taInfo.append("【你】对【所有人】说:大家好!");
		taInfo.append("\n【liuzc】说:大家好!");
		taInfo.setEditable(false);
		final String strUser[]={"所有人","张三","李四","刘德华","张学友","刘亦菲"}; 
		cmbUser=new JComboBox(strUser); 
		ckbSilent=new JCheckBox("私聊");
		ckbSilent.setEnabled(false);
		txtContent=new JTextField(200);
		txtFile=new JTextField(300);
		btnSend=new JButton("发送(N)");
		btnSave=new JButton("保存(S)");
		btnExit=new JButton("退出(X)");
		btnCls=new JButton("清屏(C)");
		btnClock=new JButton("时钟(T)");
		btnSendFile=new JButton("发送文件(F)");
		btnBrowse=new JButton("浏览...");
		//设置按钮快捷键
		btnSend.setMnemonic('N');
		btnSave.setMnemonic('S');
		btnExit.setMnemonic('X');
		btnCls.setMnemonic('C');
		btnClock.setMnemonic('T');
		btnSendFile.setMnemonic('F');
		//设置组件事件
		btnSend.addActionListener(this);
		btnCls.addActionListener(this);
		btnExit.addActionListener(this);
		lstUser.addListSelectionListener(this);
		cmbUser.addItemListener(this);
		//设置窗体背景图片
		Icon logo=new ImageIcon("E:/java/images/chat.jpg");
		JLabel lblLogo=new JLabel(logo);
		setTitle("聊天室(HappyChar)");
		Toolkit tk=Toolkit.getDefaultToolkit();
		Image img=tk.getImage("E:/java/images/appico.jpg");
		this.setIconImage(img);
		//添加组件
		pnlMain.add(lblUser);
		pnlMain.add(lblNumber);
		pnlMain.add(lblInfo);
		pnlMain.add(lblYou);
		pnlMain.add(lblContent);
		pnlMain.add(lblFile);
		pnlMain.add(lstUser);
		pnlMain.add(jspInfo);
		pnlMain.add(cmbUser);
		pnlMain.add(ckbSilent);
		pnlMain.add(txtContent);
		pnlMain.add(txtFile);
		pnlMain.add(btnSend);
		pnlMain.add(btnSave);
		pnlMain.add(btnExit);
		pnlMain.add(btnCls);
		pnlMain.add(btnClock);
		pnlMain.add(btnSendFile);
		pnlMain.add(btnBrowse);
		pnlMain.add(lblLogo);
		pnlMain.add(btnSend);
		//设置组件位置
		lblLogo.setBounds(0,0,600,400);
		lblUser.setBounds(5,10,120,25);
		lblNumber.setBounds(140, 10, 80, 25);
		lblInfo.setBounds(240, 10, 80, 25);
		lstUser.setBounds(5, 40, 200, 280);
		jspInfo.setBounds(210, 40, 380, 280);
		lblYou.setBounds(8, 320, 40, 30);
		cmbUser.setBounds(45, 325, 80, 20);
		ckbSilent.setBounds(130, 325, 60, 20);
		lblContent.setBounds(200, 320, 70, 30);
		txtContent.setBounds(270, 325, 200, 20);
		lblFile.setBounds(8,345,40,30);
		txtFile.setBounds(45,350,300,20);
		btnSend.setBounds(500,325,80,20);
		btnSave.setBounds(500,350,80,20);
		btnExit.setBounds(500,375,80,20);
		btnCls.setBounds(400,350,80,20);
		btnClock.setBounds(400,375,80,20);
		btnBrowse.setBounds(155, 375, 80, 20);
		btnSendFile.setBounds(225, 375, 120, 20);
		//btnSend.setBounds(50,50,30,30);
		
		//窗体初始化
		this.setJMenuBar(mbMain);
		Dimension scrnSize=tk.getScreenSize();
		setSize(600,455);
		setLocation((scrnSize.width-this.getWidth())/2,(scrnSize.height-this.getHeight())/2);
		setVisible(true);
		this.setResizable(false);
		this.setDefaultCloseOperation(EXIT_ON_CLOSE);
		
	}
	@Override
	public void itemStateChanged(ItemEvent ie) {
		// TODO Auto-generated method stub
		Object oi=ie.getSource();
		if(oi==cmbUser)
		{
			if(cmbUser.getSelectedIndex()!=0)
			{
				ckbSilent.setEnabled(true);
			}
			else
				ckbSilent.setEnabled(false);
		}
	}
	public void actionPerformed(ActionEvent ae)
	{
		Object o=ae.getSource();
		if(o==btnSend)
		{
			if(ckbSilent.isSelected())
			{
				taInfo.append("\n【你】悄悄对"+cmbUser.getSelectedItem()+txtContent.getText());
				txtContent.requestFocus();
			}
			else
			{
				taInfo.append("\n【你】对"+cmbUser.getSelectedItem()+txtContent.getText());
				txtContent.requestFocus();
			}
		}
		if(o.equals(btnExit))
		{
			int  option=JOptionPane.showConfirmDialog(null, "确定要退出吗?", "提示", JOptionPane.YES_NO_OPTION);
			if(option==0)
				System.exit(0);
		}
	}
	public void valueChanged(ListSelectionEvent lse)
	{
		
	}
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method s
		new HappyChat();
	}
}

⌨️ 快捷键说明

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