文档库 最新最全的文档下载
当前位置:文档库 › java制作登陆界面

java制作登陆界面

java制作登陆界面
java制作登陆界面

利用java制作登陆界面

首先先简单介绍一些这个程序,我觉得还是有图更好的能说明吧!所以我们根据图看它的控件。

运行界面如上

由运行结果可以看出程序的控件主要有以下几个:

有一个窗体,两个标签分别用来显示账号和密码。

还有两个文本框控件用来将来接受你的密码和账号信息。

还有就是一个登陆按钮控件

这就是基本控件好了然后就没什么了。然后就是一些控件信息的设置了

密码账号不为空登陆成功

信息输入不正确不能登录

大家可以看见这三个图大致一样。是的我只是改变了输出的语句大家一会看代码可以看见。

为了锻炼编程能力,以免有些人直接复制粘贴。所以这里不给你们代码。但是给了图片格式的,你可以自己先写。然后看我写的。这样你会得到提高。人非圣贤。孰能无过有写的不好的地方还请多多原谅。代码中已经标注的很清楚了。代码是本人独创,如果又不懂的地方。可以联系我。我们共同讨论。我期待我们一起在编程的道路上成长。

JAVA语言登陆界面设计

登陆界面设计 程序: import javax.swing.*; import java.awt.*; public class登陆界面设计extends JFrame{ public登陆界面设计(){ //构造方法名称要与类名称一致this.setTitle("学生系统登陆界面"); this.setForeground(Color.blue); this.setBounds(200, 200, 400, 400); this.setDefaultCloseOperation(EXIT_ON_CLOSE); JLabel labname=new JLabel("登陆名:"); JLabel labpassed=new JLabel("登陆密码:"); JTextField tex1=new JTextField(""); JTextField tex2=new JTextField(""); JButton bun1=new JButton("登陆"); JButton bun2=new JButton("退出"); JPanel panel =(JPanel) this.getContentPane(); panel.setLayout(null); panel.setBackground(Color.green); panel.add(labname); labname.setBounds(100, 60, 100, 30); // labname.setForeground(Color.red); labname.setFont(new Font(null,Font.ITALIC,20)); panel.add(tex1); tex1.setBounds(200, 60, 100, 30); // tex1.setForeground(Color.red); tex1.setFont(new Font(null,Font.ITALIC,20)); panel.add(labpassed); labpassed.setBounds(100, 120, 100, 30); // labpassed.setForeground(Color.red); labpassed.setFont(new Font(null,Font.ITALIC,20)); panel.add(tex2); tex2.setBounds(200, 120, 100, 30); // tex2.setForeground(Color.red); tex2.setFont(new Font(null,Font.ITALIC,20)); panel.add(bun1); bun1.setBounds(100, 180, 100, 50); bun1.setForeground(Color.red); bun1.setFont(new Font(null,Font.ITALIC,20)); panel.add(bun2);

学生信息管理系统(Java)+代码

学生信息管理系统设计 1、系统简介 本系统提供了学生信息管理中常见的基本功能,主要包括管理员和学生两大模块。 管理员的主要功能有对学生信息和课程信息进行增加、删除、修改、查找等操作,对选课信息进行管理,对成绩信息和用户信息进行修改、查找等操作。学生的主要功能有对学生信息和成绩信息进行查看,对个人的密码信息进行修改等。 2、功能设计 2.1 需求分析 本系统需要实现的功能: (1)、管理员对学生信息和课程信息进行增加、删除、修改、查找等操作,对选课信息进行管理,对成绩信息和用户信息进行修改、查找等操作。 (2)、学生对学生信息和成绩信息进行查看,对个人的密码信息进行修改等。 2.2 总体设计 学生信息管理系统主要包括管理员和学生两大模块。管理员模块包括:学生信息管理、课程信息管理、选课信息管理、成绩信息管理、用户信息管理等。用户模块包括:学生信息查看、成绩信息查看、个人信息管理等。系统总体结构如图所示。 总体结构图 2.3 模块详细设计 1、学生信息管理模块 学生信息管理模块包括增加、删除、修改、查询、显示全部等。具体的结构图如图所示。

学生信息管理模块结构图 2、课程信息管理模块 课程信息管理模块包括增加、删除、修改、查询、显示全部等。具体的结构图如图所示。 课程信息管理模块结构图 3、选课信息管理模块 选课信息管理模块包括查询、显示全部等。具体的结构图如图所示。 选课信息管理模块结构图 4、成绩信息管理模块 成绩信息管理模块包括修改成绩、查询、显示全部等。具体的结构图如图所示。

成绩信息管理模块结构图 5、用户信息管理模块 用户信息管理模块包括修改、查询、显示全部等。具体的结构图如图所示。 用户信息管理模块结构图 3、数据库设计 在数据库student中共有4张数据表:s(学生信息表)、c(课程信息表)、sc(选课信息表)、unpw(用户信息表),下面定义每张表的字段名称和数据类型。

java 学生信息管理登陆界面

package登陆界面; import java.awt.*; import java.awt.event.*; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import javax.swing.*; import主窗体.MainFrame; import https://www.wendangku.net/doc/5613083047.html,monaJdbc; public class Landing_interface extends JFrame implements ActionListener{ public static String str; JFrame jf=new JFrame("登录系统"); JPanel p1=new JPanel(); JPanel p2=new JPanel(); JPanel p3=new JPanel(); JPanel p4=new JPanel(); JPanel p5=new JPanel(); JPanel p6=new JPanel(); JPanel p7=new JPanel(); String username; static String passwd; JLabel name=new JLabel("用户名:"); static JTextField nametext=new JTextField(10); JLabel pwd=new JLabel("密码:"); JPasswordField password=new JPasswordField(10); JButton login=new JButton(""); public Landing_interface(){

java学生信息管理系统界面代码

package edu.gzu.stuManager; import java.awt.Color; import java.awt.Container; import java.awt.Cursor; import java.awt.Font; import java.awt.Image; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.ImageIcon; import javax.swing.JButton;

import javax.swing.JCheckBox; import javax.swing.JComboBox; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPasswordField; import javax.swing.JRootPane; import javax.swing.JTextField; public class StudentMainView extends JFrame{ private static final long serialVersionUID = -6788045638380819221L; //用户名 private JTextField ulName; //密码 private JPasswordField ulPasswd; //小容器 private JLabel j1; private JLabel j2; private JLabel j3; private JLabel j4;

QQ登录界面java代码(优选.)

最新文件---------------- 仅供参考--------------------已改成-----------word文本 --------------------- 方便更改 赠人玫瑰,手留余香。 package denglu; import java.awt.*; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import javax.swing.*; public class Dl extends JFrame{ private static final long serialVersionUID = 1L; Font f1=new Font("宋体", Font.PLAIN, 14); JLabel lb1,lb2,lb3,lb4; JButton b1,b2,b3; JComboBox cb; JTextField tf; JTextField pw; public void CreateJFrame(String title) { JFrame jf = new JFrame(title); Container container = jf.getContentPane(); lb1=new JLabel(new ImageIcon("image/tou.gif")); lb2=new JLabel(new ImageIcon("image/qqtou.gif"));

jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); } public static void main(String args[]) { // 在主方法中调用createJFrame()方法 new Dl().CreateJFrame("QQ登陆界面"); } } jp=new JPanel(); jp.setLayout(null); jp_jlb1=new JLabel(new ImageIcon("image/qqtou.gif")); jp_jlb1.setBounds(18, 10, 85, 85); //设置标签位置前提是要空布局 jp_jtf=new JTextField("QQ号码/手机/邮箱"); jp_jtf.setForeground(Color.LIGHT_GRAY);//设置颜色 jp_jtf.addMouseListener(this); jp_jtf.setBounds(118, 11, 170, 25); jp_pw=new TextField("密码",24); jp_pw.setForeground(Color.LIGHT_GRAY); jp_pw.addMouseListener(this); jp_pw.setBounds(118, 45, 170, 24);

基于java的图书管理系统登录界面

package library; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Font; import java.awt.GridBagLayout; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import https://www.wendangku.net/doc/5613083047.html,.PasswordAuthentication; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import javax.swing.AbstractButton; import javax.swing.JButton; import javax.swing.JComboBox; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JPasswordField; import javax.swing.JRadioButton; import javax.swing.JTextField; public class login extends JFrame implements ActionListener { private JTextField namefield; private JTextField numfield; private JButton button; private String number; private AbstractButton button1; private JComboBox box; public login() { init(); } private void init() { setDefaultCloseOperation(EXIT_ON_CLOSE); setBounds(200, 200, 450, 400); setResizable(false); setLayout(null); setTitle("登录界面");

java NetBean创建并实现登录窗口教程

图书馆管理系统开发步骤图书馆管理系统开发步骤((三) 这一部分,我们学习如何创建并实现登录窗口。最后完成的登录窗口如下图所示: 1、创建创建登录窗体类登录窗体类 首先启动NetBeans IDE ,右键单击项目,在弹出的上下文菜单中,依次选择【新建】| 【JFrame 窗体…】菜单项,打开新建窗体向导对话框。如下图所示: 在弹出的“新建JFrame 窗体”对话框中,设置新建登录窗体的名称为“LoginIFrame ”,取包名为“com.xuejava.iframe ”。然后单击【完成】按钮。如下图所示:

此时会出现新建窗体的设计窗口,及相关属性和导航窗口。如下图所示: 2、设计登录窗体布局 接下来,在放置组件之前,要先设计好登录窗体的布局。在这里,我们将登录窗体的布局,设置为BorderLayout布局模式(边框式布局)。具体操作如下图所示:

在设计窗口,在上、中、下三个区域分别放入一个JLabel组件和两个JPanel面板组件。如下图所示: 因为最下方的面板中,我们只用来放置两个按钮:登录和重置按钮。很明显,下方的面板有点快。所以我们需要进一步调整面板的大小。 先选中最下方的面板,然后在右侧的属性面板中,打开一个名为“preferredSize”的属性,将其高度改为60。如下图所示:

单击【确定】按钮,再转到窗体“设计”界面,会发现最下方的面板高度明显减少。如下图所示: 3、添加组件 3.1 选中最上方的jLabel组件,设置其背景为login.jpg图片。如下图所示:

单击【确定】按钮,此时界面如下图所示(可能图片宽度小于默认的窗体宽度,适当调整窗体宽度到与图片宽度相同): 3.2 在中间的面板中,放置接收用户输入信息的组件。如下图所示: 3.3 在最下方的面板中,放置两个按钮组件:一个用户提交用户登录信息,一个用来重

java登录窗口代码

import java.awt.BorderLayout; import java.awt.Color; import java.awt.FlowLayout; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JPasswordField; import javax.swing.JTextField; public class text extends JFrame { /** * @param args */ public String str="左自强"; public String strc="1234567"; protected JButton a=new JButton("注册"); protected JButton b=new JButton("登录"); protected JPanel bb=new JPanel(); protected JLabel aa=new JLabel(" 如果你是新用户请先注册帐号"); text() { setLayout(new GridLayout(3,1)); bb.setLayout(new FlowLayout()); bb.add(a); bb.add(b); add(aa); add(bb); b.addActionListener(new ActionListener()//创建事件监听器 { @Override public void actionPerformed(ActionEvent arg0) { // TODO Auto-generated method stub System.out.print("zuoziqiang"); loade jf=new loade(); jf.pack();

(完整版)JSP登陆页面代码

静态的登录界面的设计login.htm,代码如下: Html代码 1. 2. 3. 系统登录 4. 14. 15. 16.

17. 18. 19. 20. 22. 23. 24. 25.
26. 27.
28.
29.
33. 34. 35. 36. 37.
系统登录 21.
用户名
密  码
30.    31. 32.
38.

Java--登陆注册系统(模仿qq登陆界面)

Java--登陆注册系统(数据库) import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.sql.*; public class DengLu extends JFrame implements ActionListener,KeyListener,ItemListener,FocusListener{ JLabel top,bott; JComboBox combobox; JPasswordField password; JButton b_login,b_regedit; JPanel panelMain,panel_center; public DengLu (){ super("登陆系统"); panelMain = new JPanel(new BorderLayout(10, 10)){ public void paintComponent(Graphics g) { Graphics2D g2 = (Graphics2D)g; super.paintComponent(g); Image img = Toolkit.getDefaultToolkit().getImage("G:\\image\\Denglubg.jpg"); g2.drawImage(img, 0, 0, this.getWidth(), this.getHeight(), this); } }; top = new JLabel (); top.setPreferredSize(new Dimension(this.getWidth(),30)); bott = new JLabel (); bott.setForeground(Color.white); bott.setPreferredSize(new Dimension(this.getWidth(),25)); centerBuild(); additem(); panelMain.add(top,BorderLayout.NORTH); panelMain.add(bott,BorderLayout.SOUTH); panelMain.add(panel_center,BorderLayout.CENTER); combobox.addItemListener(this);

JavaWeb用户登录功能的实现

JavaWeb用户登录功能的实现 大四快毕业了,3年多的时间中,乱七八糟得学了一大堆,想趁找工作之前把所学的东西整理一遍,所以就尝试着做一个完整的JavaWeb系统,这几天试着做了一个用户登录的功能,分享给大家,肯定有很多不完善的地方,希望大家提提宝贵的意见,必将努力完善它。 我贴出此篇博客的目的是,将一些以后有可能用到的重复性的代码保存下来,用于以后需要时直接复制粘贴,所以,此篇博客大部分都是代码,讲解性的语句并不多,如果大家看得头疼,不如不看,以后万一用到的话再拿过来修修改改即可。 有可能用得到的部分:生成验证码的Java类、操作数据库的Java类 用户登录模块采用了多种语言: Html、css、query:页面 Servlet、java:后台 运行效果图: Login.html代码: 登录界面

登录
JQuery代码:login.js $(function(){ $(".loginform_submit").click(function(){ if(checkInput()) { $("form").action("/loginServlet"); }else{ return false;

javaWeb项目实现简单的登录注册

JavaWeb项目实现登录注册 一. 电脑,eclipse,tomcat,mysql数据库 数据库连接架包 二.项目开始 1.打开eclipse创建一个新的JavaWeb项目,将下载的数据库连接架包放到WebContent 目录下的WEB-INFO中的lib下,右键加入构建路劲。 2.在WebContent下新建一个login.jsp的登录页面 代码如下: <%@page language="java"contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <% String path = request.getContextPath();//获取项目名String basePath = request.getScheme() + "://" + request.getServerName() + ":"+ request.getServerPort() + path + "/"; //项目的绝对路径

%> 登录页面

登录页面

${message}

Java qq登陆界面

以下是效果截图: 素材: 以下是源代码: import java.awt.*; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import javax.swing.*; public class QqClientLogin2 extends JFrame implements MouseListener{ //北部区域标签,放图片QQ2012 JLabel jlb;

//中部区域 JPanel jp; JComboBox cb;//组合框设置状态用的 JLabel jp_jlb1,jp_jlb3,jp_jlb4; //标签"注册账号""找回密码" JTextField jp_jtf; // QQ号码/手机/邮箱 JTextField jp_jtf; // QQ号码/手机/邮箱 TextField jp_pw; //密码 JCheckBox jp_jcb1,jp_jcb2;//复选框设置"记住密码""自动登录" Font f1=new Font("宋体", Font.PLAIN, 14); //设置字体 JButton jp_jb1,jp_jb2,jp_jb3;//按钮设置登陆等 public static void main(String[] args) { QqClientLogin2 acl=new QqClientLogin2(); } public QqClientLogin2() { jlb=new JLabel(new ImageIcon("image/tou.gif")); //图片路径可要根据你放置的位置修改不然显示不出来若是和文件放同一个地方则image/ 可以去掉 jp=new JPanel(); jp.setLayout(null); jp_jlb1=new JLabel(new ImageIcon("image/qqtou.gif")); jp_jlb1.setBounds(18, 10, 85, 85); //设置标签位置前提是要空布局 jp_jtf=new JTextField("QQ号码/手机/邮箱"); jp_jtf.setForeground(Color.LIGHT_GRAY);//设置颜色 jp_jtf.addMouseListener(this); jp_jtf.setBounds(118, 11, 170, 25); jp_pw=new TextField("密码",24); jp_pw.setForeground(Color.LIGHT_GRAY); jp_pw.addMouseListener(this); jp_pw.setBounds(118, 45, 170, 24); jp_jlb3=new JLabel("注册账号"); jp_jlb3.setFont(f1); jp_jlb3.setForeground(Color.BLUE); jp_jlb3.setBounds(300, 10, 70, 25); jp_jlb4=new JLabel("找回密码"); jp_jlb4.setFont(f1);//设置"找回密码"字体 jp_jlb4.setForeground(Color.BLUE); //设置"找回密码"字体颜色 jp_jlb4.setBounds(300, 43, 70, 25); String[] s={"在线","隐身","忙碌","离线"}; //设置状态

java 登录界面

实验2 1、数据库及表 数据库名:haier。 数据表:数据表名为“userdetail”,表中有五个字段:username (用户名)、userpass(密码)、role(权限)、regtime(注册时间)、lognum(登陆次数)。其中username为主键,userpass非空。Role 的默认值为0,lognum的默认值为0。 2、注册页面 存放位置:存放在WebContent根目录中。 Action=:“RegistServlet”。 Web.xml 中的servlet-mapping中的:“/RegistServlet”。 3 数据库操作类 类名:“DBOper”。 包:“com.haiersoft.db”。 方法:有4个方法分别为获取数据库连接、关闭数据库、查询数据、更新数据。 4 Web.xml的配置 在Web.xml配置文件中,配置了4个初始参数,分别是连接数据库时用到的服务器地址、数据库名、用户以及密码信息。 5 RegisterServlet类 获取表单的数据:获取表单的用户名和密码。

获取Web.xml中的初始化参数:通过ServletContext获得。 连接数据库的方法:用getConn()连接数据库。 插入数据的方法:调用DBOper类中的executeUpdate()方法将新用户信息插入到数据库。 实践2.G.2 1 登陆界面 文件名:index.html 存放路径:在WebContent根目录下。 Action=:“LoginServlet”。 Web.xml中的servlet-mapping中的:“/LoginServlet”。 2 LoginServlet 文件存放的包:com.haiersoft.servlet。 获取表单的数据:使用request.getParameter()获取表单参数信息。 获取session:用request.getSession()获取session。 将session存入cookie:使用session中的setAttribute()方法保存数据。 3 MainServlet 包:com.haiersoft.servlet。 如何获取session:用request.getSession()获取session。 如何访问url:打开IE,在地址栏中输入http://localhost:

java swing 好关系登录界面连接数据库代码

package com.kehuglxt.swing1; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.Statement; import java.util.ArrayList; import java.util.List; public class Denglujdbc { //连接 Connection conn = null; //构造方法 public Connection getconn() { //连接时可能会出现异常所以要抛出异常 try { Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundException e) { // TODO: handle exception e.printStackTrace(); } //连接的数据库地址 String url = "jdbc:mysql://127.0.0.1:3306/shoping"; //用户名 String useName = "root"; //用户密码 String password = "admin"; try { //连接 conn = DriverManager.getConnection(url, useName, password); if (conn != null) { //打印输出测试一下能不能输出 //System.out.println("连接数据库成功"); } } catch (Exception e) { // TODO: handle exception e.printStackTrace(); }

java学生信息管理系统+代码

数据库课程设计 姓名:于晴 学号:7 班级:1班 指导教师:陈学进 14年12月30

学生信息管理系统 1、内容简介 学生信息管理系统是学校管理的重要工具,是学校不可或缺的部分。随着在校大学生人数的不断增加,教务系统的数量也不断的上涨,。学校工作繁杂、资料众多,人工管理信息的难度也越来越大,显然是不能满足实际的需要,效率也是很低的。并且这种传统的方式存在着很多的弊端,如:保密性差、查询不便、效率低,很难维护和更新等。然而,本系统针对以上缺点能够极大地提高学生信息管理的效率,也是科学化、正规化的管理,与世界接轨的重要条件。所以如何自动高效地管理信息是这些年来许多人所研究的。 本系统提供了学生信息管理中常见的基本功能,主要包括管理员和学生两大模块。管理员的主要功能有对学生信息和课程信息进行增加、删除、修改、查找等操作,对选课信息进行管理,对成绩信息和用户信息进行修改、查找等操作。学生的主要功能有对学生信息和成绩信息进行查看,对个人的密码信息进行修改等。 一. 需求分析 本系统需要实现的功能: (1)、管理员对学生信息和课程信息进行增加、删除、修改、查找等操作,对选课信息进行管理,对成绩信息和用户信息进行修改、查找等操作。 (2)、学生对学生信息和成绩信息进行查看,对个人的密码信息进行修改等。 2 总体设计 学生信息管理系统主要包括管理员和学生两大模块。管理员模块包括:学生信息管理、课程信息管理、选课信息管理、成绩信息管理、用户信息管理等。用户模块包括:学生信息查看、成绩信息查看、个人信息管理等。系统总体结构如图所示。 总体结构图 3 模块详细设计 1、学生信息管理模块 学生信息管理模块包括增加、删除、修改、查询、显示全部等。具体的结构图如图所示。 学生信息管理模块结构图 2、选课信息管理模块 选课信息管理模块包括查询、显示全部等。具体的结构图如图所示。 选课信息管理模块结构图 3、成绩信息管理模块 成绩信息管理模块包括修改成绩、查询、显示全部等。具体的结构图如图所示。 成绩信息管理模块结构图 4、用户信息管理模块 用户信息管理模块包括修改、查询、显示全部等。具体的结构图如图所示。

java登录界面

Java图形界面用户登陆界面 班级:15级计科2班 姓名:刘宗华 学号:20150521242

一、登录界面 package qq; import java.awt.Image; import java.util.EventObject; import java.awt.*; import java.awt.event.*; import java.awt.event.ActionListener; import javax.imageio.ImageIO; import javax.swing.*; import java.io.File; import javax.swing.JFrame; import java.awt.image.BufferedImage; publicclass jiemian extends JFrame{ JButton qr=new JButton("确认"); JButton qx=new JButton("取消"); JTextField s1=new JTextField(10); JTextField s2=new JTextField(10); publicstaticvoid main(String[] args) {

// TODO Auto-generated method stub jiemian jiemian=new jiemian(); jiemian.setTitle("登录界面"); jiemian.setSize(400, 300); jiemian.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); jiemian.setVisible(true); //背景图片 ImageIcon bg=new ImageIcon("D:\\p.jpg"); JLabel label=new JLabel(bg); label.setBounds(0,0,bg.getIconWidth(),bg.getIconHeight()); jiemian.getLayeredPane().add(label, new Integer(Integer.MIN_VALUE)); JPanel jp=(JPanel)jiemian.getContentPane(); jp.setOpaque(false); } public jiemian() { //创建组件 qr.setForeground(Color.RED); qx.setForeground(Color.RED); JLabel yhm=new JLabel("用户名:"); JLabel mm=new JLabel("密码:"); yhm.setForeground(Color.RED); mm.setForeground(Color.RED); //面板 JPanel a1=new JPanel(); JPanel a2=new JPanel(); JPanel a3=new JPanel(); a1.setOpaque(false); a2.setOpaque(false); a3.setOpaque(false); //getContentPane().add(a1); //getContentPane().add(a2); //getContentPane().add(a3); //设置布局 GridLayout x=new GridLayout(3,2); setLayout(x);//三行两列

相关文档
相关文档 最新文档