前言

本人是个小小白,初学Java语言,想与一众身为程序猿的各位分享一下自己的知识和想法,达到共同学习的目的,所以想通过写博客的方式分享自己的心得体会,这也是本人第一次写博客,希望能够帮助同样在学习的你,当然,大家如果看到有错误的,欢迎提出了,我会积极回应并且修改,谢谢!

好了,我们可以切入正题了。

对于科班出身的学习计算机语言的同学们,你们最熟悉的作业应该就是学生成绩管理系统了吧,哈哈,学了一门语言就要求用该语言做一个学生成绩管理系统。我也是初学Java,就想在本地做个小项目练练手,所以就做了一个电影信息管理系统(本人喜欢看电影)。首先声明一下,该系统只涉及了数据库单表的操作,不存在数据库设计操作,所以思想并不复杂,我们慢慢讲。

本程序我会写三篇博客进行说明,后面我会陆续发布,这样对于初学者来说也好理解。主要分为界面设计监听器添加数据库操作这三方面,此次介绍界面设计。

界面设计

虽然现在主流的前端界面制作都用JavaScript,HTML等等,但是对于Java初学者来说,可以用Java提供的界面制作库进行练手。Java语言提供了两个制作可视化界面的库,一个是AWT,一个是SWING,其实SWING就是AWT的优化版本,但是一般情况我们还是结合起来用。而Java语言最大的好处就是封装,可能开始使用Java不太习惯,但是用多了就觉得,啊,真香!

主界面的制作
swing库给我们许多组件,就相当于什么呢,就相当于我们小时候玩的积木玩具,一个完整的积木玩具需要很多小的零件进行拼装才可以组成,这里也是一样的,一个swing图形界面也是需要很多组件才可以拼装而成的。

1.JFrame窗口

import javax.swing.*;
public class movie {public static void main(String[]args) {final JFrame  jf = new JFrame();jf.setSize(450,250);jf.setLocation(550, 300);;jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);jf.setVisible(true);}

首先就是导入你需要的swing包,我这里是全部导入的,swing.* 添加 “ * ” 号就代表导入包里面的所有文件,当然你也可以只导入需要的。然后就是直接声明一个JFrame 对象jf,这个jf就是你的窗口对象了(下图所示),相当于一块屏幕,窗口的大小,名字,以及弹出位置,都是可以设置的,根据你的实际需要进行设置,还有关闭窗口后是否关闭进程,都可以设置,具体参数以及用法可以参见官方文档,这里我不多说。创建好一个窗口以后,往后要做的就是往这个屏幕里面添加组件。

2.添加按钮JButton
刚刚我们创建了一个窗口,现在我们需要向里面“ 加料 ”了。首先根据我们的需求,我们需要添加的是一个按钮,就和我们手机上面用的app上的点击按钮一样,话不多说,先上一个代码例子:

import javax.swing.*;
public class movie {public static void main(String[]args) {JButton jb1;jb1 = new JButton("查询");}

同样是swing里面的一个类JButton,这个类可以生成一个按钮组件,可以进行点击。对于JButton这个类,同样,它的构造函数的功能也很多,像我这样直接传入一个字符串就是给这个按钮添加一个文本,按钮的颜色,字体都是可以设置的,还有关于JButton的其他函数,这里不用一一介绍,有兴趣可以参见网上的文档,反正功能很齐全。有同学就要问了,当我们创建了这样一个JButton对象之后,怎么运行程序没反应呢?窗口里面还是空白,什么都没有,不要慌,这就是我马上要讲的第三个内容JPanel面板。

3.添加面板JPanel
面板是什么?我的初步理解面板相当于一个分块,一个窗口创建好后,需要对其空间进行分配,进行布局,所以面板也是一个组件,是窗口显示的一些分块,下面看一段创建代码:

import javax.swing.*;
public class movie {public static void main(String[]args) {JPanel jp1=new JPanel();
}

这里也是很简单的一个面板对象jp1创建,同样,关于JPanel的函数方法很多,可以自行搜索,创建好面板之后,我们就进入真正的制作了。

4.将各个组件进行组装,制作出可视化界面
各个组件都创建好后,我们就进入拼装阶段,拼装后就是一个完整的可视化界面了,根据我们这次的需求,我们需要有电影管理系统有查询功能,筛选功能,添加电影功能,删除电影功能,更改电影信息功能,取消,所以根据需求就需要创建了六个按钮,下面代码先给大家:

import javax.swing.*;
import java.awt.GridLayout;public static void main(String[] args) {// TODO Auto-generated method stubfinal JFrame  jf = new JFrame();JPanel jp1 ,jp2 ,jp3,jp4,jp5;//创建5个面板对象JButton jb1,jb2,jb3,jb4,jb5,jb6;//创建6个按钮jb1 = new JButton("查询");            //分别对按钮署名jb6 = new JButton("筛选影片");jb2 = new JButton("新增电影");jb3 = new JButton("删除某部电影");jb4 = new JButton("修改某部电影信息");jb5 = new JButton("取消");jp1 = new JPanel();jp2 = new JPanel();jp3 = new JPanel();jp4 = new JPanel();jp5 = new JPanel();jf.setLayout(new GridLayout(5,1));/*按照网格分布对JPanel进行排版,这个语句非常重要,不能丢,不然做出了只有一个组件*///加入各个组件jp1.add(jb1);jp1.add(jb6);jp2.add(jb2);jp3.add(jb3);jp4.add(jb4);jp5.add(jb5);jf.add(jp1);jf.add(jp2);jf.add(jp3);jf.add(jp4);jf.add(jp5);jf.setTitle("豆瓣电影top100管理系统");//对窗口进行命名jf.setSize(450,250);//设置窗口大小jf.setLocation(550, 300);;//设置窗口弹出位置jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置窗口关闭影响jf.setVisible(true);//窗口可视化}

这里我们来看代码,对于组件的创建我就不用多说了,因为上面介绍得非常详细,这里主要讲所有组件的安装。对于面板,其实就相当于我们写文档的一行,我们需要在这一行里面添加内容,这里我们需要将创建的按钮添加到面板里面,这样这个按钮就可以在这一行里面输出,依次的,其他按钮也是这样,当然你也可以根据自己的意愿进行排版,比如你要所有按钮都在第一行显示,那也是可以的,你全部都添加到一个JPanel对象里面就行了,它就会挨着挨着地输出,前提是窗口大小以及网格分布参数你要设置好,不然可能很难看。还有要说的就是上面我没有介绍到的网格分布,swing提供了很多布局管理器,每个的特点都不一样,排版方式也不一样,这里我选择了网格式的分布GridLayout,这里大家也可以参见官方文档进行查看,因为比较简单,所以我也不介绍太大,你只需要会用就行,根据GridLayout(x,y)括号里面的两个参数可以分别指定布局的行数和列数,非常方便。下面就是首页界面的最终效果(说实话,我自己都感觉爆了,但是为了给亲爱的你们分享知识,我放下了脸面):

后话

今天就展示了初步界面的制作方法,整个程序制作还有很多,我会持续更新,前面说了,我再说一次,我会写三个博客对这个程序进行分享,希望能给初学者一些帮助,也希望大家积极留言讨论,我也会积极回应,希望大家持续关注我的博客,谢谢大家!

Java初学练手小项目---基于awt库,swing库以及MySQL数据库制作简易电影管理系统(一)相关推荐

  1. 树莓派练手小项目---基于树莓派构建天气查询系统,实现内容的网页自动化检索功能

    目录 一.写在前面 二.基于树莓派构建天气查询系统 三.基于树莓派实现网页内容的自动化检索 四.有关于树莓派的其他小提醒,小技巧 Author:qyan.li Date:2022.6.19 Topic ...

  2. springboot+vue练手小项目[前台搭建+后台编写](非常详细)

    [ springboot+vue练手小项目 ] 技术栈: springboot+vue3+element-plus +Mybaties-plus+hutool +mysql8 项目介绍 :最近刚学了s ...

  3. html+css+js之20个练手小项目(一)

    html+css+js之20个练手小项目(一)--Hangman 前言 一.HTML 二.CSS 三.JS 前言 前端新手练习,记录不迷失. 主要练习html和CSS布局以及JS. 来源github, ...

  4. 练手小项目(2)-生活小助手--星座运势查询

    上一篇内容 练手小项目(2)-生活小助手 今天星期一.趁着中午的歇息时间把 第二个写出来 星座运势,近期看看极客学院 用聚合数据做了天气预报的视频教程,不好评价他.看他在后面的代码变更那么大,我就知道 ...

  5. 练手小项目(5)安全卫士_程序锁

    最近想做的小新工具箱,一直想做一个程序锁,其实原理,很简单,先注册一个服务,检测手机所有进程,如果发现被加锁的app启动,马上弹出一个输入程序锁界面,但是这样子bug很多.我先做一个基本后面慢慢把bu ...

  6. go语言面向对象 练手小项目

    学习一门语言,最重要的就是动手,一个项目的代码写三遍,看起来笨的方法,实际上也是最快的方法. go语言的第一个练手小项目: 家庭收支记录软件的编写: 1.项目需求说明 模拟现实基于文本界面的<家 ...

  7. ssm练手小项目_20 个 JavaScript+Html+CSS 练手的小项目

    前言: 最近在 GitHub 上发现了一个 vanillawebprojects[1] 开源仓库,里面收集了 20 个 JavaScript+Html+CSS的练手项目,没有使用任何框架,可以让你从基 ...

  8. 台式小风扇(HTML+CSS+JS练手小项目)

    台式小风扇(HTML+CSS+JS练手小项目) 功能介绍 外观展示 HTML代码 CSS代码 JS代码 总结 功能介绍 前段时间看到这样的风扇特效,感觉还挺好玩,就自己也写一个练练手. 风扇有四个档位 ...

  9. 爬虫练手小项目:豆瓣高分图书TOP100

    爬虫练手小项目:豆瓣高分图书TOP100 import requests import re from requests.exceptions import RequestException impo ...

最新文章

  1. 得到windows聚焦图片(windows 10)
  2. Storm构建分布式实时处理应用初探(转)
  3. 阿里巴巴国际站询盘是什么意思?如何提高询盘率
  4. 第三章 正态性检验、自相关检验与异方差性检验
  5. opencv和python是什么关系_使用OpenCV和Python检测眼睛
  6. wordpress连接mysql数据库_安装wordpress连接mysql数据库问题
  7. 和与余数的和同余理解_余数与同余解析
  8. 高德地图上覆盖物polygon方法的使用
  9. 系统集成项目管理工程师计算题(三点估算)
  10. ajax对象的值,简单谈谈AJAX核心对象
  11. 收货地址表结构 以及创建修改流程
  12. 我的世界Java版最诡异的种子_我的世界:比666还诡异的故障种子,无限复制结构?官方:还是特性...
  13. CodeLite配置
  14. 虚拟机挂起后硬盘响应变慢,SCSI转IDE方法
  15. c语言大地坐标系和空间直角坐标系的转换,空间直角坐标系与大地坐标系转换程序.doc...
  16. python在abaqus中的应用光盘文件下载_python语言在abaqus中的应用随书光盘.rar-讲义文档类资源...
  17. Junit单元测试不支持多线程测试问题全解析
  18. 计算机考试自己学校限位了怎么办,雕刻机限位怎么解决
  19. word中对号(√)怎么打
  20. 力扣剑指offer——二叉树篇

热门文章

  1. vs调试技巧(详细)
  2. 圆桌问题 二分多重匹配+输出解
  3. P3033 [USACO11NOV]Cow Steeplechase G
  4. 【PyAutoGUI操作指南】03 键盘控制功能+实现热键组合+ KEYBOARD_KEYS
  5. APOLLO混合A*算法详解
  6. nginx 安装包手动安装搭建文件服务器(CentOS 7)
  7. P3645/BZOJ4070 [APIO2015]雅加达的摩天楼
  8. 会声会影2023导出视频的清晰度一般选哪个 导出视频怎么保持清晰度
  9. android serviceconnection 码源分析,Android 7.0以上Accessibility Service DispatchGesture调用流程...
  10. 从java直接上手SpringBoot【CTGU启明星】