Java密码管理器

    最近过了一遍JavaSE的内容,想写个比较综合的程序巩固一下之前的学习内容。在平时生活中,各个地方都需要账号密码,常常会忘记好久没等网站的账号密码,故用Java实现了一个比较简单的密码管理器,可以实现账号密码的增删改。

    在这小应用中,用了Java awt和swing的实现了界面。而数据存在了MySQL数据库中,练习了下JDBC编程。写完之后,用eclipse导出了可执行jar包。

    在做这个小应用过程中,认识到了GUI应用编程,主要可以分为界面实现和按钮事件处理两个部分。

    在实现这个小应用的过程中也遇到了几个小问题,在这里记录一下问题和解决办法。

    1. 实现界面时,用了布局管理器,发现四周很拥挤

    先将JFrame设为Borderlayout,同时设置水平和垂直间距。主要界面通过JPanel放置在中间位置,最后在四周添加空JPanel,就在四周形成了空隙。

loginFrame.setLayout(new BorderLayout(10,10));
//为了让四周留空,看起来不那么拥挤
loginFrame.add(loginPanel2,BorderLayout.SOUTH);
loginFrame.add(new JPanel(),BorderLayout.EAST);
loginFrame.add(new JPanel(),BorderLayout.WEST);
loginFrame.add(new JPanel(),BorderLayout.NORTH);

    2.  JTable组件的数据操作

    主要是通过DefaultTableModel间接实现JTable的读取修改。

//JTable设置为不能编辑且可以选择
DefaultTableModel tableModel = new DefaultTableModel(tableData, tableTitle) {
    //设置Jtable不能编辑只可以选择
    private static final long serialVersionUID = 1L;
    public boolean isCellEditable(int row, int column) {
	return false;
    }
};
//删除一行jtable数据
tableModel.removeRow(selectRow);	
//添加一行数据
tableModel.addRow(new Object[] {websiteText.getText(),userNameText.getText(),
					passwordText.getText(),urlText.getText()});
//获取选中行
int editRowNum = MainWindow.jTable.getSelectedRow();

 3. 查询数据库和表是否存在的sql语句

    想要创建数据库时用JDBC而不要用DBUtils的QueryRunner。

//查询某个数据库存不存在
sql = "SELECT COUNT(*) FROM information_schema.SCHEMATA WHERE SCHEMA_NAME='test'";
//查询某个数据库下的某个表存不存在
sql = "SELECT COUNT(*) FROM information_schema.TABLES t WHERE t.TABLE_SCHEMA ='databaseName' AND t.TABLE_NAME ='tableName'";

    源码和可执行jar包GitHub地址:

https://github.com/ImCHT/YuQuan_GitHub/tree/master/Java/PWKeeper


你可能感兴趣的:(Java)