(一)java Swing的学习。

  (1)学习如何安装windowbuilder插件的安装。

    <1>在eclipse中点击help

    <2>在help的下拉选中选择install new software,弹出插件的添加界面

    <3>点击add,在弹出如下界面:

      

    <4>在name栏输入windowbuider

      在location中输入如下地址:http://download.eclipse.org/windowbuilder/WB/release/R201506241200-1/4.5/

      点击ok后,会出现如下界面:

      

    <5>然后把出项的组件全选中,点击finish,然后等待插件安装完成

  (2)学会利用windowuilder进行界面的设计

    <1> 创建界面,利用图形化设计

    <2>拖放界面组件(按钮,文本框,标签)

    <3>为界面组件添加图标和添加事件

  (3)弥补图形化设计的不足

    <1>改变系统字体    

    //改变系统默认字体
    Font font = new Font("Dialog", Font.PLAIN, 12);
    java.util.Enumeration keys = UIManager.getDefaults().keys();
    while (keys.hasMoreElements()) {
      Object key = keys.nextElement();
      Object value = UIManager.get(key);
      if (value instanceof javax.swing.plaf.FontUIResource) {
      UIManager.put(key, font);
      }
    }

    <2>优化文本域边框

    //设置文本域边框
    bookTypeDescText.setBorder(new LineBorder(new java.awt.Color(127,157,185), 1, false));

  (4)一些组件的特殊使用

    <1>下拉框的使用:

      当显示的是项目中的一个实体类的一个属性时,一般会重写实体类的toString方法,然后向下拉框中添加该实体类,而不是该属性。

    <2>JDesktopPane的使用

      当这个界面是其他界面的载体时,在窗体中使用JDeskTopPane组件,然后把其他界面使用InternalFrame设计。

    <3>JTabled的使用

      通过图形化界面设计表格的结构和添加事件

      获取表格的模型:  

        DefaultTableModel dtm=(DefaultTableModel) bookTypeTable.getModel();

      设置表格的行数:

        dtm.setRowCount(0);

      通过Vector集合类来向表格中添加一行数据:

        //新建一个vector并初始化
        Vector v=new Vector();
        v.add(rs.getInt("id")); //向vector中添加id
        v.add(rs.getString("bookTypeName")); //向vector中添加bookTypeName
        v.add(rs.getString("bookTypeDesc")); //向vector中添加bookTypeDesc
        //将vector中的数据显示到表格中
        dtm.addRow(v);

      在为表格添加了MousePressed事件事件后,获取鼠标选中的行号

        int row=bookTable.getSelectedRow();

      获取指定行号的指定列的值

        String id=bookTable.getValueAt(row,0)+"";

(二)JDBC的学习

  (1)DBUtil工具类

    <1>数据库的驱动,地址的参数值只需要加载一次,因此在静态代码块中完成参数的读取和驱动类的加载。

    <2>使用。properties来存储数据库的各个参数,以便于后期数据库的切换和维护。

    <3>利用java.util中的Properties类来读取。peoperties中的存储的参数值。

      Properties p=new Properties();  //创建Properties对象。

      P.load(DBUtil.class.getClassLoader().getResourceAsStream()); //一般通过类加载来获取静态的资源和配置文件。

      p.getProperty("xxx"); //读取文件对应的参数值。

  (2)根据实体类创建对应的实体Dao类

    <1>在Dao类中实现对数据库实体记录的增删改查。

    <2>一般静态的sql语句,使用Statement对象。而动态sql语句使用PreparedStatement对象。

    <3>DDL使用execute方法,DML使用executeUpdate方法,DQL使用executeQuery方法。

  (3)特殊使用技巧

    <1>

     *  在查询一个表时,具有不确定的多个查询条件时,最好创建一个字符串缓冲类来不断添加条件到sql语句中。

     * 同时,不知道有哪些条件是第一条件,无法确定where关键字的所在,于是添加条件都用(and 条件)

     * 最后字符串转换成字符串时在将第一个and替换成where,最终得到完整的sql语句

(三)在项目设计中eclipse快捷键的学习使用

  main的快捷键:main  Alt+/

  Alt+/: 自动提示

  Ctrl+1: 提示报错

  输出语句的快捷键: syso Alt+/

  弹出菜单快捷方式: Ctrl+Shift+S

  自动引入包:Ctrl+Shift+O

  进入实现:按住Ctrl 鼠标移动上去,点击。

  快速删除一行: Ctrl+D

  一行代码的快速移上移下: Alt+上箭头键和下箭头键

  快速修齐代码: Ctrl+Shift+F

(四)Debug的使用

  <1>在代码上打断点

  <2>进入debug模式

  <3>F6 继续下一步

  <4>F8 执行到下一个断点,加入没有的话,执行完程序

  <5>F5 进入方法内部

  <6>F7 跳出方法

  <7>在debug中,可以动态的修改变量的值

  <8>Ctrl+Shift+I 可以查看表达式的值

Java swing项目-图书管理系统(swing+mysql+jdbc) 总结的更多相关文章

  1. Java swing项目-图书管理系统(swing+mysql+jdbc)

    (一)项目功能分析 该项目是设计一个图书管理系统,主要包含的内容有: (1)管理员登陆界面 ->信息录入 ->登录 ->重置 (2)图书管理系统总界面 ->子界面菜单: 1)图 ...

  2. java web 项目 图书管理系统的设计与实现

     java web 项目 图书管理系统的设计与实现

  3. 简单的员工管理系统(Mysql+jdbc+Servlet+JSP)

    员工管理系统 因为学业要求,需要完成一个过关检测,但是因为检测之前没有做好准备,且想到之前用mysql+jdbc+Struts2+bootstrap做成了一个ATM系统(主要有对数据的增删改查操作), ...

  4. ORM练习项目-图书管理系统(BMS)实现细节

    分析 一本书 可以由多个作者编著 一本书只能由一个出版社出版 一个作者可以写多本书 每个作者有自己的简介 对应关系: Author-Book # 多对多 Publish-Book # 一对多 Auth ...

  5. javac 编译java文件提示: 程序包com.mysql.jdbc不存在

    需要将引用的包放到:/usr/java/jdk1.7.0_75/jre/lib/ext 也就是jdk安装目录/jre/lib/ext   目录下面

  6. JAVA图书管理系统汇总共27个

    好多人都在搜索图书管理系统,感觉这个挺受欢迎的,所以整理了一系列的图书管理系统,让大家选择.java图书馆管理系统[优秀毕业设计论文+源码]http://down.51cto.com/data/683 ...

  7. JAVA图书管理系统汇总共27个[转]

    java图书馆管理系统[优秀毕业设计论文+源码]http://down.51cto.com/data/68350java+sql server图书管理系统 http://down.51cto.com/ ...

  8. java链接MySQL数据库时使用com.mysql.jdbc.Connection的包会出红线问题 java.lang.ClassNotFoundException: com.mysql.jdbc.Driver问题

    package com.swift; //这里导入的包是java.sql.Connection而不是com.mysql.jdbc.Connection import java.sql.Connecti ...

  9. Mybatis批量更新报错com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException

    批量更新数据,非常简单的一段代码,硬是报错,插入的数据也能显示出来 List<User> userlist = new ArrayList<User>(); userlist. ...

随机推荐

  1. [nRF51822] 13、浅谈nRF51822和NRF24LE1/NRF24LU1/NRF24L01经典2.4G模块无线通信配置与流程

    前言:  nRF51可以支持基于2.4G的互相通信.与NRF24LE1的通信.与NRF24LU1的通信.与NRF24L01的通信. 一.nRF51822基于2.4G和nRF51822通信 其中nRF5 ...

  2. mybatis传入多个参数

    一.单个参数: public List<XXBean> getXXBeanList(String xxCode); <select id="getXXXBeanList&q ...

  3. 3个sprint的团队贡献分

    第一次冲刺贡献分   成员名字 贡献分 101丘娟 23 108周诗琦 26 107杨晓霞 24 124陈程 27     第二次冲刺贡献分   成员名字 贡献分 101丘娟 23 108周诗琦 27 ...

  4. HTML5入门3---视频播放器

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta na ...

  5. HTML&amp;CSS基础学习笔记1.30-颜色的表达

    颜色的表述 在网页中的颜色设置是非常重要,CSS的属性有字体颜色(color).背景颜色(background-color).边框颜色(border)等,设置颜色的方法也有很多种: 1.英文命令颜色 ...

  6. linux shell 正则表达式(BREs,EREs,PREs)差异比较

    linux shell 正则表达式(BREs,EREs,PREs)差异比较 则表达式:在计算机科学中,是指一个用来描述或者匹配一系列符合某个句法规则的字符 串的单个字符串.在很多文本编辑器或其他工具里 ...

  7. Android 获取SD卡路径和推断SD卡是否存在

    android获取sd卡路径方法: 不建议直接写死android sd卡的路径. public String getSDPath(){ File sdDir = null; boolean sdCar ...

  8. API创建员工联系人

    DECLARE ln_contact_rel_id PER_CONTACT_RELATIONSHIPS.CONTACT_RELATIONSHIP_ID%TYPE; ln_ctr_object_ver_ ...

  9. 读《流畅的python》第一天

    1.跟运算符无关的特殊方法了解: 2.跟运算符相关的特殊方法了解: 3.内置的序列类型分类: 容器序列 list.tuple 和 collections.deque 这些序列能存放不同类型的数据. 扁 ...

  10. SVN更新无数次后仍显示Out of date

    理器相集成的TortoiseSVN更是方便. 但有时候在提交修改后的文件时,却莫名其妙的出现out of date错误,导致工程无法commit,即使将新文件删了重新update,然后再在旧文件上作修 ...