📄 searchframe.java
字号:
package addressbook;import java.awt.*;import javax.swing.*;import java.awt.event.*;import java.io.File;import java.io.FileInputStream;import java.io.ObjectInputStream;import javax.swing.table.DefaultTableModel;/** * * @author zoufee */public class SearchFrame implements ActionListener,MouseListener{ JFrame searchDemo = new JFrame("SearchDemo"); Container container = searchDemo.getContentPane(); JButton jbtOKCX; JButton jbtCancelCX; JComboBox jcbCheck; JTextField inputString1 ; JTextField inputString2 ; JTextField inputString3; String string; String[] names = {"请选择查询方式", "姓名","出生年月","专业","班别","手机号码","籍贯"}; String[] columnNames = { "姓名","性别","出生年月","学院","年级","专业","班别","手机号码","籍贯"}; File totalFile = new File(".","Totaladress.txt"); public SearchFrame(){ searchDemo.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); searchDemo.setSize(200, 300); container.setLayout(null); jcbCheck = new JComboBox(names); //jcbCheck.setSelectedIndex( -1 ); jcbCheck.setBounds(20, 30, 154, 30); inputString1 = new JTextField(); inputString1.setBounds(20, 70, 154, 30); inputString2 = new JTextField(); inputString2.setBounds(20, 110, 154, 30); inputString3 = new JTextField(); inputString3.setBounds(20, 150, 154, 30); jbtOKCX = new JButton("确定"); jbtOKCX.setBounds(11, 200, 80, 30); jbtCancelCX = new JButton("取消"); jbtCancelCX.setBounds(102, 200, 80, 30); Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); int x = (screenSize.width-searchDemo.getWidth())/2; int y = (screenSize.height-searchDemo.getHeight())/2; searchDemo.setLocation(x, y); searchDemo.setVisible(true); searchDemo.setResizable(false); container.add(jcbCheck); container.add(inputString1); container.add(inputString2); container.add(inputString3); container.add(jbtOKCX); container.add(jbtCancelCX); jcbCheck.addActionListener(this); jbtOKCX.addActionListener(this); jbtCancelCX.addActionListener(this); inputString1.addMouseListener(this); inputString2.addMouseListener(this); inputString3.addMouseListener(this); } public void actionPerformed(ActionEvent e) { if(e.getSource() == jcbCheck) { string = jcbCheck.getSelectedItem().toString(); //提示每个输入框该输入什么,无提示的就不用输入 if(string.equals("专业")){ inputString1.setText("请输入专业"); inputString2.setText("请输入年级或者不输入"); inputString3.setText(""); } if(string.equals("班别")){ inputString1.setText("请输入班别"); inputString2.setText("请输入专业"); inputString3.setText("请输入年级"); } if(string.equals("姓名")){ inputString1.setText("姓名"); inputString2.setText(""); inputString3.setText(""); } if(string.equals("出生年月")){ inputString1.setText("出生年月"); inputString2.setText(""); inputString3.setText(""); } if(string.equals("手机号码")){ inputString1.setText("手机号码"); inputString2.setText(""); inputString3.setText(""); } if(string.equals("籍贯")){ inputString1.setText("籍贯"); inputString2.setText(""); inputString3.setText(""); } } //查询框的确定按钮的处理器 if(e.getSource() == jbtOKCX){ Object[][] datasOfSearch; try{ //打开总文件来搜索 ObjectInputStream input = new ObjectInputStream( new FileInputStream( totalFile )); Object[][] temp = (Object[][])input.readObject(); input.close(); //按姓名搜索 if(string.equals("姓名")){ datasOfSearch = new Object[60][9]; int m=0; if(!inputString1.getText().equals("")){ for(int i=0; i<temp.length; i++){ if( temp[i][0] != null && temp[i][0].toString().equals(inputString1.getText())) for(int j=0; j<9; j++){ datasOfSearch[i-m][j] = temp[i][j]; } else m++; } if(datasOfSearch[0][0] == null) { JOptionPane.showMessageDialog(null, "对不起,你查找的姓名不存在!", "Tips", JOptionPane.INFORMATION_MESSAGE); } else{ MainJFrame.jTable.setModel(new DefaultTableModel(datasOfSearch, columnNames)); MainJFrame.jTable.updateUI(); searchDemo.dispose(); } } else{ //弹出对话框说:请输入要查找的姓名 JOptionPane.showMessageDialog(null, "请输入要查找的姓名:如陈小红", "Tips", JOptionPane.INFORMATION_MESSAGE); } } //按籍贯搜索 if(string.equals("籍贯")){ datasOfSearch = new Object[1000][9]; int m=0; if(!inputString1.getText().equals("")){ for(int i=0; i<temp.length; i++){ if( temp[i][8] != null && temp[i][8].toString().equals(inputString1.getText())) for(int j=0; j<9; j++){ datasOfSearch[i-m][j] = temp[i][j]; } else m++; } if(datasOfSearch[0][0] == null) { JOptionPane.showMessageDialog(null, "对不起,你查找的籍贯不存在!", "Tips", JOptionPane.INFORMATION_MESSAGE); } else{ MainJFrame.jTable.setModel(new DefaultTableModel(datasOfSearch, columnNames)); MainJFrame.jTable.updateUI();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -