实验五 java gui(预习报告)

面向对象——Java实验报告

实验五: 图形化应用程序开发

实验五 图形化应用程序开发(预习报告)

<center> 
<strong>姓名:strong> 
<u>XXXu> 

<strong>班级:strong> 
<u>XXXXXu> 

<strong>学号:strong>
<u>XXXXXXXXXXXXu>center>

一、实验目的

通过图形化界面设计相关类、接口等,实现用户图形化应用程序的开发;

进一步巩固JDBC连接数据库以及文件读写操作。

二、 实验环境

IntelliJ IDEA Community Edition 2021.1 x64 + openjdk-16.0.1

三、实验内容

  1. 利用GUI模拟用户登录,界面设计如图1:
    所有的用户名密码存储在数据库中;
    定义一个类使用JDBC连接数据库,读取用户名密码数据进行匹配以实现用户登录,若登录成功,提示用户登录成功,否则,提示用户登录失败;
实验五 java gui(预习报告)_第1张图片
图1 用户登录界面

问题分析:

通过对于问题内容的分析,得出本实验的主要需求,

  1. 实现数据库的连接操作
class sqlTest{
    public sqlTest(String User,String PASS){
        pass=PASS;
        user=User;
    }
    public boolean Connect(){
         Connection conn = null;
        Statement stmt = null;
        	//连接成功
            conn.close();
            return true;
            //连接失败
            return false;}}
    private String pass;
    private String user;
}
  1. 进行窗体化的GUI设计,对于密码和用户名连接是否成功进行校对。
      public void actionPerformed(ActionEvent e) {
      String username =userText.getText();
      String password = passwordText.getText();
      sqlTest sql=new sqlTest(username,password);
      if (sql.Connect()){
      tipsJLabel.setText("登录成功,将在2s跳转");
      }
      else {tipsJLabel.setText("登录失败,用户名或密码错误");}}
  1. 设计一个关于文件操作的图形化应用程序,至少实现以下功能:
    包含一个文本框以及添加按钮,在文本框中输入文字后,点击添加按钮可以在文件中写入文本框中的文字;
    包含一个读取按钮,点击该按钮后,可以读取文件内容,并显示到文本框中。

问题分析:
通过对于问题的分析可知本题主要涉及的问题是文件的读写操作以及图形化界面的设计。
在图形化界面设计主要使用swing和awt两个库进行操作。
文件读写主要使用io操作的相关库。

保存文件:

fileOutputStream = new FileOutputStream(file);
fileOutputStream.write(contents.getBytes(StandardCharsets.UTF_8));
fileOutputStream.flush();
fileOutputStream.close();
TipsLable.setText("文件写入成功");
TipsLable.setForeground(Color.BLUE);

打开文件:

InputStream inputStream = new FileInputStream(file);
int n = inputStream.read(buffer, 0, length);
inputStream.close();
String str = new String(buffer, 0, n, StandardCharsets.UTF_8);
outputTextArea.setText(str);

四、预习遇到的问题

  在预习本次实验的过程中对于相关的GUI操作还不太熟悉,对于数据库操作还相对较为陌生,希望通过本次实验能够很好的解决我在预习的过程中所遇到的问题。并希望通过实验中所遇到的相关问题进行学习和改进。

你可能感兴趣的:(笔记,java,数据库,开发语言)