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

📄 readersearchiframe.java

📁 图书管理系统java+swing+SQL Server实现 包含了图书管理系统的所有功能 纯JAVA实现
💻 JAVA
字号:
package com.lishan.iframe;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.text.SimpleDateFormat;
import java.sql.Date;
import java.util.List;

import javax.swing.ButtonGroup;
import javax.swing.DefaultComboBoxModel;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFormattedTextField;
import javax.swing.JInternalFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JScrollPane;
import javax.swing.JTabbedPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
import javax.swing.border.TitledBorder;
import javax.swing.table.DefaultTableModel;

import com.lishan.dao.Dao;
import com.lishan.model.Reader;
import com.lishan.util.CreatedIcon;
import com.lishan.util.MyDocument;

public class ReaderSearchIFrame extends JInternalFrame {
	private JTextField keepmoney;
	private ButtonGroup buttonGroup = new ButtonGroup();
	private JTextField search ,searcheMethod;
	private JTextField readerISBN;
	private JTextField zhiye;
	private JTextField tel;
	private JTextField date;
	private JTextField maxnumber;
	private JTextField banzhengtime;
	private JTextField zhengjiannumber;
	private JComboBox comboBox,comboBox1;
	private JTextField age;
	private JTextField readername;
	private JRadioButton JRadioButton1;
	private JRadioButton JRadioButton2;
	private JScrollPane scrollPane;
	private JTable table;

	private String[] columnNames = { "读者名称", "读者性别", "读者年龄", "证件号码", "会员证有效日期",
			"最大借书量", "电话", "押金", "证件", "职业", "读者编号", "读者办证时间" };
	private String[] array = new String[] { "身份证", "军人证", "学生证", "工作证" };
	String id;

	/**
	 * Create the frame
	 */
	private Object[][] getFileStates(List list) {
		Object[][] results = new Object[list.size()][columnNames.length];
		for (int i = 0; i < list.size(); i++) {
			Reader reader = (Reader) list.get(i);
			results[i][0] = reader.getName();
			String sex;
			if (reader.getSex().equals("1")) {
				sex = "男";
			} else
				sex = "女";
			results[i][1] = sex;
			results[i][2] = reader.getAge();
			results[i][3] = reader.getIdentityCard();
			results[i][4] = reader.getDate();
			results[i][5] = reader.getMaxNum();
			results[i][6] = reader.getTel();
			results[i][7] = reader.getKeepMoney();
			results[i][8] = array[reader.getZhengjian()];
			results[i][9] = reader.getZhiye();
			results[i][10] = reader.getISBN();
			results[i][11] = reader.getBztime();
		}
		return results;
	}

	public ReaderSearchIFrame() {
		super();
		setIconifiable(true);
		setMaximizable(true);
		setClosable(true);
		setTitle("读者信息查询");
		setBounds(100, 100, 600, 380);
		
		final JTabbedPane tabbedPane = new JTabbedPane();// tabbedPane允许用户通过单击具有给定标题和/或图标的选项卡,在一组组件之间进行切换
		tabbedPane.setPreferredSize(new Dimension(0, 50));
		getContentPane().add(tabbedPane);
		
        final JPanel panelTotle = new JPanel();
        panelTotle.setLayout(new BorderLayout());
        tabbedPane.addTab("按ISBN查询", null, panelTotle, null);

		final JPanel panel_1_1 = new JPanel();
		panel_1_1.setBorder(new TitledBorder(null, null,
				TitledBorder.DEFAULT_JUSTIFICATION,
				TitledBorder.DEFAULT_POSITION, null, null));
		panel_1_1.setPreferredSize(new Dimension(0, 50));
		panelTotle.add(panel_1_1, BorderLayout.NORTH);

        final JLabel inputISBN = new JLabel("请输入ISBN号:");
        panel_1_1.add(inputISBN);
		search = new JTextField(30);
		panel_1_1.add(search);

		final JPanel panel_1_2 = new JPanel();
		panel_1_2.setBorder(new TitledBorder(null, "查询结果",
				TitledBorder.DEFAULT_JUSTIFICATION,
				TitledBorder.DEFAULT_POSITION, null, null));
		panel_1_2.setPreferredSize(new Dimension(0, 200));
		panelTotle.add(panel_1_2, BorderLayout.CENTER);

		final GridLayout gridLayout = new GridLayout(0, 4);
		gridLayout.setVgap(13);
		panel_1_2.setLayout(gridLayout);

		final JLabel label_1 = new JLabel();
		label_1.setText("  姓    名:");
		panel_1_2.add(label_1);

		readername = new JTextField();
		readername.setFocusable(true);
		panel_1_2.add(readername);

		final JLabel label_2 = new JLabel();
		label_2.setText("  性    别:");
		panel_1_2.add(label_2);

		final JPanel panel_3 = new JPanel();
		final FlowLayout flowLayout_1 = new FlowLayout();
		flowLayout_1.setVgap(0);
		panel_3.setLayout(flowLayout_1);
		panel_1_2.add(panel_3);

		JRadioButton1 = new JRadioButton();
		JRadioButton1.setSelected(true);
		buttonGroup.add(JRadioButton1);
		panel_3.add(JRadioButton1);
		JRadioButton1.setText("男");

		JRadioButton2 = new JRadioButton();
		buttonGroup.add(JRadioButton2);
		panel_3.add(JRadioButton2);
		JRadioButton2.setText("女");

		final JLabel label_3 = new JLabel();
		label_3.setText("  年    龄:");
		panel_1_2.add(label_3);

		age = new JTextField();
		age.setFocusable(false);
		panel_1_2.add(age);

		final JLabel label_5 = new JLabel();
		label_5.setText("  职    业:");
		panel_1_2.add(label_5);

		zhiye = new JTextField();
		zhiye.setFocusable(false);
		panel_1_2.add(zhiye);

		final JLabel label = new JLabel();
		label.setText("  有效证件:");
		panel_1_2.add(label);

		comboBox = new JComboBox();
		comboBox.setModel(new DefaultComboBoxModel(array));
		for (int i = 1; i < array.length; i++) {
			comboBox.setSelectedIndex(i);
			comboBox.setSelectedItem(array);
		}
		panel_1_2.add(comboBox);

		final JLabel label_6 = new JLabel();
		label_6.setText("  证件号码:");
		panel_1_2.add(label_6);

		zhengjiannumber = new JTextField();
		zhengjiannumber.setFocusable(false);
		panel_1_2.add(zhengjiannumber);

		final JLabel label_7 = new JLabel();
		label_7.setText("  办证日期:");
		panel_1_2.add(label_7);

		SimpleDateFormat myfmt = new SimpleDateFormat("yyyy-MM-dd");

		banzhengtime = new JFormattedTextField(myfmt.getDateInstance());
		banzhengtime.setFocusable(false);
		panel_1_2.add(banzhengtime);

		final JLabel label_9 = new JLabel();
		label_9.setText("  最大借书量:");
		panel_1_2.add(label_9);

		maxnumber = new JTextField();
		maxnumber.setFocusable(false);
		panel_1_2.add(maxnumber);

		final JLabel label_13 = new JLabel();
		label_13.setText("  会员证有效日期:");
		panel_1_2.add(label_13);

		date = new JFormattedTextField(myfmt.getDateInstance());
		date.setFocusable(false);
		panel_1_2.add(date);

		final JLabel label_8 = new JLabel();
		label_8.setText("  电    话:");
		panel_1_2.add(label_8);

		tel = new JFormattedTextField();
		tel.setFocusable(false);
		panel_1_2.add(tel);

		final JLabel label_14 = new JLabel();
		label_14.setText("  押    金:");
		panel_1_2.add(label_14);

		keepmoney = new JTextField();
		keepmoney.setFocusable(false);
		panel_1_2.add(keepmoney);

		final JLabel label_4 = new JLabel();
		label_4.setText("  读者编号:");
		panel_1_2.add(label_4);

		readerISBN = new JTextField();
		readerISBN.setFocusable(false);
		panel_1_2.add(readerISBN);

		final JPanel panel_4 = new JPanel();
		panel_4.setMaximumSize(new Dimension(0, 0));
		final FlowLayout flowLayout = new FlowLayout();
		flowLayout.setVgap(0);
		flowLayout.setHgap(4);
		panel_4.setLayout(flowLayout);

		final JButton button = new JButton();
		button.setHorizontalTextPosition(SwingConstants.CENTER);
		panel_4.add(button);
		button.setText("查询");
		button.addActionListener(new ReaderSearchListener());

		final JButton buttonDel = new JButton();
		panel_4.add(buttonDel);
		buttonDel.setText("退出");
		buttonDel.addActionListener(new exitListener());
		panelTotle.add(panel_4, BorderLayout.SOUTH);
		setVisible(true);
		
		final JPanel panelTotle_1 = new JPanel();
		panelTotle_1.setLayout(new BorderLayout());
		tabbedPane.addTab("批量查询", null, panelTotle_1, null);
		
		final JPanel panel_2 = new JPanel();
		panel_2.setBorder(new TitledBorder(null, "选择查询方法",
				TitledBorder.DEFAULT_JUSTIFICATION,
				TitledBorder.DEFAULT_POSITION, null, null));
		panel_2.setPreferredSize(new Dimension(0, 50));
		panelTotle_1.add(panel_2, BorderLayout.NORTH);
		
		comboBox1 = new JComboBox();
		String[] array1 = new String[] { "按性别查询", "按姓名查询" };
		for(int i = 0; i < array1.length; i++){
			comboBox1.addItem(array1[i]);
		}
		panel_2.add(comboBox1);
		
		searcheMethod = new JTextField();
		searcheMethod.setColumns(20);
		panel_2.add(searcheMethod);
		
		final JPanel panel_2_1 = new JPanel();
		panel_2_1.setBorder(new TitledBorder(null,"查询结果",
				TitledBorder.DEFAULT_JUSTIFICATION,
				TitledBorder.DEFAULT_POSITION,null,null));
		panel_2_1.setPreferredSize(new Dimension(0,50));
		panelTotle_1.add(panel_2_1, BorderLayout.CENTER);
		
		scrollPane = new JScrollPane();
		scrollPane.setPreferredSize(new Dimension(400, 200));
		panel_2_1.add(scrollPane);
		
		final JPanel panel_2_2 = new JPanel();
		final JButton buttonsearch = new JButton("查询");
		final JButton buttonexit = new JButton("退出");
		buttonsearch.addActionListener(new ActionListener(){
			@Override
			public void actionPerformed(ActionEvent arg0) {
				// TODO Auto-generated method stub
				String choicename = comboBox1.getSelectedItem().toString().trim();
				if( choicename.equals("按姓名查询")){
					String method = searcheMethod.getText().trim();
					Object[][] results = getFileStates(Dao.selectReaderByName(method));
//					if(results.length == 0){
//						JOptionPane.showMessageDialog(null, "不存在姓名为" + method +"读者");
//						return;
//					}
					table = new JTable(results,columnNames);
					table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
					scrollPane.setViewportView(table);
				}
				if(choicename.equals("按性别查询")){
					String method = searcheMethod.getText().trim();
					if("男".equals(method) || "man".equals(method)){
						Object[][] results = getFileStates(Dao.selectReaderBySex("1"));
						table = new JTable(results,columnNames);
						table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
						scrollPane.setViewportView(table);
					}else if("女".equals(method) || "woman".equals(method)){
						Object[][] results = getFileStates(Dao.selectReaderBySex("2"));
						table = new JTable(results,columnNames);
						table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
						scrollPane.setViewportView(table);
					}else{
						JOptionPane.showMessageDialog(null, "请输入性别");
						return;
					}
					
				}
			}
		});
		buttonexit.addActionListener(new exitListener());
		panel_2_2.add(buttonsearch);
		panel_2_2.add(buttonexit);
		panelTotle_1.add(panel_2_2, BorderLayout.SOUTH);
	}

	class ReaderSearchListener implements ActionListener {
		@Override
		public void actionPerformed(ActionEvent arg0) {
			List list = Dao.selectReader(search.getText().trim());
			if (list.size() == 0) {
				JOptionPane.showMessageDialog(null, "没有编号为"
						+ search.getText().trim() + "的读者信息");
			} else {
					Reader reader = (Reader) list.get(0);
					readername.setText(reader.getName());
					String sex = reader.getSex();
					if (sex.equals("1")) {
						JRadioButton1.setSelected(true);
					} else
						JRadioButton2.setSelected(true);
					age.setText(reader.getAge());
					zhiye.setText(reader.getZhiye());
					comboBox.setSelectedIndex(reader.getZhengjian());
					zhengjiannumber.setText(reader.getIdentityCard().toString()
							.trim());
					banzhengtime.setText(reader.getBztime().toString().trim());
					maxnumber.setText(reader.getMaxNum().toString().trim());
					date.setText(reader.getDate().toString().trim());
					tel.setText(reader.getTel().toString().trim());
					keepmoney.setText(reader.getKeepMoney().toString().trim());
					readerISBN.setText(reader.getISBN().toString().trim());
			}
		}
	}

	class exitListener implements ActionListener {
		public void actionPerformed(ActionEvent e) {
			doDefaultCloseAction();
		}
	}
}

⌨️ 快捷键说明

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