Java Swing 图形界面开发

一、图形界面步骤

1、创建窗口

// 1. 创建一个顶层容器(窗口)// 创建窗口JFrame jf = new JFrame("测试窗口");         // 设置窗口大小jf.setSize(250, 250); // 把窗口位置设置到屏幕中心                    jf.setLocationRelativeTo(null); // 当点击窗口的关闭按钮时退出程序(没有这一句,程序不会退出)           jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

2、设置面板容器

// 2. 创建中间容器(面板容器)// 创建面板容器,使用默认的布局管理器JPanel panel = new JPanel();

3、设置顶上菜单

/** 创建一个菜单栏*/JMenuBar menuBar = new JMenuBar();/** 创建一级菜单*/JMenu fileMenu = new JMenu("文件");JMenu editMenu = new JMenu("编辑");JMenu viewMenu = new JMenu("视图");JMenu aboutMenu = new JMenu("关于");// 一级菜单添加到菜单栏menuBar.add(fileMenu);menuBar.add(editMenu);menuBar.add(viewMenu);menuBar.add(aboutMenu);/** 创建 "文件" 一级菜单的子菜单*/JMenuItem newMenuItem = new JMenuItem("新建");JMenuItem openMenuItem = new JMenuItem("打开");JMenuItem exitMenuItem = new JMenuItem("退出");// 子菜单添加到一级菜单fileMenu.add(newMenuItem);fileMenu.add(openMenuItem);fileMenu.addSeparator();       // 添加一条分割线fileMenu.add(exitMenuItem);

要先创建菜单栏,在创建一级菜单,把一级菜单添加到菜单栏。再创建一级菜单的子菜单,把子菜单添加到一级菜单。

4、添加按钮,标签,文本框等组件

// 创建一个基本组件(按钮),并添加到 面板容器 中JButton btn = new JButton("测试按钮");panel.add(btn);
//创建一个只显示文本的标签JLabel label01 = new JLabel();label01.setText("Only Text");// 设置字体label01.setFont(new Font(“宋体”, Font.PLAIN, 25)); panel.add(label01);// 创建文本框,指定可见列数为8列final JTextField textField = new JTextField(8);textField.setFont(new Font(null, Font.PLAIN, 20));panel.add(textField);

5、把 面板容器 作为窗口的内容面板 设置到 窗口

 jf.setContentPane(panel);

6、显示窗口

// 前面创建的信息都在内存中,通过 jf.setVisible(true) 把内存中的窗口显示在屏幕上。jf.setVisible(true);

二、窗口的一些相关操作

1、利用按钮触发一些事件

//利用按钮触发获取文本框信息
btn.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {System.out.println("提交: " + textField1.getText());}});

2、多窗口切换

怎么点击菜单栏进行转换?
在子菜单设置触发命令,点击后----销毁当前的页面 :jf.dispose();
打开一个新的页面:new FirstPage().firtPage();

fhMenuItem.addActionListener(new ActionListener() {          @Overridepublic void actionPerformed(ActionEvent e) {jf.dispose();new eas_home().Page();}});

3.各个组件如何定位

利用绝对分布:置组件的坐标和宽高来布置组件

//null是绝对布局,通过设置组件在Container中的坐标位置来放置组件
JPanel panel = new JPanel(null);
// 设置组件的界限(一次性设置组件的 坐标 和 宽高)
void setBounds(int x, int y, int width, int height)

三、与数据库的一些操作

1、与SQL server 2008连接的前期准备

详细请参考此博客

2、Java连接数据库进行操作

import java.sql.*;
public class lj {public static void main(String[] args) {try {// 加载数据库驱动Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");// 数据库连接字符串// jdbc:sqlserver             连接协议// localhost                  连接地址// 1433                       连接端口// sql                 连接的数据库String url = "jdbc:sqlserver://localhost:1433;databaseName=sql";// 打开数据库连接// sa   用户名// 1    刚刚设置的密码Connection connection = DriverManager.getConnection(url, "sa", "#hb980498");// 关闭数据库连接connection.close();System.out.println("数据库连接成功");} catch (Exception e) {System.out.println("数据库连接失败");e.printStackTrace();}}
}//删除操作
String sql="insert into Course(cno,cname,credit,tno) values('"+cnoo+"','"+cnamee+"',"+creditt+",'"+tnoo+"')";
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");//DriverManager负责加载各种不同的驱动程序
String url = "jdbc:sqlserver://localhost:1433;databaseName=sql";
Connection conn = DriverManager.getConnection(url, "sa", "#hb980498");//Connection数据库连接,负责与数据库间通讯
Statement pstmt = conn.createStatement();//Statement用以执行不含参数的静态SQL查询和更新,并返回执行结果
pstmt.executeUpdate(sql);//增改查操作
String sql="select sname from Student where Student.sno='"+snoo+"'";
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");//DriverManager负责加载各种不同的驱动程序
String url = "jdbc:sqlserver://localhost:1433;databaseName=sql";
Connection conn = DriverManager.getConnection(url, "sa", "#hb980498");//Connection数据库连接,负责与数据库间通讯
Statement pstmt = conn.createStatement();//Statement用以执行不含参数的静态SQL查询和更新,并返回执行结果
ResultSet rs=pstmt.executeQuery(sql);//ResultSet获得SQL查询结果
rs.next();
return rs.getString("sname");

先用Class.forName加载数据库驱动,再用Connection建立与数据库的连接。再定义一个Statement用以执行不含参数的静态SQL查询和更新,并返回执行结果。

【Java系列】数据库系统的可视化界面开发相关推荐

  1. 【PBL项目实战】户外智慧农场项目实战系列——3.云端可视化页面开发及设备数据源的配置与调试

    [PBL项目实战]户外智慧农场项目实战系列--3.云端可视化页面开发及设备数据源的配置与调试 原文链接  https://mp.weixin.qq.com/s/5OT57-_QlN7lwRMWvey4 ...

  2. Python量化交易平台开发教程系列7-顶层GUI界面开发(1)

    原创文章,转载请注明出处:用Python的交易员 前言 终于有时间来写第一篇顶层GUI界面开发相关的教程了,之前实在是事情太多,跟各位读者抱个歉. 整合底层接口的各项功能到中层引擎中后,当我们开发顶层 ...

  3. Android可视化界面开发工具DroidDraw

    Eclipse虽然提供了可视化的Android的预览界面功能,但功能并不好,这里推荐一个可视化的Android设计器--DroidDraw. 它是免费开源的项目,可在http://code.googl ...

  4. OtoStudio可视化界面开发示例

    今天在家清理电脑,在硬盘中找到了2014年刚毕业那会用 OtoStudio(CoDeSys)写的一个三轴运动控制模拟程序. 软件下载:https://download.csdn.net/downloa ...

  5. python可视化界面开发实例-python界面编程,python可视化窗口编程

    看了你的问题,几个回答似乎都不完全对.给你补充一下吧. 你的问题与flask基本上没有关系.flask是一个简单的微型编程框架,很优美,也很简单好用.不过它仅仅实现了基于HTTP协议的服务端交互部分. ...

  6. 网络安全课程设计Java实现DES加密算法(可视化界面)代码+设计文档

    一.DES加密/解密算法 DES是一种对称加密算法,DES算法明文分组长度为64 bit,秘钥长度也为64 bit,但是实际密钥长度只有56位,其中第8.16.24.32.40.48.56.64位是奇 ...

  7. 在java图形界面中,在Java中,有哪些图形界面开发工具包?()

    案例分析一:假定CPU的主频是500MHz.硬盘采用DMA方式进行数据传送,其数据传输率为4MB/s, 每次DMA传输的数据量为8KB, 要求没有任何数据传输被错过. 如果CPU在DMA初始化设置和启 ...

  8. 从Android界面开发谈起(转)

    原文地址:http://blog.csdn.net/nieweilin/article/details/5967815 这篇文章没有打算有一个很好的逻辑去介绍android的某个方面,全盘大致上就是我 ...

  9. 从Android界面开发谈起

    这篇文章没有打算有一个很好的逻辑去介绍android的某个方面,全盘大致上就是我接触.了解android的ui开发后到现在的一些感想以及个人理解吧! 全文可能会涉及到java.android开发.an ...

最新文章

  1. 【力扣网练习题】最长公共前缀
  2. SQL查询1064报错 [ERR] 1064 - You have an error in your SQL syntax; check the manual.......
  3. COM.MYSQL.JDBC.DRIVER 和 COM.MYSQL.CJ.JDBC.DRIVER的区别
  4. Memory Networks论文串烧
  5. Visual C++中的异常处理浅析[轉]
  6. 实现子元素在父元素中水平垂直都居中笔记
  7. 2021 年 五一数学建模比赛 C 题
  8. 如何提升设备管理效率和巡检效率?
  9. SpringBoot_快速实战搭建项目
  10. Android Metro风格的Launcher开发系列第三篇
  11. 梦幻星空html,如何使用HTML5的canvas来画一个梦幻星空,快来学习一下吧 | 龙奔网...
  12. 拉卡拉支付——综合普惠金融科技平台
  13. Ubuntu安装中文字体
  14. Zabbix Server trapper命令注入漏洞(CVE-2017-2824)
  15. 详细的“BP神经网络数据分类—语音特征信号分类”代码
  16. 数据结构(三)线性表概念及Java代码实现顺序结构链式结构
  17. Python----空空如也
  18. metasploit完整的使用流程包括meterpreter后渗透
  19. PHP 为项目设置谷歌身份验证器
  20. 如何采集淘宝最新价格

热门文章

  1. android实时视频方案,Android中实时视频监控方案设计思路
  2. 优秀网页设计:30佳精美的国外黑色风格网站作品
  3. python笔记11面向对象
  4. sihpostreboot关闭没有权限_修复:Win10系统您目前没有权限访问此文件夹
  5. linux对4T硬盘进行分区
  6. 云端办公后,协同软件也能轻松做好项目管理
  7. 【2019斯坦福CS224N笔记】(5)The probability of a sentence Recurrent Neural Networks and Language Models
  8. 利好消息!康复肺炎患者抗体血浆有助于拯救危重病人!捐献号召一呼百应
  9. Java网络请求代理API的设计思路
  10. python 地图偏移_python 地图经纬度转换、纠偏