JAVA基础之DAO设计和JFrame Swing

目录

1.DAO

2.JFrame Swing介绍

4.Swing主要容器

5.使用JFrame创建一个窗体步骤

6.使用JDialog创建一个模式窗体

7.通过JPanel设置背景颜色

8.通过JOptionPane实现对话框操作


1.DAO模式

 一种设计模式  按照该模式将Java程序分为5个包
每一个包都具有不同的作用。
com.util包
    DBHelper类---数据库帮助类
    作用:①加载驱动②创建连接③关闭数据库
com.entity包
    实体包,SQL Server数据库中有多少张表,那么该包下就
    具有相对应的多少个类,数据表中的属性要与类中的属性一一对应。
    Student|Users
com.dao包
    Java程序是基于面向接口编程
    DAO方法:先定义接口,后实现该接口
    每一个实体包都对应着一个DAO类
com.ui包
    窗体代码写在该包中

com.test包
    测试包
例如:
DAO模式实现学员管理系统
1.创建数据库|创建表|创建Java项目
2.点击项目窗机看lib文件夹  将驱动包复制到该文件夹内,选中并右击...build path--add
3.创建5个包(util|entity|dao|ui|test)
4.编写DBHelper(util包)
5.编写Studet(entity)
6.DAO(定义接口  后实现)
7.窗体(ui)
8.测试OK

2.JFrame Swing介绍

1.Swing是一个用于开发Java图形界面应用程序的工具包,以AWT为基础。

2.Swing组件均以“J”开头。

3.Swing主要为文本处理、按钮、标签、列表、面板、组合框、滚动条、滚动面板、菜单、表格和树提供了组件。

4.Swing主要容器

4.1 JFrame(一般操作的窗体)
4.2 JPanel(放在其它容器中(桌布))
4.3 JDialog(模式窗体),(关闭时一般使用dispose选项)
4.4 JOptionPane(做提示)
    a: 消息对话框(只有确定)--showMessageDialog
    b: 确认对话框(有是否取消)--showConfirmDialog
    c: 输入对话框(有是否以及接收默认值)--showInputDialog

5.使用JFrame创建一个窗体步骤

    5.1 新建一个类继承于JFrame类
    5.2 该类编写一个无参构造函数
    5.3 在无参构造函数中编写以下设置方法:(5)个
    5.3.1 设置标题 setTitle("这是我的第一个窗体");
    5.3.2 设置窗体的大小 setSize(400,500); 单位:像素(px)
    5.3.3 设置窗口居中显示 setLocaltionRelativeTo(null);
    5.3.4 设置默认关闭模式 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
    5.3.5 设置窗体为可见 setVisible(true)

    不常用方法:
        ①setResizable(false)  设置窗口不可拖动
        ②setUndecorated(true) 设置窗口无边框

6.使用JDialog创建一个模式窗体

6.1新建一个类继承与JDialog类
6.2该类编写一个无参构造函数
6.3在无参构造函数中编写以下设置方法:
6.3.1 设置标题 this.setTitle("模式窗体");
6.3.2 设置窗体大小 this.setSize(200, 300);
6.3.3 设置窗体居中显示 this.setLocationRelativeTo(null);
6.3.4 设置背景颜色 this.getContentPane().setBackground(Color.red);
6.3.5 设置默认关闭模式 this.setDefaultCloseOperation(JDialog.HIDE_ON_CLOSE);//JDialog.HIDE_ON_CLOSE  关闭单个  关闭自己
6.3.6 设置窗体为可见 this.setVisible(true);

7.通过JPanel设置背景颜色

   JPanel jp = new JPanel();
   jp.setBackground(Color.BLACK);
   jp.setSize(400, 250);
   JPanel jp2 = new JPanel();
   jp2.setBackground(Color.red);
   this.add(jp);
   this.add(jp2);

8.通过JOptionPane实现对话框操作

8.1 提示对话框
    JOptionPane.showMessageDialog(null, "终于等到你,还好没放弃");
8.2 是 否 取消窗口
    int n = JOptionPane.showConfirmDialog(null, "是否离开");
    System.out.println(n);
    if (n == 0) {
        JOptionPane.showMessageDialog(null, "你怎么这么狠心");
    } else if (n == 1) {
        JOptionPane.showMessageDialog(null, "呵呵");
    } else if (n == 2) {
        JOptionPane.showMessageDialog(null, "再见");
    }

8.3 输入对话框
    JOptionPane.showInputDialog("请输入你的用户名: ");
    String username = JOptionPane.showInputDialog(null,"请输入你的用户名: ");
    System.out.println("username = " + username);
    String password = JOptionPane.showInputDialog(null,"请输入你的密码: ");
 

    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/589427.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ssh远程访问windows系统下的jupyterlab

网上配置这一堆那一堆,特别乱,找了好久整理后发在这里 由于既想打游戏又想做深度学习,不舍得显卡性能白白消耗,这里尝试使用笔记本连接主机 OpenSSH 最初是为 Linux 系统开发的,现在也支持包括 Windows 和 macOS 在内…

[1673]jsp在线考试管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 JSP 在线考试管理系统是一套完善的java web信息管理系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0&…

R语言学习—4—数据矩阵及R表示

1、创建向量、矩阵 在R中,c()函数用于创建向量或组合数据对象。它在某些情况下可能会被省略,因为R有一些隐式的向量创建规则。例如,当你使用:操作符创建一个数字序列时,R会自动创建一个向量,所以你不需要显式地调用c()…

《QT实用小工具·五十二》文本或窗口炫酷有趣的滚动条——果冻条

1、概述 源码放在文章末尾 该项目实现了文本或窗口纤细的滚动条——果冻条 一个可以像弓弦一样拉出来,并且来回弹动的普通滚动条。 思路为此,但发现实际效果更像条状果冻,并且略有谐音, 故,称之为——“果冻条”&am…

条件依赖性的方法示例

5个条件判断一件事情是否发生,每个条件可能性只有2种(发生或者不发生),计算每个条件对这件事情发生的影响力,条件之间有很强的依赖关系。 例一 如果条件之间有很强的依赖关系,那么简单地计算每个条件独立的…

初探 Google 云原生的CICD - CloudBuild

大纲 Google Cloud Build 简介 Google Cloud Build(谷歌云构建)是谷歌云平台(Google Cloud Platform,GCP)提供的一项服务,可帮助开发人员以一致和自动化的方式构建、测试和部署应用程序或构件。它为构建和…

B树:原理、操作及应用

B树:原理、操作及应用 一、引言二、B树概述1. 定义与性质2. B树与磁盘I/O 三、B树的基本操作1. 搜索(B-TREE-SEARCH)2. 插入(B-TREE-INSERT)3. 删除(B-TREE-DELETE) 四、B树的C代码实现示例五、…

基于 Wireshark 分析 IP 协议

一、IP 协议 IP(Internet Protocol)协议是一种网络层协议,它用于在计算机网络中实现数据包的传输和路由。 IP协议的主要功能有: 1. 数据报格式:IP协议将待传输的数据分割成一个个数据包,每个数据包包含有…

mac电脑关于ios端的appium真机自动化测试环境搭建

一、app store 下载xcode,需要登录apple id 再开始下载 二、安装homebrew 1、终端输入命令&#xff1a; curl -fsSL <https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh>如果不能直接安装&#xff0c;而是出现了很多内容&#xff0c;那么这个时候不要着急&…

06.Git远程仓库

Git远程仓库 #仓库种类&#xff0c;举例说明 github gitlab gitee #以这个仓库为例子操作登录码云 https://gitee.com/projects/new 创建仓库 选择ssh方式 需要配置ssh公钥 在系统上获取公钥输入命令&#xff1a;ssh-keygen 查看文件&#xff0c;复制公钥信息内…

【画图】读取无人机IMU数据并打印成log用matlab分析

一、修改IMU频率 原来的imu没有加速度信息&#xff0c;查看加速度信息的指令为&#xff1a; rostopic echo /mavros/imu/data 修改imu频率&#xff0c;分别修改的是 原始IMU数据话题 /mavros/imu/data_raw。飞控计算过后的IMU数据 /mavros/imu/data rosrun mavros mavcmd l…

Uniapp好看登录注册页面

个人介绍 hello hello~ &#xff0c;这里是 code袁~&#x1f496;&#x1f496; &#xff0c;欢迎大家点赞&#x1f973;&#x1f973;关注&#x1f4a5;&#x1f4a5;收藏&#x1f339;&#x1f339;&#x1f339; &#x1f981;作者简介&#xff1a;一名喜欢分享和记录学习的…

【Linux-点灯烧录-SD卡/USB烧写】

目录 1. 烧写方式2. 烧写之代码编译2.1 led.s->led.o2.2 led.o->led.elf2.3 led.elf->led.bin2.4 反汇编&#xff1a;led.elf->led.dis 3. 烧写之烧录到SD卡上&#xff1a;3.1 开启烧录软件权限&#xff1a;3.2 确定SD卡的格式&#xff1a;FAT323.3 烧录到SD卡上3.…

makefile中wildcard函数和patsubst用法

makefile中函数用法 makefile中函数的调用语法&#xff1a; $(<function> <arguments>) 或 ${<function> <arguments>}函数调用以$开头用{}或者()将函数名以及参数包含起来函数名和第一个参数之间以空格分隔参数之间使用逗号分隔 wildcard函数 wil…

python判断大图中包含小图并输出位置总结

python判断大图中包含小图并输出位置总结 没啥可说的&#xff0c;项目遇到了就直接上代码&#xff0c;可以减轻劳动力&#xff0c;花最少得时间实现应用功能。 import cv2 # 读取大图片和小图片的路径 img_big cv2.imread(big_image.png) img_small cv2.imread(small_image…

VScode+ubuntu配置ROS开发环境

VScodeubuntu配置ROS开发环境 写在前面 在vscode中先安装几个插件&#xff1a;中文语言包、Python插件、C插件、CMake插件、vscode-icons、ROS插件、Visual Studio IntelliCode、URDF、Markdown All in One 一、工作空间是什么 在ROS机器人开发中&#xff0c;我们针对机器人…

ue引擎游戏开发笔记(27)——解决角色移动及转动存在卡顿掉帧小技巧

1.需求分析&#xff1a; 随之游戏越来越大&#xff0c;难免出现部分时候移动出现卡顿&#xff0c;能否进行一定优化。 2.操作实现&#xff1a; 1.思路&#xff1a;采取捕获最后deltaseconds来逐帧进行旋转或移动&#xff0c;使动作显得不那么卡顿。 .2.首先在引擎中建立映射&a…

第一课 自动驾驶概述

1. contents 2. 什么是无人驾驶/自动驾驶 3 智慧出行大智慧 4. 无人驾驶的发展历程

24.5.2数据结构|顺序表实现

主要是记笔记&#xff0c;留着以后复习回来看的&#xff0c;有些内容解释的并不清晰。也就稍微可以借鉴借鉴。 一、如何定义结构&#xff1f; 应该有的部分用来约束的部分 二、看书搞清楚顺序表实现流程 1、准备工作&#xff1a;如何定义结构体&#xff1f;SeqList&#xf…

Acrobat Pro DC 2023:专业PDF编辑软件,引领高效办公新时代

Acrobat Pro DC 2023是一款专为Mac和Windows用户设计的专业PDF编辑软件&#xff0c;凭借其强大的功能和卓越的性能&#xff0c;成为现代职场人士不可或缺的得力助手。 这款软件拥有出色的PDF编辑能力。用户不仅可以轻松地对PDF文档中的文字、图片和布局进行编辑和调整&#xf…
最新文章