📄 deldlg.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 + -