⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 deldlg.java

📁 一个典型的电子通讯录,自己制作的 1.采用JAVA图形用户界面(GUI)进行设计。 2.数据库采用Microsoft Access 2003。 欢迎来到我的主页http://hi.baidu.c
💻 JAVA
字号:
 import java.awt.*;
 import java.awt.event.*;
 import javax.swing.*;
  import java.sql.*;
 import java.io.*;
 class DelDlg extends JDialog
{
	public DelDlg(JFrame frame,String item,String key)
	 {
		 super(frame,"删除对象信息",true);
		 this.item=item;
		 this.key=key;
		 Toolkit kit=Toolkit.getDefaultToolkit();
		 Dimension screenSize=kit.getScreenSize();
		 int screenWidth=screenSize.width;
		 int screenHeight=screenSize.height;
		 setSize(screenWidth/2,screenHeight/2);
		 setLocation(screenWidth/4,screenHeight/4);
		 initDlg();
		 connData();
	 }
	        public void initDlg()
		 	{
				add(panel);// 增加面板
				panel.setLayout(null);//设置容器的布局管理器
		    /*--------------设置资料-------------------------*/
				nameLabel.setFont(new Font("Dialog",Font.BOLD,15));//设置字体
		        nameLabel.setBounds(new Rectangle(280,30,60,15));//标签位置
			    nameLabel.setText("姓 名:");//设置文字
				panel.add(nameLabel);//标签增加到面板中

			    sexLabel.setFont(new Font("Dialog",Font.BOLD,15));//设置字体
				sexLabel.setBounds(new Rectangle(280,60,60,15));//标签位置
				sexLabel.setText("姓 别:");//设置文字     setEditable(boolean aFlag) 确定 JComboBox 字段是否可编辑
				panel.add(sexLabel);//标签增加到面板中


			    telLabel.setFont(new Font("Dialog",Font.BOLD,15));
			    telLabel.setBounds(new Rectangle(280,98,60,15));
			    telLabel.setText("电 话:");
			    panel.add(telLabel);

			    mobLabel.setFont(new Font("Dialog",Font.BOLD,15));
			    mobLabel.setBounds(new Rectangle(280,128,60,15));
			    mobLabel.setText("手 机:");
			    panel.add(mobLabel);

			    qqLabel.setFont(new Font("Dialog",Font.BOLD,15));
			    qqLabel.setBounds(new Rectangle(280,158,60,15));
			    qqLabel.setText("Q Q:");
			    panel.add(qqLabel);

			    emaLabel.setFont(new Font("Dialog",Font.BOLD,15));
			    emaLabel.setBounds(new Rectangle(280,188,60,15));
				emaLabel.setText("邮 箱:");
			    panel.add(emaLabel);

	            groLabel.setFont(new Font("Dialog",Font.BOLD,15));//设置字体
	            groLabel.setBounds(new Rectangle(280,220,60,15));//标签位置
	            groLabel.setText("分 组:");//设置文字     setEditable(boolean aFlag) 确定 JComboBox 字段是否可编辑
	            panel.add(groLabel);//标签增加到面板中
		//

			    nameTextField.setText("");
			    nameTextField.setEnabled(false);//设置不可修改
			    nameTextField.setFont(new Font("Dialog",Font.BOLD,15));
				nameTextField.setBounds(new Rectangle(350, 24, 80, 20));//输入姓名
				panel.add(nameTextField);

		        sexCombo = new JComboBox(new String[]{"男","女"});
		        sexCombo.setEnabled(false);//设置不可修改
		        sexCombo.setFont(new Font("Dialog",Font.BOLD,15));
		        sexCombo.setBounds(new Rectangle(350,54,80,20));
		        panel.add(sexCombo);

				telTextField.setText("");
				telTextField.setEnabled(false);//设置不可修改
				telTextField.setBounds(new Rectangle(350, 95, 110, 20));//输入电话
				telTextField.setFont(new Font("Dialog",Font.BOLD,15));
				panel.add(telTextField);

				mobTextField.setText("");
				mobTextField.setEnabled(false);//设置不可修改
				mobTextField.setFont(new Font("Dialog",Font.BOLD,15));
				mobTextField.setBounds(new Rectangle(350, 125, 140, 20));//输入手机
				panel.add(mobTextField);

				qqTextField.setText("");
				qqTextField.setEnabled(false);//设置不可修改
				qqTextField.setBounds(new Rectangle(350, 155, 110, 20));//输入QQ
				qqTextField.setFont(new Font("Dialog",Font.BOLD,15));
				panel.add(qqTextField);

				emaTextField.setText("");
				emaTextField.setEnabled(false);//设置不可修改
				emaTextField.setFont(new Font("Dialog",Font.BOLD,15));
				emaTextField.setBounds(new Rectangle(350, 185, 158, 20));//输入E-mail
				panel.add(emaTextField);

				groCombo = new JComboBox(new String[]{"家人","同事","朋友","同学","其他"});
				groCombo.setFont(new Font("Dialog",Font.BOLD,15));
				groCombo.setEnabled(false);//设置不可修改
				groCombo.setBounds(new Rectangle(350,220,80,20));
                panel.add(groCombo);

		        /*--------------设置图像--------------------------*/

		        picLabel.setBounds(new Rectangle(30,30,200,200));
		        panel.add(picLabel);//用来显示图像的

		        pathLabel.setFont(new Font("Dialog",Font.BOLD,15));
			    pathLabel.setBounds(new Rectangle(20,250,70,15));
			    pathLabel.setText("图像路径:");
			    panel.add(pathLabel);

				pathTextField.setBounds(new Rectangle(110, 250, 240, 20));//图象路径名
				pathTextField.setEnabled(false);//设置不可更改
				panel.add(pathTextField);

		    /*--------------设置下面的三个按钮--------------------------*/

			    preButton.setFont(new Font("Dialog",Font.BOLD,15));
				preButton.setBounds(new Rectangle(100,310,80,25));
				preButton.setText("上一条");
				preButton.addActionListener(new DelDlgListener(this));
				panel.add(preButton);

		        nextButton.setFont(new Font("Dialog",Font.BOLD,15));
				nextButton.setBounds(new Rectangle(200,310,80,25));
				nextButton.setText("下一条");
				nextButton.addActionListener(new DelDlgListener(this));//为按钮增加一个监听器
				panel.add(nextButton);

				delButton.setFont(new Font("Dialog",Font.BOLD,15));
			    delButton.setBounds(new Rectangle(300,310,100,25));
			    delButton.setText("删除信息");
			    delButton.addActionListener(new DelDlgListener(this));//为按钮增加一个监听器
			    panel.add(delButton);

			}

		     public void connData()
		     {
				 try
				 {
					 String sql="select * from Book where "+item+"='"+key+"'";//执行给定的 SQL 语句,该语句返回单个 ResultSet 对象
				 	 rs=connDB.executeQuery(sql);
				 	 if (rs.next())//将指针从当前位置下移一行。ResultSet 指针最初位于第一行之前;
				 				             //第一次调用 next 方法使第一行成为当前行;第二次调用使第二行成为当前行,依此类推
				 	  {
						  num=rs.getInt("Number");
						  nameTextField.setText(rs.getString("姓名"));//获取字符集的字段
						  telTextField.setText(rs.getString("电话"));
						  mobTextField.setText(rs.getString("手机"));
						  qqTextField.setText(rs.getString("QQ"));
						  emaTextField.setText(rs.getString("Email"));
						  sexCombo.setSelectedIndex(rs.getInt("Sex"));
						  groCombo.setSelectedItem(rs.getString("分组"));
						  String pict="Images//"+rs.getString("Picture");

						   if(!pict.equals(""))
						   {
							   ImageIcon image= new ImageIcon(pict);//根据图像路径创建一个图象引用
							   picLabel.setIcon(image);//设置图像
							   pathTextField.setText(pict);//
						   }

						  if (!rs.next())//获取记录集的下一个记录集,如果不存在,刚"下一条"按钮不激活
						        nextButton.setEnabled(false);
						  if(!rs.previous());//获取记录集的上一个记录集,如果不存在,刚"上一条"按钮不激活
								preButton.setEnabled(false);
						}
					 else//如果记录集为空
					    {
							JOptionPane.showMessageDialog(null, "没有您要查找的联系人", "警告",JOptionPane.WARNING_MESSAGE);

						 }
					 }
				catch (Exception eg)
				{
					JOptionPane.showMessageDialog(null, "数据库连接失败", "警告",JOptionPane.WARNING_MESSAGE);
					eg.printStackTrace();
				}
			}
	public void delPerformed()
	{//删除信息处理函数
	try{
		if (JOptionPane.showConfirmDialog(null, "确定要删除该信息吗?","删除确定", JOptionPane.OK_CANCEL_OPTION,
                                                                       JOptionPane.QUESTION_MESSAGE) == 0)
         {
			 String sql="Delete * from Book where Number="+num;//删除number字段为num的记录集
			 connDB.executeNotQuery(sql);
			 JOptionPane.showMessageDialog(null, "删除信息成功!");
			 dispose();
	     }
		}
    catch(Exception e)
	 {
		 e.printStackTrace();
		 JOptionPane.showMessageDialog(null,"删除信息出错!","警告",JOptionPane.WARNING_MESSAGE);
		 }
	 }

			 public void prePerformed()
			 {//"上一条"
			      try
			      {
					  if (rs.isFirst())//如果指针已经 指向第一行了
						  preButton.setEnabled(false);//"上一条"按钮不被激活
					  else
					   {
					       nextButton.setEnabled(true);
					       preButton.setEnabled(true);
					   }
					   if(rs.previous())
					   {
					  num=rs.getInt("Number");
					  nameTextField.setText(rs.getString("姓名"));//获取字符集的字段
					  telTextField.setText(rs.getString("电话"));
				 	  mobTextField.setText(rs.getString("手机"));
				 	  qqTextField.setText(rs.getString("QQ"));
				 	  emaTextField.setText(rs.getString("Email"));
				 	  sexCombo.setSelectedIndex(rs.getInt("sex"));
				 	  groCombo.setSelectedItem(rs.getString("分组"));
				 	  String pict="Images//"+rs.getString("Picture");
				 	  picLabel.setIcon(new ImageIcon(pict));//设置图像
				 	  pathTextField.setText(pict);
				       }
				       if (rs.isFirst())
						   preButton.setEnabled(false);///"上一条"按钮不被激活
				  }
					  catch(Exception e)
				 	 {
						 e.printStackTrace();
						 JOptionPane.showMessageDialog(null,"上一条数据出错!","警告",JOptionPane.WARNING_MESSAGE);
					 }

			 }

			 public void nextPerformed()
			 {//下一条

				 try{
					  if (rs.isLast())//如果指针已经 指向最后一行了
						  nextButton.setEnabled(false);//"下一条"按钮不被激活
						else
						{
							nextButton.setEnabled(true);
							preButton.setEnabled(true);
						}
					  if(rs.next())
					   {
						   num=rs.getInt("Number");
						   nameTextField.setText(rs.getString("姓名"));//获取字符集的字段
						   telTextField.setText(rs.getString("电话"));
						   mobTextField.setText(rs.getString("手机"));
						   qqTextField.setText(rs.getString("QQ"));
						   emaTextField.setText(rs.getString("Email"));
						   sexCombo.setSelectedIndex(rs.getInt("sex"));
						   groCombo.setSelectedItem(rs.getString("分组"));
						   String pict="Images//"+rs.getString("Picture");
						   picLabel.setIcon(new ImageIcon(pict));//设置图像
						   pathTextField.setText(pict);//
						   if (rs.isLast())
						     nextButton.setEnabled(false);
					}
				}
				catch(Exception e)
				 {
					 e.printStackTrace();
					 JOptionPane.showMessageDialog(null,"下一条数据库出错!","警告",JOptionPane.WARNING_MESSAGE);
				 }
			 }

		     String item;
		     String key;
		     ResultSet rs;
		     int num;
		    // Connection conn;
		    ConnDB connDB=new ConnDB();//连接数据库
		    Statement st;
		     JPanel panel= new JPanel();//面板

		     JComboBox sexCombo;//组合选框
		     JComboBox groCombo;

		     JLabel nameLabel=new JLabel();//标签
		     JLabel sexLabel=new JLabel();
		     JLabel telLabel=new JLabel();
		     JLabel mobLabel=new JLabel();
		     JLabel qqLabel=new JLabel();
		     JLabel emaLabel=new JLabel();
		     JLabel groLabel=new JLabel();

		     JTextField nameTextField= new JTextField();//文本域
		     JTextField telTextField=new JTextField();
		     JTextField mobTextField= new JTextField();
		     JTextField qqTextField=new JTextField();
		     JTextField emaTextField= new JTextField();
		     JButton delButton=new JButton();//按钮delButton
		     JButton nextButton=new JButton();
		     JButton preButton=new JButton();

		     JLabel picLabel=new JLabel();//标签用来显示图像
		     JLabel pathLabel=new JLabel();
		     JTextField pathTextField=new JTextField();
	}

	class DelDlgListener implements ActionListener
	{//监听器
	  public DelDlgListener(DelDlg dlg)
	  {
		  this.dlg=dlg;
	   }
	   public void actionPerformed(ActionEvent event)
	   {
		   if(event.getSource()==dlg.delButton)//当按下的是"删除信息"按钮
		        dlg.delPerformed();
		   else if(event.getSource()==dlg.preButton)//当按下的是"上一条"按钮
		        dlg.prePerformed();
		   else if(event.getSource()==dlg.nextButton)//当按下的是"下一条"按钮
		        dlg.nextPerformed();
	   }
	  DelDlg dlg;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -