全国
Java--教育路上

栏目导航

全国站 > Java > 课堂作业
需求

javagui的JFrame轻量级组件swing的使用JTextField如何取值

摘要:javagui的JFrame轻量级组件swing的使用JTextField如何取值,Java连接数据库,用Java代码实现用户注册保存到数据库内,并可以修改,查看数据库中的密码,删除数据库内的用户。以下是我们为大家整理的,相信大家阅读完后肯定有了自己的选择吧。

标签:
发布时间:
2024-04-26 15:58
信息来源:
网络推荐
浏览次数:
849
javagui的JFrame轻量级组件swing的使用JTextField如何取值




package cn.edu.cqipc.zhuce01;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.sql.*;
import java.util.*;
public class Reguser extends JFrame {
	//定义变量
	private JMenuBar menubar;
	private JMenu menu;
	private JMenuItem reg;
	private JMenuItem show;
	private JMenuItem del;
	private JMenuItem edit;
	private JButton reg1;
	private JButton show1;
	private JButton del1;
	private JButton edit1;
	private JPanel up;
	private JPanel down;
	private JTextField user;
	private JTextField pass;
	private JLabel text;
	private JLabel result;
	private JLabel result1;
	private JLabel result2;
	Statement stmt = null;
	ResultSet rs = null;
	Connection conn = null;
	private JButton regsave=new JButton("提交注册");//注册窗体里面的提交注册的按钮regsave
	private JButton editpass=new JButton("修改密码");//修改用户密码窗体里面的修改密码的按钮editpass
	private JButton deluser=new JButton("删除用户");//删除用户窗体里面的删除用户的按钮deluser
	private Map usermap=new HashMap();//存储用户的集合usermap
	public Reguser() {//构造方法
		//窗体
    	menubar= new JMenuBar();//创建菜单栏对象menubar
    	this.setJMenuBar(menubar);//将菜单栏添加到窗体里面
    	menu =new JMenu("菜单");//创建菜单对象menu
    	menubar.add(menu);//把菜单添加到菜单栏中
    	reg=new JMenuItem("注册");//创建菜单项对象“注册”、“查看”、“修改”、“删除”
  		show=new JMenuItem("查看");
  		edit=new JMenuItem("修改");
  		del=new JMenuItem("删除"); 
  		menu.add(reg);//把“注册”,“查看”,“修改”,“删除”这几个菜单项放在菜单里面
  		menu.addSeparator();//为菜单项添加分隔符
  		menu.add(show);
  		menu.addSeparator();
  		menu.add(edit);
  		menu.addSeparator();
  		menu.add(del);
  		reg1=new JButton("注册");
  		show1=new JButton("查看");
  		edit1=new JButton("修改");
  		del1=new JButton("删除");
  		this.setDefaultCloseOperation(Frame.CROSSHAIR_CURSOR);//设置窗体可直接关闭
		this.setSize(300,200);//设置窗体大小
		this.setLocation(300, 300);//设置窗体位置
		this.setVisible(true);//设置窗体可见
		up=new JPanel();
		down=new JPanel(){//在用户界面内添加一个panel作为自定义的图片背景
			protected void paintComponent(Graphics g) { //重写paintComponent方法
		          super.paintComponent(g); 
		          ImageIcon img = new ImageIcon(Reguser.class.getResource("xiao.jpg")); //为下面的那个Panel设置图片背景 
		          img.paintIcon(this, g, 0, 0); 
		    } 
  		};
  		this.add(up,BorderLayout.NORTH);//添加panel到窗口内
  		this.add(down,BorderLayout.SOUTH);
  		text=new JLabel("用户注册界面");//创建JLabel标签
  		text.setFont(new Font("宋体",Font.PLAIN,30));//将panel里面中的Label标签里面的文字设置大小和字形
		up.add(text);//添加textLabel标签
		down.add(reg1);//把“注册”,“查看”,“修改”,“删除”这几个按钮放在下面那个panel里面(down那个panel)
		down.add(show1);
		down.add(edit1);
		down.add(del1);
  		result=new JLabel();//在用户注册里面放一个提示的Label标签result
  		result1=new JLabel();//在修改里面放一个提示的Label标签result1
  		result2=new JLabel();//在删除里面放一个提示的Label标签result2
        //注册弹窗
  	//为注册菜单项reg添加动作监听事件
         reg.addActionListener(new ActionListener() { 
		 public void actionPerformed(ActionEvent e) {
			 reg0();
			}
		});
       //为注册按钮reg添加动作监听事件
         reg1.addActionListener(new ActionListener() { 
    		 public void actionPerformed(ActionEvent e) {
    			 reg0();
    			}
    		});
          //删除用户弹窗
         //为删除菜单项del添加动作事件监听器
         del.addActionListener(new ActionListener() {
             public void actionPerformed(ActionEvent e) {
            del0();
             }
             });
       //为删除菜按钮del添加动作事件监听器
         del1.addActionListener(new ActionListener() {
             public void actionPerformed(ActionEvent e) {
            del0();
             }
             });
         //提交删除用户
        deluser .addActionListener(new ActionListener() {//为删除菜单项内的“删除用户”按钮设动作事件监听器
             public void actionPerformed(ActionEvent e) {
            	 String usersave=user.getText();//获取用户
 	        	String passsave=pass.getText();//获取密码
 	        	Object[][] tableusser = readuser();	//创建二维数据并读取数据库内的数据	        			        			        	 
 	        		if(!tableusser.equals (user)) {//判断是否有该用户		        			
 	        			deluser1(usersave);//有,就调用删除数据用户的方法
 	        			result2.setText("删除成功");//跳出“删除成功”的文字
 	        		}else {
 	        			result2.setText("没有该用户");//无,就提示“没有该用户”
 	        			System.out.println("没有该用户");
	        		}
             }
           //删除数据库用户
 			private void deluser1(String user2) {
 	    		try {
 	    			connect();//数据库的驱动代码和密码的方法
 	    			// 4.使用Statement执行SQL语句。
 	    			String sql = "delete from user1 where tuser= '"+user2+"'";
 	    			stmt.executeUpdate(sql);
 	    			System.out.print(sql);
 	    		} catch (Exception e) {
 	    			e.printStackTrace();
 	    		} finally {
 	    			closeresource(); //调用关闭数据库资源的方法
 	    		}
 			}
              });
       //修改密码弹窗
        //为修改菜单项添加动作事件监听器
		 edit.addActionListener(new ActionListener() {
		        public void actionPerformed(ActionEvent e) {
		        	edit0();	
		        }	
		    });
		//为修改按钮添加动作事件监听器
		 edit1.addActionListener(new ActionListener() {
		        public void actionPerformed(ActionEvent e) {
		        	edit0();	
		        }	
		    });
		 //提交修改密码
		 editpass.addActionListener(new ActionListener() {
		        public void actionPerformed(ActionEvent e) {
		        	String usersave=user.getText();
		        	String passsave=pass.getText();
		        	Object[][] tableusser = readuser();		        			        			        	 
		        		if(!tableusser.equals (user)) {
		        			usermap.put(usersave,passsave);			        			
		        			updatepass(usersave,passsave);
		        			result1.setText("修改成功");
		        		}else {
		        			result1.setText("没有该用户");
		        			System.out.println("没有该用户");
		        		}
		        }	        
		     });
            //提交注册监听
         regsave.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
        	String usersave=user.getText();
        	String passsave=pass.getText();
        	Setuserkey=usermap.keySet();
        	if(usermap.size()>0) {
        	System.out.print(usermap.size());
        	Setkeyset=usermap.keySet();
        	for(String user:keyset) {	
        	  		if(!usersave.equals (user)) {
						usermap.put(usersave,passsave);	
						 result.setText("用户名注册成功");
						insertuser(usersave,passsave);
         }else {
        	 result.setText("用户名重复");
         	}
        	}
      }else{
        	 usermap.put(usersave,passsave);	 
          }
        result.setText("用户名注册成功");
        System.out.print(usermap);
        insertuser(usersave,passsave);
         	}
	});
       //查看用户名
         //为查看菜单项添加动作事件监听器
 		show.addActionListener(new ActionListener(){ 
 			public void actionPerformed(ActionEvent e){
 				show0();
 			}
 		});
 		//为查看按钮添加动作事件监听器
 		show1.addActionListener(new ActionListener(){ 
 			public void actionPerformed(ActionEvent e){
 				show0();
 			}
 		});
 	}
        //修改数据库中的密码
		protected void updatepass(String user1, String pass1) {
     		try {
     			connect();
     			// 4.使用Statement执行SQL语句。
     			String sql = "update user1 set  tpass='"+pass1+"' where tuser='"+user1+"'";
     			stmt.executeUpdate(sql);
     			System.out.print(sql);
     		} catch (Exception e) {
     			e.printStackTrace();
     		} finally {
     			closeresource();//调用关闭数据资源的方法
     			}
	}
		//读取数据库用户
		Object[][] readuser() {
			Object[][] tableuser = null;
			try {
				connect();
				// 4.使用Statement执行SQL语句。
				int count=0;
				String sqlall = "select count(*) as result from user1";  
	            rs = stmt.executeQuery(sqlall);  
	            while(rs.next())  
	            {  
	                 count = rs.getInt(1); 
	            }  
	            tableuser= new Object[count][];
				String sql = "select * from user1";
				rs = stmt.executeQuery(sql);
				int i=0;
				while (rs.next()) {
					String user = rs.getString("tuser");
					String pass = rs.getString("tpass");
					tableuser[i]=new Object[]{user,pass};	
					i++;
				}
			} catch (Exception e) {
				e.printStackTrace();
			} finally {
				closeresource();//调用关闭数据资源的方法	
			}
			return tableuser;
		}
	//插入数据库用户
    void  insertuser(String user,String pass) {
		try {
			connect();
			// 4.使用Statement执行SQL语句。
			String sql = "insert into user1(tuser,tpass) value('"+user+"','"+pass+"')";
			stmt.executeUpdate(sql);
			System.out.print(sql);
		} catch (Exception e) {
			e.printStackTrace();
		} 
			finally {
				closeresource();//调用关闭数据资源的方法
		}
    }
    //注册方法
    void reg0() {
   	 JDialog dialog = new JDialog(Reguser.this, false );//按下注册按钮后弹出一个弹窗,弹窗是非模式框
			dialog.setLayout(new GridLayout(3,2));//该弹窗设为3行2列的网格布局管理器
			dialog.setTitle("用户注册");//为弹窗设一个标题
		    dialog.setSize(300, 200);//设置弹窗大小
			dialog.setLocation(50, 50);//设置弹窗位置
			JLabel usertext=new JLabel("用户名");//在弹窗里面放一个用户和密码的Label标签
			JLabel passtext=new JLabel("密码");
			user=new JTextField();//在弹窗里面放一个用户和密码可输入的文本框
			pass=new JTextField();
	        dialog.add(usertext);//把文本框和Label标签添加到弹窗内(共4个)
			dialog.add(user);
			dialog.add(passtext);
			dialog.add( pass);
			dialog.add(regsave);//提交注册的按钮
			dialog.add( result);//添加注册是否成功的提示标签
			dialog.setVisible(true);//设置弹窗可见
    }
    //查看用户方法
    void show0() {
    	Object[] tabletop= {"用户名","密码"};	
			Object[][] tableuser= new Object[usermap.size()][];
			Setuserkey=usermap.keySet();
			int i=0;
			for(String user:userkey) {
			tableuser[i]=new Object[]{user,usermap.get(user)};	
			i++;
			}	
			tableuser=readuser();
			JTable table = new JTable(tableuser,tabletop);
			JDialog dialog = new JDialog(Reguser.this, false );
			dialog.setTitle("显示用户名");
			dialog.setSize(300, 200);
			dialog.setLocation(50, 50);
			dialog.add(table);
			dialog.setVisible(true);	
    }
   //删除用户方法
   void  del0() {
	   JDialog dialog = new JDialog(Reguser.this, false ); //弹窗设置为非模式
   		dialog.setLayout(new GridLayout(2,2));//边界布局
		dialog.setTitle("删除用户");//为弹窗设置标题“删除用户”
	    dialog.setSize(300, 200);//设置窗体大小
		dialog.setLocation(50, 50);//设置窗体位置
		JLabel usertext=new JLabel("用户名");//创建JLabel标签“用户名”
		user=new JTextField();//创建“用户名”可编辑框对象
		pass=new JTextField();
		result=new JLabel();//创建“删除成功”提示标签对象
		dialog.add(usertext);//把“用户名”标签添加到弹窗内
		dialog.add(user);//把“用户名”编辑框添加到弹窗内
		dialog.add(deluser);//把“删除用户”按钮添加到弹窗内
		dialog.add(result2);//把“删除成功”提示标签添加到弹窗内
		dialog.setVisible(true);//设置弹窗可见
   }
   //修改密码方法
   void edit0() {
	   JDialog dialog = new JDialog(Reguser.this, false);
		JLabel usertext=new JLabel("用户名");
		JLabel passtext=new JLabel("密码");
		user=new JTextField();
		pass=new JTextField();
		dialog.setLayout(new GridLayout(3,2));
		dialog.setSize(300, 200);
		dialog.setLocation(50, 50);
		dialog.setTitle("用户修改");
		dialog.add(usertext);
		dialog.add(user);
		dialog.add(passtext);
		dialog.add(pass);
		dialog.add(editpass);
		dialog.add(result1);
		dialog.setVisible(true);
   }
    //数据库的驱动代码和密码的方法
    void connect() throws ClassNotFoundException, SQLException {
    	// 1. 注册数据库的驱动
    				Class.forName("com.mysql.jdbc.Driver");
    				// 2.通过DriverManager获取数据库连接
    				String url = "jdbc:mysql://localhost:3306/test1";
    				String username = "root";
    				String password = "123456";
    				conn = DriverManager.getConnection(url, username, password);
    				// 3.通过Connection对象获取Statement对象
    				stmt = conn.createStatement();
    }
  //关闭数据库资源的方法
    void closeresource() {
    	// 6.回收数据库资源
    				if (rs != null) {
    					try {
    						rs.close();
    					} catch (SQLException e) {
    						e.printStackTrace();
    					}
    					rs = null;
    				}
    				if (stmt != null) {
    					try {
    						stmt.close();
    					} catch (SQLException e) {
    						e.printStackTrace();
    					}
    					stmt = null;
    				}
    				if (conn != null) {
    					try {
    						conn.close();
    					} catch (SQLException e) {
    						e.printStackTrace();
    					}
    					conn = null;
    					}
    }
	public static void main(String[] aa) {
		new Reguser();//创建Reguser()对象
	}
}

上一篇:
java main方法是程序的入口
下一篇:
java的ActionListener事件监听..
相关推荐
最近更新
学校免费发布信息关闭
如有图片请发邮件到:edu63@foxmail.com,审核后显示

 换一张

确认提交
完善补充本文信息关闭
非常感谢您帮助完善补充本文信息


 换一张

确认提交