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

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() {
            @Override
            public void actionPerformed(ActionEvent e) {
                System.out.println("提交: " + textField1.getText());
            }
        });

2、多窗口切换

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

fhMenuItem.addActionListener(new ActionListener() {			
			@Override
			public 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系列】数据库系统的可视化界面开发)