利用JavaSwing编写一款天气数据处理器

来源:互联网 发布:互助保险 知乎 编辑:程序博客网 时间:2024/06/04 20:11

本市的气象局需要一款筛选天气数据的软件,找到我们协会帮忙,学长将这个任务安排给了我一个人,我利用了将近一星期的时间在昨天完成,将自己独立完成的第一个项目,写成博客,将该项目中用到JavaSwing编程和Java连接SQLServer2005的知识点进行总结,并回味一下自己这一个星期来的喜怒哀乐。

1、如何实现登录界面和成功界面的切换

其实这功能很好实现,在这个软件中,分为两个界面。
登录界面


登入成功后,进行数据筛选的界面


登入界面根据用户输入的IP地址实现远程连接数据库,登入成功后会自动跳转到第二个界面。代码如下:

//使用一个JFrame来容纳两个JPanel容器public Win() {        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);        setBounds(100, 100, 938, 464);        contentPane = new JPanel();        contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));        setContentPane(contentPane);        contentPane.setLayout(null);        login = new Login();        login.setBounds(0, 0, 912, 415);        contentPane.add(login);        //先将登录界面设置为可视        login.setVisible(true);    }
    //经过筛选语句,登录成功,将登录成功界面加入JFrame容器中                    Success success = new Success();                    success.setBounds(0, 0, 2000, 2000);                    Win.contentPane.add(success);                    JOptionPane.showMessageDialog(null, "欢迎!", "提示",                            JOptionPane.INFORMATION_MESSAGE);                    //成功界面可见,登录界面不可见                    success.setVisible(true);                    Win.login.setVisible(false);            

2、SQLServer2005数据库连接问题

重来没用过这款数据库,而且2005版本在Win10操作系统下因为兼容问题不能正常运行。现在简单将Java连接SQLServer2005数据库的过程告诉大家。
首先下载好Java连接SQLServer2005所需要的第三方JAR包sqljdbc4.jar,看好你的虚拟机版本,1.5上下存在划分。然后放到项目的lib文件夹下,鼠标右键BuildPath。

如图


Java远程连接数据库的代码如下:

Class.forName(Infor.getP().getProperty("driverClass"));                 Connection conn = DriverManager.getConnection("jdbc:sqlserver://"                    + Infor.getP().getProperty("IP") + ":1433;databaseName="                    + Infor.getP().getProperty("数据库"), Infor.getP()                    .getProperty("username"),                    Infor.getP().getProperty("password"));

如果你想连接本地数据库,你把IP换成localhost即可。注意,想实现远程数据库连接,数据库的TCP连接必须打开,且两台电脑要在一个IP的不同端口下。

3、利用properties实现配置文件

将一些用户可能需要修改的数据放在配置文件中,然后利用properties流实现对文件的读取和修改。代码如下:

//设置用户可能更改的数据    try (BufferedWriter bw = new BufferedWriter(new FileWriter("db.txt"))) {            p.setProperty("IP", IPvalue);            p.setProperty("username", username);            p.setProperty("password", password);            p.setProperty("数据库", database);            p.store(bw, null);        } catch (IOException e) {            e.printStackTrace();        }
//读取配置文件p = new Properties();        try ( //没有文件时,先创建文件FileWriter w =new FileWriter("db.txt");                BufferedReader br = new BufferedReader(new FileReader("db.txt"))) {            p.load(br);        } catch (Exception e) {            e.printStackTrace();        }

其实整个软件并没有什么难度,但对于刚接触编程的我来说,第一次独自完成一个有用户提出需求的软件还是颇有一番感慨!
说实话这一个星期很累,每天花费近10个小时的时间在这个项目上,遇到问题,解决问题,然后又遇到,再解决,也因为过一个报错气的直跺脚,但是当你完成它的时候,心里有想流泪的冲动,当最后一次运行成功生成带数据的文件时,那种成就感与喜悦真的是忘不了。
我的编程路还没很长,第一个项目之后,还会有很多等着我。坚持,不放弃!

0 0
原创粉丝点击