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

📄 udpchatframe.java

📁 一个JAVA实现的多点聊天程序
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
		jMenuChangeLAF.add(jRadioButtonMenuItemOffice2003);

		buttonGroupLAF.add(jRadioButtonMenuItemSystem);
		jRadioButtonMenuItemSystem.setSelected(true);
		jRadioButtonMenuItemSystem.setText("\u7cfb\u7edf\u5916\u89c2");
		jRadioButtonMenuItemSystem
				.addActionListener(new java.awt.event.ActionListener() {
					public void actionPerformed(java.awt.event.ActionEvent evt) {
						jRadioButtonMenuItemSystemActionPerformed(evt);
					}
				});
		jMenuChangeLAF.add(jRadioButtonMenuItemSystem);

		buttonGroupLAF.add(jRadioButtonMenuItemDefault);
		jRadioButtonMenuItemDefault.setSelected(true);
		jRadioButtonMenuItemDefault.setText("\u9ed8\u8ba4\u5916\u89c2");
		jRadioButtonMenuItemDefault
				.addActionListener(new java.awt.event.ActionListener() {
					public void actionPerformed(java.awt.event.ActionEvent evt) {
						jRadioButtonMenuItemDefaultActionPerformed(evt);
					}
				});
		jMenuChangeLAF.add(jRadioButtonMenuItemDefault);

		jMenuOperation.add(jMenuChangeLAF);

		jMenuBar.add(jMenuOperation);

		jMenuHelp.setMnemonic('H');
		jMenuHelp.setText("\u5e2e\u52a9(H)");

		jMenuItemHelpContents.setText("\u5e2e\u52a9\u5185\u5bb9");
		jMenuItemHelpContents
				.addActionListener(new java.awt.event.ActionListener() {
					public void actionPerformed(java.awt.event.ActionEvent evt) {
						jMenuItemHelpContentsActionPerformed(evt);
					}
				});
		jMenuHelp.add(jMenuItemHelpContents);

		jMenuItemAbout.setText("\u5173\u4e8e");
		jMenuItemAbout.addActionListener(new java.awt.event.ActionListener() {
			public void actionPerformed(java.awt.event.ActionEvent evt) {
				jMenuItemAboutActionPerformed(evt);
			}
		});
		jMenuHelp.add(jMenuItemAbout);

		jMenuBar.add(jMenuHelp);

		setJMenuBar(jMenuBar);

		org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(
				getContentPane());
		getContentPane().setLayout(layout);
		layout
				.setHorizontalGroup(layout
						.createParallelGroup(
								org.jdesktop.layout.GroupLayout.LEADING)
						.add(
								layout
										.createSequentialGroup()
										.addContainerGap()
										.add(
												layout
														.createParallelGroup(
																org.jdesktop.layout.GroupLayout.LEADING)
														.add(
																jScrollPane1,
																org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
																380,
																Short.MAX_VALUE)
														.add(
																layout
																		.createSequentialGroup()
																		.add(
																				jTextFieldMessage,
																				org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
																				279,
																				org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
																		.addPreferredGap(
																				org.jdesktop.layout.LayoutStyle.RELATED,
																				org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
																				Short.MAX_VALUE)
																		.add(
																				jButtonSend))
														.add(
																layout
																		.createSequentialGroup()
																		.add(
																				jLabelIP)
																		.addPreferredGap(
																				org.jdesktop.layout.LayoutStyle.UNRELATED)
																		.add(
																				jTextFieldIP,
																				org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
																				org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
																				org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
																		.addPreferredGap(
																				org.jdesktop.layout.LayoutStyle.RELATED)
																		.add(
																				jLabelPort)
																		.addPreferredGap(
																				org.jdesktop.layout.LayoutStyle.RELATED)
																		.add(
																				jTextFieldPort,
																				org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
																				org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
																				org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
																		.addPreferredGap(
																				org.jdesktop.layout.LayoutStyle.RELATED)
																		.add(
																				jLabelUsername)
																		.addPreferredGap(
																				org.jdesktop.layout.LayoutStyle.RELATED)
																		.add(
																				jTextFieldUsername,
																				org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
																				66,
																				org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
																		.addPreferredGap(
																				org.jdesktop.layout.LayoutStyle.RELATED)))
										.addContainerGap()));
		layout
				.setVerticalGroup(layout
						.createParallelGroup(
								org.jdesktop.layout.GroupLayout.LEADING)
						.add(
								layout
										.createSequentialGroup()
										.addContainerGap()
										.add(
												layout
														.createParallelGroup(
																org.jdesktop.layout.GroupLayout.BASELINE)
														.add(jLabelIP)
														.add(
																jTextFieldIP,
																org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
																org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
																org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
														.add(jLabelPort)
														.add(
																jTextFieldPort,
																org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
																org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
																org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
														.add(jLabelUsername)
														.add(
																jTextFieldUsername,
																org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
																org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
																org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
										.add(28, 28, 28)
										.add(
												jScrollPane1,
												org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
												189, Short.MAX_VALUE)
										.addPreferredGap(
												org.jdesktop.layout.LayoutStyle.RELATED)
										.add(
												layout
														.createParallelGroup(
																org.jdesktop.layout.GroupLayout.BASELINE)
														.add(
																jTextFieldMessage,
																org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
																org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
																org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
														.add(jButtonSend))));

		pack();
	}// </editor-fold>
	//GEN-END:initComponents

	// 在消息输入框按下回车,全选文字并调用发送消息方法
	private void jTextFieldMessageActionPerformed(java.awt.event.ActionEvent evt) {
		jTextFieldMessage.selectAll();
		send();
	}

	// 菜单 帮助 > 关于
	private void jMenuItemAboutActionPerformed(java.awt.event.ActionEvent evt) {
		javax.swing.JOptionPane.showMessageDialog(this,
				"UDPChat 1.0 by BeanSoft\n2008年5月", "关于 UDPChat",
				javax.swing.JOptionPane.INFORMATION_MESSAGE);

	}

	// 菜单 帮助 > 帮助内容
	private void jMenuItemHelpContentsActionPerformed(
			java.awt.event.ActionEvent evt) {
		String helpContents = "IP地址范围: 224.0.0.1 ~ 239.255.255.255,端口范围 1 ~ 65535,\n必须是局域网或者本机开两个或者多个窗口才可正常聊天。";
		addChatText(helpContents);
	}

	// 窗口关闭,委托调用菜单 文件 > 退出 的功能
	private void formWindowClosing(java.awt.event.WindowEvent evt) {
		jMenuItemQuitActionPerformed(null);
	}

	// 菜单 更改为默认外观
	private void jRadioButtonMenuItemDefaultActionPerformed(
			java.awt.event.ActionEvent evt) {
		changeLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName());
	}

	// 菜单 更改为系统外观
	private void jRadioButtonMenuItemSystemActionPerformed(
			java.awt.event.ActionEvent evt) {
		changeLookAndFeel(UIManager.getSystemLookAndFeelClassName());
	}

	// 菜单 更改为 Office 2003 外观
	private void jRadioButtonMenuItemOffice2003ActionPerformed(
			java.awt.event.ActionEvent evt) {
		changeLookAndFeel("org.fife.plaf.Office2003.Office2003LookAndFeel");
	}

	// 菜单 操作 > 清空记录
	private void jMenuItemClearActionPerformed(java.awt.event.ActionEvent evt) {
		jTextAreaHistory.setText("");
	}

	// 菜单 文件 > 退出
	private void jMenuItemQuitActionPerformed(java.awt.event.ActionEvent evt) {
		leave();
		dispose();
		System.exit(0);
	}

	// 按钮 发送,点击后发送消息
	private void jButtonSendActionPerformed(java.awt.event.ActionEvent evt) {
		send();
	}

	// 菜单 文件 > 离开
	private void jMenuItemLeaveActionPerformed(java.awt.event.ActionEvent evt) {
		leave();
	}

	// 菜单 文件 > 连接
	private void jMenuItemConnectActionPerformed(java.awt.event.ActionEvent evt) {
		join();
	}


	public static void main(String args[]) {
		// 推荐的做法,异步处理线程,实际上此处可以直接写为:
		// new UDPChatFrame().setVisible(true);
		java.awt.EventQueue.invokeLater(new Runnable() {
			public void run() {
				new UDPChatFrame().setVisible(true);
			}
		});
	}

	//GEN-BEGIN:variables
	// Variables declaration - do not modify
	private javax.swing.ButtonGroup buttonGroupLAF;
	private javax.swing.JButton jButtonSend;
	private javax.swing.JLabel jLabelIP;
	private javax.swing.JLabel jLabelPort;
	private javax.swing.JLabel jLabelUsername;
	private javax.swing.JMenuBar jMenuBar;
	private javax.swing.JMenu jMenuChangeLAF;
	private javax.swing.JMenu jMenuFile;
	private javax.swing.JMenu jMenuHelp;
	private javax.swing.JMenuItem jMenuItemAbout;
	private javax.swing.JMenuItem jMenuItemClear;
	private javax.swing.JMenuItem jMenuItemConnect;
	private javax.swing.JMenuItem jMenuItemHelpContents;
	private javax.swing.JMenuItem jMenuItemLeave;
	private javax.swing.JMenuItem jMenuItemQuit;
	private javax.swing.JMenu jMenuOperation;
	private javax.swing.JRadioButtonMenuItem jRadioButtonMenuItemDefault;
	private javax.swing.JRadioButtonMenuItem jRadioButtonMenuItemOffice2003;
	private javax.swing.JRadioButtonMenuItem jRadioButtonMenuItemSystem;
	private javax.swing.JScrollPane jScrollPane1;
	private javax.swing.JSeparator jSeparatorFile;
	private javax.swing.JTextArea jTextAreaHistory;
	private javax.swing.JTextField jTextFieldIP;
	private javax.swing.JTextField jTextFieldMessage;
	private javax.swing.JTextField jTextFieldPort;
	private javax.swing.JTextField jTextFieldUsername;
	// End of variables declaration//GEN-END:variables

}

⌨️ 快捷键说明

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