在好例子网,分享、交流、成长!
您当前所在位置:首页Java 开发实例常规Java编程 → java项目开发源码(内含10个)

java项目开发源码(内含10个)

常规Java编程

下载此实例
  • 开发语言:Java
  • 实例大小:41.31M
  • 下载次数:71
  • 浏览次数:993
  • 发布时间:2019-10-08
  • 实例类别:常规Java编程
  • 发 布 人:骚动的跳蚤
  • 文件格式:.rar
  • 所需积分:9
 相关标签: java项目 java 项目 开发 源码

实例介绍

【实例简介】java项目开发源码01,02,03,04,05,06,07,08,09,10
【实例截图】from clipboard

from clipboardfrom clipboard

from clipboardfrom clipboard


from clipboardfrom clipboard


剩余七个不再一一截图   喜欢的欢迎下载


【核心代码】

第一个‘<企业QQ>主函数’ 为例:


package com.mingrisoft;
import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.Dialog;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.GridLayout;
import java.awt.Image;
import java.awt.Insets;
import java.awt.MenuItem;
import java.awt.PopupMenu;
import java.awt.Rectangle;
import java.awt.SystemTray;
import java.awt.Toolkit;
import java.awt.TrayIcon;
import java.awt.TrayIcon.MessageType;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ComponentAdapter;
import java.awt.event.ComponentEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
import java.net.UnknownHostException;
import java.util.prefs.Preferences;
import javax.swing.BoxLayout;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPopupMenu;
import javax.swing.JProgressBar;
import javax.swing.JScrollPane;
import javax.swing.JTabbedPane;
import javax.swing.JTextField;
import javax.swing.JToggleButton;
import javax.swing.ScrollPaneConstants;
import javax.swing.SwingConstants;
import javax.swing.UIManager;
import javax.swing.border.BevelBorder;
import javax.swing.border.EmptyBorder;
import javax.swing.border.TitledBorder;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeModel;
import javax.swing.tree.TreePath;
import com.mingrisoft.dao.Dao;
import com.mingrisoft.frame.TelFrame;
import com.mingrisoft.system.Resource;
import com.mingrisoft.userList.ChatTree;
import com.mingrisoft.userList.User;
public class EQ extends Dialog {
 public static EQ frame = null;// 主窗体本类对象
 private JTextField ipEndTField;// IP搜索范围结束值
 private JTextField ipStartTField;// IP搜索范围开始值
 private ChatTree chatTree;// 用户列表树
 private JPopupMenu popupMenu;// 鼠标右键菜单(弹出式菜单)
 private JTabbedPane tabbedPane;// 主标签面板
 private JToggleButton searchUserButton;//
 private JProgressBar progressBar;// 鼠标右键菜单(弹出式菜单)
 private JList faceList;// 界面风格集合
 private JButton selectInterfaceOKButton;// 确定界面效果按钮
 private DatagramSocket ss;// UDP套接字
 private final JLabel stateLabel;// 底部状态栏标签
 private Rectangle location;// 窗口位置对象
 public static TrayIcon trayicon;// 系统托盘图标
 private Dao dao;// 数据库接口
 public final static Preferences preferences = Preferences.systemRoot();// 创建首选项对象,使用系统的根首选项节点。此对象可以保存我们偏好设置
 private JButton userInfoButton;// 用户信息按钮
 public static void main(String args[]) {
  try {
   String laf = preferences.get("lookAndFeel", "java默认");
   if (laf.contains("当前系统"))// 如果字符串包含“当前系统”字样
    UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());// 获取本机的窗体外观
   EQ frame = new EQ();
   frame.setVisible(true);
   frame.SystemTrayInitial();// 初始化系统栏
   frame.server();// 启动服务器
  } catch (Exception e) {
   e.printStackTrace();
  }
 }
 /**
  * 主类构造方法
  */
 public EQ() {
  super(new Frame());// 调用父类方法,创建一个空父类窗体
  frame = this;
  dao = Dao.getDao();// 获取数据库接口对象
  location = dao.getLocation();// 获取数据库中的位置
  setTitle("企业QQ");
  setBounds(location);// 指定窗口大小即所处位置
  progressBar = new JProgressBar();
  progressBar.setBorder(new BevelBorder(BevelBorder.LOWERED));
  tabbedPane = new JTabbedPane();
  popupMenu = new JPopupMenu();
  chatTree = new ChatTree(this);
  stateLabel = new JLabel(); // 状态栏标签
  addWindowListener(new FrameWindowListener());// 添加窗体监视器
  addComponentListener(new ComponentAdapter() {// 添加组件侦听器
   public void componentResized(final ComponentEvent e) {// 窗体改变大小时
    saveLocation();// 保存主窗体位置的方法
   }
   public void componentMoved(final ComponentEvent e) {// 窗体移动时
    saveLocation();// 保存主窗体位置的方法
   }
  });
  try {
   ss = new DatagramSocket(1111);// 启动通讯服务端口
  } catch (SocketException e2) {
   if (e2.getMessage().startsWith("Address already in use"))
    JOptionPane.showMessageDialog(this, "服务端口被占用,或者本软件已经运行。");
   System.exit(0);
  }
  final JPanel BannerPanel = new JPanel();
  BannerPanel.setLayout(new BorderLayout());
  add(BannerPanel, BorderLayout.NORTH);
  userInfoButton = new JButton();
  BannerPanel.add(userInfoButton, BorderLayout.WEST);
  userInfoButton.setMargin(new Insets(0, 0, 0, 10));
  initUserInfoButton();// 初始化本地用户头像按钮
  add(tabbedPane, BorderLayout.CENTER);
  tabbedPane.setTabPlacement(SwingConstants.LEFT);
  ImageIcon userTicon = new ImageIcon(EQ.class.getResource("/image/tabIcon/tabLeft.PNG"));
  tabbedPane.addTab(null, userTicon, createUserList(), "用户列表");
  ImageIcon sysOTicon = new ImageIcon(EQ.class.getResource("/image/tabIcon/tabLeft2.PNG"));
  tabbedPane.addTab(null, sysOTicon, createSysToolPanel(), "系统操作");
  setAlwaysOnTop(true);
 }
 /**
  * 用户列表面板
  * 
  * @return
  */
 private JScrollPane createUserList() {// 用户列表面板
  JScrollPane scrollPane = new JScrollPane();
  scrollPane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
  addUserPopup(chatTree, getPopupMenu());// 为用户添加弹出菜单
  scrollPane.setViewportView(chatTree);// 将用户树添加到滚动面板中
  scrollPane.setBorder(new EmptyBorder(0, 0, 0, 0));
  chatTree.addMouseListener(new ChatTreeMouseListener());
  return scrollPane;
 }
 /**
  * 系统工具面板
  * 
  * @return
  */
 private JScrollPane createSysToolPanel() {
  JPanel sysToolPanel = new JPanel(); // 系统工具面板
  sysToolPanel.setLayout(new BorderLayout());
  JScrollPane sysToolScrollPanel = new JScrollPane();
  sysToolScrollPanel.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
  sysToolScrollPanel.setBorder(new EmptyBorder(0, 0, 0, 0));
  sysToolScrollPanel.setViewportView(sysToolPanel);
  sysToolPanel.setBorder(new BevelBorder(BevelBorder.LOWERED));
  JPanel interfacePanel = new JPanel();
  sysToolPanel.add(interfacePanel, BorderLayout.NORTH);
  interfacePanel.setLayout(new BorderLayout());
  interfacePanel.setBorder(new TitledBorder("界面选择-再次启动生效"));
  faceList = new JList(new String[] { "当前系统", "java默认" });
  interfacePanel.add(faceList);
  faceList.setBorder(new BevelBorder(BevelBorder.LOWERED));
  final JPanel interfaceSubPanel = new JPanel();
  interfaceSubPanel.setLayout(new FlowLayout());
  interfacePanel.add(interfaceSubPanel, BorderLayout.SOUTH);
  selectInterfaceOKButton = new JButton("确定");
  selectInterfaceOKButton.addActionListener(new ActionListener() {
   public void actionPerformed(ActionEvent e) {
    if (faceList.getSelectedValue() == null) {
     JOptionPane.showMessageDialog(EQ.this, "您未选中任何主题", "提示", JOptionPane.ERROR_MESSAGE);
     return;
    }
    preferences.put("lookAndFeel", faceList.getSelectedValue().toString());
    JOptionPane.showMessageDialog(EQ.this, "重新运行本软件后生效");
   }
  });
  interfaceSubPanel.add(selectInterfaceOKButton);
  JPanel searchUserPanel = new JPanel(); // 用户搜索面板
  sysToolPanel.add(searchUserPanel);
  searchUserPanel.setLayout(new BorderLayout());
  final JPanel searchControlPanel = new JPanel();
  searchControlPanel.setLayout(new GridLayout(0, 1));
  searchUserPanel.add(searchControlPanel, BorderLayout.SOUTH);
  final JList searchUserList = new JList(new String[] { "检测用户列表" });// 新添加用户列表
  final JScrollPane scrollPane_2 = new JScrollPane(searchUserList);
  scrollPane_2.setDoubleBuffered(true);
  searchUserPanel.add(scrollPane_2);
  searchUserList.setBorder(new BevelBorder(BevelBorder.LOWERED));
  searchUserButton = new JToggleButton("搜索新用户");
  searchUserButton.addActionListener(new SearchUserActionListener(searchUserList));
  searchControlPanel.add(progressBar);
  searchControlPanel.add(searchUserButton);
  searchUserPanel.setBorder(new TitledBorder("搜索用户"));
  final JPanel ipPanel = new JPanel();
  final GridLayout gridLayout_2 = new GridLayout(0, 1);
  gridLayout_2.setVgap(5);// 组件之间间距为5像素
  ipPanel.setLayout(gridLayout_2);
  ipPanel.setMaximumSize(new Dimension(600, 90));
  ipPanel.setBorder(new TitledBorder("IP搜索范围"));
  final JPanel panel_5 = new JPanel();
  panel_5.setLayout(new BoxLayout(panel_5, BoxLayout.X_AXIS));
  ipPanel.add(panel_5);
  panel_5.add(new JLabel("起始IP:"));
  ipStartTField = new JTextField("192.168.0.1");
  panel_5.add(ipStartTField);
  final JPanel panel_6 = new JPanel();
  panel_6.setLayout(new BoxLayout(panel_6, BoxLayout.X_AXIS));
  ipPanel.add(panel_6);
  panel_6.add(new JLabel("终止IP:"));
  ipEndTField = new JTextField("192.168.1.255");
  panel_6.add(ipEndTField);
  sysToolPanel.add(ipPanel, BorderLayout.SOUTH);
  stateLabel.setText("总人数:" chatTree.getRowCount());
  return sysToolScrollPanel;
 }
 /**
  * 初始化用户信息按钮
  */
 private void initUserInfoButton() {
  try {
   String ip = InetAddress.getLocalHost().getHostAddress();// 获取本地地址对象
   User user = dao.getUser(ip);// 从数据库中获取本地用户资料
   userInfoButton.setIcon(user.getIconImg());
   userInfoButton.setText(user.getName());
   userInfoButton.setIconTextGap(JLabel.RIGHT);
   userInfoButton.setToolTipText(user.getTipText());
   userInfoButton.getParent().doLayout();// 父窗体重新布局
  } catch (UnknownHostException e1) {
   e1.printStackTrace();
  }
 }
 /**
  * 搜索用户事件
  *
  */
 class SearchUserActionListener implements ActionListener {
  private final JList list;// 添加用户列表
  SearchUserActionListener(JList list) {
   this.list = list;
  }
  public void actionPerformed(ActionEvent e) {
   // IP地址的正则表达式
   String regex = "(\\d|[1-9]\\d|1\\d{2}|2[0-4]\\d|25[0-5])(\\.(\\d|[1-9]\\d|1\\d{2}|2[0-4]\\d|25[0-5])){3}";
   String ipStart = ipStartTField.getText().trim();// 获得开始IP的地址
   String ipEnd = ipEndTField.getText().trim();// 获得结束IP的地址
   if (ipStart.matches(regex) && ipEnd.matches(regex)) {// 如果两个IP地址都符合格式要求
    if (searchUserButton.isSelected()) {// 如果按钮是选中状态
     searchUserButton.setText("停止搜索");// 按钮文本设为
     new Thread(new Runnable() {
      public void run() {
       // 搜索用户
       Resource.searchUsers(chatTree, progressBar, list, searchUserButton, ipStart, ipEnd);
      }
     }).start();// 开启线程
    } else {
     searchUserButton.setText("搜索新用户");
    }
   } else {
    JOptionPane.showMessageDialog(EQ.this, "请检查IP地址格式", "注意", JOptionPane.WARNING_MESSAGE);
    searchUserButton.setSelected(false);// 将按钮设为未选中状态
   }
  }
 }
 /**
  * 用户列表的监听器
  * 
  * @author Administrator
  *
  */
 private class ChatTreeMouseListener extends MouseAdapter {
  public void mouseClicked(final MouseEvent e) {
   if (e.getClickCount() == 2) {// 当鼠标时双击时
    TreePath path = chatTree.getSelectionPath();// 获得用户树上被选中的节点路径
    if (path == null)// 如果是空的
     return;// 停止此方法
    DefaultMutableTreeNode node = (DefaultMutableTreeNode) path.getLastPathComponent();// 返回此路径上的组件,并转换为节点
    User user = (User) node.getUserObject();// 将节点中的用户信息取出来
    try {
     DatagramPacket packet = new DatagramPacket(new byte[0], 0, InetAddress.getByName(user.getIp()),
       1111);// 创建一个空的UDP数据包
     TelFrame.getInstance(ss, packet, chatTree);// 创建并打开聊天窗口
    } catch (IOException e1) {
     e1.printStackTrace();
    }
   }
  }
 }
 /**
  * 启动服务器
  */
 private void server() {// 服务器启动方法
  new Thread(new Runnable() {
   public void run() {
    while (true) {
     if (ss != null) {
      byte[] buf = new byte[4096];// 创建数据包字节数组
      DatagramPacket dp = new DatagramPacket(buf, buf.length);// 创建数据包
      try {
       ss.receive(dp);// 接收数据包
       TelFrame.getInstance(ss, dp, chatTree);// 开启聊天窗口
      } catch (IOException e) {
       e.printStackTrace();
      }
     }
    }
   }
  }).start();// 启动线程
 }
 /**
  * 右键弹出菜单添加用户
  * 
  * @param component
  *            - 触发右键的组件
  * @param popup
  *            - 弹出式菜单
  */
 private void addUserPopup(Component component, final JPopupMenu popup) {
  component.addMouseListener(new MouseAdapter() {
   public void mouseReleased(MouseEvent e) {// 鼠标抬起时
    if (e.isPopupTrigger())// 如果触发的是弹出式菜单
     showMenu(e);// 展示右键菜单栏
   }
   /**
    * 展示右键菜单栏
    */
   private void showMenu(MouseEvent e) {
    if (chatTree.getSelectionPaths() == null) {// 如果没有选中任何用户
     popupMenu.getComponent(0).setEnabled(false);// 关闭更名功能
     popupMenu.getComponent(2).setEnabled(false);// 关闭删除功能
     popupMenu.getComponent(3).setEnabled(false);// 关闭群发功能
     popupMenu.getComponent(4).setEnabled(false);// 关闭访问主机资源功能
    } else {
     if (chatTree.getSelectionPaths().length < 2) {// 如果选中的用户在两个以上
      popupMenu.getComponent(3).setEnabled(false);
     } else {
      popupMenu.getComponent(3).setEnabled(true);// 开启群发功能
     }
     popupMenu.getComponent(0).setEnabled(true);// 开启更名功能
     popupMenu.getComponent(2).setEnabled(true);// 开启删除功能
     popupMenu.getComponent(4).setEnabled(true);// 开启访问主机资源功能
    }
    popup.show(e.getComponent(), e.getX(), e.getY());
   }
  });
 }
 /**
  * 保存主窗体位置的方法
  */
 private void saveLocation() {
  location = getBounds();
  dao.updateLocation(location);// 保存当前窗体位置
 }
 /**
  * 创建右键弹出菜单
  * 
  * @return
  */
 protected JPopupMenu getPopupMenu() {
  if (popupMenu == null) {
   popupMenu = new JPopupMenu();
   popupMenu.setOpaque(false);
  }
  final JMenuItem rename = new JMenuItem();
  popupMenu.add(rename);
  rename.addActionListener(new RenameActionListener());
  rename.setText("更名");
  final JMenuItem addUser = new JMenuItem();
  addUser.addActionListener(new AddUserActionListener());
  popupMenu.add(addUser);
  addUser.setText("添加用户");
  final JMenuItem delUser = new JMenuItem();
  delUser.addActionListener(new delUserActionListener());
  popupMenu.add(delUser);
  delUser.setText("删除用户");
  final JMenuItem messagerGroupSend = new JMenuItem();
  messagerGroupSend.addActionListener(new messagerGroupSendActionListener());
  messagerGroupSend.setText("信使群发");
  popupMenu.add(messagerGroupSend);
  final JMenuItem accessComputerFolder = new JMenuItem("访问主机资源");
  accessComputerFolder.setActionCommand("computer");
  popupMenu.add(accessComputerFolder);
  accessComputerFolder.addActionListener(new accessFolderActionListener());
  return popupMenu;
 }
 /**
  * 设置状态栏信息
  * 
  * @param str
  */
 public void setStatic(String str) {
  if (stateLabel != null)
   stateLabel.setText(str);
 }
 /**
  * 显示更名对话框
  * 
  * @param str
  *            - 旧名字
  * @return 新名字
  */
 private String showInputDialog(String str) { // 显示输入对话框
  String newName = JOptionPane.showInputDialog(this, "<html>输入<font color=red>" str "</font>的新名字</html>");// 打开输入对话框,利用超文本语言控制字体颜色
  return newName;
 }
 /**
  * 访问对方共享资源文件夹
  *
  */
 private class accessFolderActionListener implements ActionListener {
  public void actionPerformed(final ActionEvent e) {
   TreePath path = chatTree.getSelectionPath();// 获取选中的节点路径
   if (path == null)// 如果节点路径不为空
    return;
   DefaultMutableTreeNode node = (DefaultMutableTreeNode) path.getLastPathComponent();// 获取节点路径上的节点
   User user = (User) node.getUserObject();// 获取节点中保存的用户
   String ip = "\\\\" user.getIp();// 拼写共享文件夹地址
   String command = e.getActionCommand();// 获取组件动作指令
   if (command.equals("computer")) {// 如果是访问对方资源
    Resource.startFolder(ip);// 打开主机共享文件
   }
  }
 }
 /**
  * 更改用户名事件
  *
  */
 private class RenameActionListener implements ActionListener {
  public void actionPerformed(final ActionEvent e) {
   TreePath path = chatTree.getSelectionPath();// 获取选中的节点路径
   if (path == null)// 如果节点路径不为空
    return;
   DefaultMutableTreeNode node = (DefaultMutableTreeNode) path.getLastPathComponent();// 获取节点路径上的节点
   User user = (User) node.getUserObject();// 获取节点中保存的用户
   String newName = showInputDialog(user.getName());// 更改用户名,并获得新用户名
   if (newName != null && !newName.isEmpty()) {// 如果新名字不为空
    user.setName(newName);// 更改用户信息
    dao.updateUser(user);// 更新数据库中用户资料
    DefaultTreeModel model = (DefaultTreeModel) chatTree.getModel();// 获取用户树模型
    model.reload();// 重新加载用户树
    chatTree.setSelectionPath(path);// 恢复选中状态
    initUserInfoButton();// 初始化用户信息按钮
   }
  }
 }
 /**
  * 窗体关闭事件
  * 
  */
 private class FrameWindowListener extends WindowAdapter {
  public void windowClosing(final WindowEvent e) {// 窗体关闭时
   setVisible(false);// 隐藏窗体
  }
 }
 /**
  * 添加用户动作事件
  *
  */
 private class AddUserActionListener implements ActionListener {
  public void actionPerformed(final ActionEvent e) {
   String ip = JOptionPane.showInputDialog(EQ.this, "输入新用户IP地址");
   if (ip != null)
    chatTree.addUser(ip, "add");
  }
 }
 /**
  * 删除用户动作事件
  *
  */
 private class delUserActionListener implements ActionListener {
  public void actionPerformed(final ActionEvent e) {
   chatTree.delUser();
  }
 }
 /**
  * 群发消息动作事件
  *
  */
 private class messagerGroupSendActionListener implements ActionListener {// 信使群发
  public void actionPerformed(final ActionEvent e) {
   String systemName = System.getProperty("os.name");
   if (systemName != null && systemName.equals("Windows 7")) {
    String message = JOptionPane.showInputDialog(EQ.this, "请输入群发信息", "信使群发",
      JOptionPane.INFORMATION_MESSAGE);
    if (message != null && !message.equals("")) {
     TreePath[] selectionPaths = chatTree.getSelectionPaths();// 获取用户树上同时选中的用户节点
     Resource.sendGroupMessenger(ss, selectionPaths, message);
    } else if (message != null && message.isEmpty()) {
     JOptionPane.showMessageDialog(EQ.this, "不能发送空信息!");
    }
   } else {
    JOptionPane.showMessageDialog(EQ.this, "此功能只能在Windows 7环境使用!", "提示", JOptionPane.WARNING_MESSAGE);
   }
  }
 }
 /**
  * 系统栏初始化
  */
 private void SystemTrayInitial() {
  if (!SystemTray.isSupported()) // 判断当前系统是否支持系统栏
   return;
  try {
   String title = "企业QQ";// 系统栏通知标题
   String company = "吉林省XXX科技有限公司";// 系统通知栏内容
   SystemTray sysTray = SystemTray.getSystemTray();// 获取系统默认托盘
   Image image = Toolkit.getDefaultToolkit().getImage(EQ.class.getResource("/icons/sysTray.png"));// 创建系统栏图标
   trayicon = new TrayIcon(image, title "\n" company, createMenu());//创建系统栏图标对象
   trayicon.setImageAutoSize(true); //设置自动大小
   trayicon.addActionListener(new SysTrayActionListener());//添加事件监听器
   sysTray.add(trayicon);//添加系统栏图标到系统托盘
   trayicon.displayMessage(title, company, MessageType.INFO); //显示系统栏图标提示文本
  } catch (Exception e) {
   e.printStackTrace();
  }
 }
 /**
  * 创建最小化菜单栏
  * 
  * @return
  */
 private PopupMenu createMenu() {
  PopupMenu menu = new PopupMenu();
  MenuItem exitItem = new MenuItem("退出");
  exitItem.addActionListener(new ActionListener() { // 系统栏退出事件
   public void actionPerformed(ActionEvent e) {
    System.exit(0);
   }
  });
  MenuItem openItem = new MenuItem("打开");
  openItem.addActionListener(new ActionListener() {// 系统栏打开菜单项事件
   public void actionPerformed(ActionEvent e) {
    if (!isVisible()) { //如果主窗体隐藏
     setVisible(true);//显示主窗体
     toFront(); //使主窗体显示在最上层
    } else
     toFront(); //使主窗体显示在最上层
   }
  });
  menu.add(openItem);//添加打开菜单项
  menu.addSeparator();//添加菜单项分隔符
  menu.add(exitItem);//添加退出菜单项
  return menu;
 }
 /**
  * 最小化系统栏双击事件
  *
  */
 class SysTrayActionListener implements ActionListener {// 系统栏双击事件
  public void actionPerformed(ActionEvent e) {
   setVisible(true);
   toFront();
  }
 }
}

实例下载地址

java项目开发源码(内含10个)

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警