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

📄 searchframe.java

📁 码头船舶管理系统 适合初学者使用 J2SE的知识
💻 JAVA
字号:
import java.awt.Checkbox;
import java.awt.CheckboxGroup;
import java.awt.Color;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.TreeMap;

import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.border.Border;
import javax.swing.border.TitledBorder;
import javax.swing.table.DefaultTableModel;

public class SearchFrame extends JFrame implements ActionListener,ItemListener {
	JPanel main_panel;
	JPanel up_panel;
	JPanel mid_panel;
	JPanel down_panel;
	
	JButton bt;
	JButton return_button;
	
	JLabel up_lb;
	JLabel name_lb;
	
	JTextField name_tf;
	
	Checkbox up_cb;
	Checkbox down_cb;
	
	JTable table;
	
	Object[] columnName = {"姓名","电话","地址"};
	Object[][] data = {};
	DefaultTableModel tm;
	
	ArrayList array = new ArrayList();
	static boolean flag = true;
	public SearchFrame(ArrayList array){
		super("查询页面!");
		this.array = array;
		
		Border line = BorderFactory.createLineBorder(Color.red);
		TitledBorder title1 = BorderFactory.createTitledBorder(line,"信息查询",0,0);
		TitledBorder title2 =BorderFactory.createTitledBorder(line,"查询结果",0,0);
		
		main_panel = new JPanel(new GridLayout(3,1));
		main_panel.setBorder(title1);
		
		up_panel = new JPanel();
		mid_panel = new JPanel();
		down_panel = new JPanel(new GridLayout(2,1));
		down_panel.setBorder(title2);
		JPanel d1_panel = new JPanel();
		
		
		name_lb = new JLabel("请输入要查询的用户名: ");
		
		name_tf = new JTextField(10);
		
		//排序
		CheckboxGroup gr = new CheckboxGroup();
		up_cb = new Checkbox("升序",gr,false);
		down_cb = new Checkbox("降序",gr,false);
		
		up_cb.addItemListener(this);
		down_cb.addItemListener(this);
		
		//按钮
		bt = new JButton("查询");
		return_button = new JButton("返回");
		bt.addActionListener(this);
		return_button.addActionListener(this);
		
		mid_panel.add(name_lb);
		mid_panel.add(name_tf);
		mid_panel.add(bt);
		mid_panel.add(return_button);
		
				
		
		
		tm = new DefaultTableModel(data,columnName);
		table = new JTable(tm);
		
		
		d1_panel.add(up_cb);
		d1_panel.add(down_cb);
		JScrollPane d2_panel = new JScrollPane(table,20,30);
		
		down_panel.add(d1_panel);
		down_panel.add(d2_panel);
		
		//main_panel.add(up_panel);
		main_panel.add(mid_panel);
		main_panel.add(down_panel);
		
		add(main_panel);
		//pack();
		setSize(400,500);
		setLocation(250,200);
		setDefaultCloseOperation(EXIT_ON_CLOSE);
		setVisible(true);
		
	}
	public void actionPerformed(ActionEvent e){
		String name;
		name = name_tf.getText();
		
		table = new JTable(tm);
		
		Customer cc;
		
		int array_size = this.array.size();
		

		/**
		 * 返回
		 */
		
		if(e.getActionCommand().equals("返回")){
			flag = false;
			new MainFrame(array);
			this.dispose();
		}
		
		/**
		 * 查询
		 */
		if(e.getActionCommand().equals("查询")){
			flag = true;
			
			//tm = new DefaultTableModel(data,columnName);
			
			for(int i =0 ;i<array_size;i++){
				
				cc = (Customer)this.array.get(i);
				System.out.println(cc.getName());
				String c_name = cc.getName();
				if(c_name.indexOf(name)>=0){
					System.out.println(c_name.indexOf(name));
					Object[] c = {cc.getName(),cc.getTel(),cc.getAddress()};
					tm.addRow(c);
					flag = false;
				}
				
			
				
			} 
			table = new JTable(tm);
			
		}
		if(flag){
			JOptionPane.showMessageDialog(this,"没有找到你需要的信息","提示",JOptionPane.ERROR_MESSAGE);
		}
	}

	public void itemStateChanged(ItemEvent e1) {
		
		
		int array_size = this.array.size();
		
		if(e1.getItem().equals("升序")){
			Object key = null;
			Object value = null;
			System.out.println("升序");
			Map myMap = new HashMap();
			for(int i = 0; i<array_size;i++){
				Customer cc = (Customer)this.array.get(i);
				myMap.put(Integer.parseInt(cc.getTel()),cc.getName()+" "+cc.getAddress());
			}
			Map treeMap = new TreeMap(myMap);
			Iterator it = treeMap.keySet().iterator();
			while(it.hasNext()){
				key = it.next();
				value = treeMap.get(key);
				
				System.out.println("key:   "+key+"   value:   "+value);
			}
			
		}
		if(e1.getItem().equals("降序")){ 
			Object key = null;
			Object value = null;
			System.out.println("降序");
			Map myMap = new HashMap();
			for(int i = 0; i<array_size;i++){
				Customer cc = (Customer)this.array.get(i);
				myMap.put(Integer.parseInt(cc.getTel()),cc.getName()+" "+cc.getAddress());
			}
			Map newtreemap = new TreeMap(new MyIntComparator());
			newtreemap.putAll(myMap);
			
			
			Map.Entry entry = null;
			Iterator it = newtreemap.entrySet().iterator();
			while(it.hasNext()){
				entry  = (Map.Entry)it.next();
				
				System.out.println("key:   "+entry.getKey()+"   value:   "+entry.getValue());
			}
		}
		
	}
	
	public static void main(String[] args){
		//new SearchFrame();
	}
	class MyIntComparator implements Comparator{

		public int compare(Object o1, Object o2) {
			int i1 = ((Integer)o1).intValue();
			int i2 = ((Integer)o2).intValue();
			
			if(i1<i2){
				return 1;
			}
			if(i1>i2){
				return -1;
			}
			return 0;
		}
		
	}
	
	
}
		

⌨️ 快捷键说明

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