📄 finddlg.java
字号:
/*选择查找条件对话框*/
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
import java.sql.*;
class FindDlg extends JDialog
{
public FindDlg(JFrame f,String title,String function)
{
super(f,title,true);//创建一个具有指定标题和指定所有者 Frame 的有模式对话框
Toolkit kit=Toolkit.getDefaultToolkit();//返回默认的工具箱
Dimension screenSize=kit.getScreenSize();//获得窗口大小
int screenHeight=screenSize.height;
int screenWidth=screenSize.width;
setSize(screenWidth/3,screenHeight/3);//设置窗口大小
setLocation(screenWidth/3,screenHeight/3);//设置窗口位置
this.function=function;//用来标记查找后的下一步
jf=f;
InitDlg();//对组件进行设置
}
String function;
JFrame jf;
public void InitDlg()
{
panel.setLayout(null);//设置此容器的布局管理器
add(panel);
condLabel.setBounds(new Rectangle(35,25,95,15));//移动组件并调整其大小
condLabel.setFont(new Font("Dialog",Font.BOLD,15));//设置组件的字体
condLabel.setText("请选择条件:");//标签
panel.add(condLabel);//将组件增加到面板中
keyLabel.setBounds(new Rectangle(35,95,110,15));
keyLabel.setFont(new Font("Dialog",Font.BOLD,15));
keyLabel.setText("请输入关键字:");
panel.add(keyLabel);
condCombo=new JComboBox(new String[]{"姓名","电话","手机","QQ","Email","分组"});//创建选项
condCombo.setBounds(new Rectangle(140,45,110,25));
condCombo.setFont(new Font("Dialog",Font.BOLD,15));//设置字体
panel.add(condCombo);
keyTextField.setBounds(new Rectangle(140,115,180,25));
keyTextField.setText("");
keyTextField.setFont(new Font("Dialog",Font.BOLD,15));
panel.add(keyTextField);
conButton.setBounds(new Rectangle(65,165,80,25));
conButton.setText("查 找");
conButton.setFont(new Font("Dialog",Font.BOLD,15));
conButton.addActionListener(new AddDlgListener(this));
panel.add(conButton);
canButton.setBounds(new Rectangle(175,165,80,25));
canButton.setText("取 消");
canButton.addActionListener(new AddDlgListener(this));
canButton.setFont(new Font("Dialog",Font.BOLD,15));
panel.add(canButton);
}
public void canPerformed()
{//"取消"按钮处理函数
dispose();//关闭对话框
}
public void conPerformed()
{//"确定"按钮处理函数
String key=keyTextField.getText();
String item=(String)condCombo.getSelectedItem();//返回此 JComboBox下拉菜单中的项
if(key.equals(""))//关键字不能为空
JOptionPane.showMessageDialog(null,"查找关键字不能为空,请重新输入!","警告",JOptionPane.WARNING_MESSAGE);
else
{
try
{
String url="jdBc:Odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=DataBase/ElecComm.mdb";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection conn=DriverManager.getConnection(url);
Statement sql=conn.createStatement();
ResultSet rs=sql.executeQuery("Select * from Book where "+item+" ='"+key+"'");
if(rs.next())
{//如果有相关信息,则调用Display显示信息
if(function.equals("find"))//如果功能是查询,则显示查询结果对话框
{
this.dispose();//关闭原来窗口
DisplayDlg disdlg=new DisplayDlg(jf,item,key);//传递到下一个窗口,显示联系人的信息
disdlg.setVisible(true);//设置可见
}
else if(function.equals("delete"))//如果功能是删除,则显示删除对象对话框
{
this.dispose();
DelDlg deldlg=new DelDlg(jf,item,key);//传递到下一个窗口,显示删除对象对话框
deldlg.setVisible(true);
}
else if(function.equals("change"))//如果功能是修改,刚显示修改对话框
{
this.dispose();
ChaDlg chadlg=new ChaDlg(jf,item,key);
chadlg.setVisible(true);
}
}
else
{
JOptionPane.showMessageDialog(null,"没有您要查找的相关信息!","警告",JOptionPane.WARNING_MESSAGE);
}
}
catch(Exception e)
{
JOptionPane.showMessageDialog(null,"联接数据源出错","警告",JOptionPane.WARNING_MESSAGE);
e.printStackTrace();
}
}
}
JPanel panel=new JPanel();
JLabel condLabel =new JLabel();
JLabel keyLabel=new JLabel();
JComboBox condCombo;//存放选条件
JTextField keyTextField=new JTextField();//查找关键字
JButton conButton=new JButton();//确定查找按钮
JButton canButton=new JButton();//取消按钮
}
class AddDlgListener implements ActionListener
{//输入条件对话框 按钮监听器
public AddDlgListener(FindDlg dlg)
{
this.dlg=dlg;//同名格式
}
public void actionPerformed(ActionEvent event)
{
if(event.getSource()==dlg.canButton)//判断按下的是"取消"按钮
dlg.canPerformed();//调用"取消"按钮处理函数
else if(event.getSource()==dlg.conButton)//确定查找按钮
dlg.conPerformed();//调用"确定查找"按钮
}
FindDlg dlg;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -