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

📄 clientgui.java

📁 线程通信
💻 JAVA
字号:
import java.awt.*;
import java.util.List;
import javax.swing.*;
import java.util.*;
import java.awt.event.*;
import java.io.*;

public class ClientGUI extends JFrame implements ActionListener{
	
	
	private Client cli=null;
	private int port;
	private JButton b;
	private JTextArea display;
	private JTextField input;
	
	   
	public ClientGUI(int port){
		this.port=port;
		JPanel brh=new JPanel(new BorderLayout());
		JPanel bp=new JPanel(new GridLayout(1,6));
		b=new JButton("login");
		b.addActionListener(this);
		bp.add(b);
		b=new JButton("return");
		b.addActionListener(this);
		bp.add(b);
		b=new JButton("borrow");
		b.addActionListener(this);
		bp.add(b);
		b=new JButton("search");
		b.addActionListener(this);
		bp.add(b);
		b=new JButton("checkloan");
		b.addActionListener(this);
		bp.add(b);
		b=new JButton("demo");
		b.addActionListener(this);
		bp.add(b);
		brh.add(bp,BorderLayout.SOUTH);
		display=new JTextArea(3,3);
   		display.setEditable(false);
   		JScrollPane disp=new JScrollPane(display);
   		brh.add(disp,BorderLayout.CENTER);
   		input=new JTextField(3);
   		brh.add(input,BorderLayout.NORTH);
   	
		getContentPane().add(brh);
	
		setTitle("no login");
   		addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent e) {
                System.exit(0);
            }
        });
   		pack();
   	}
   	

	public  void actionPerformed(ActionEvent e){
		String s=e.getActionCommand();
		
		if(s.equals("login")){
			String id=input.getText();
			if(id.equals("")){
				setTitle("no login"); 
				display.setText("must input id");
			}
			else{
				cli=new Client(id,port);
				String res=cli.negotiateId(id);
				display.setText(res);
				if(res.indexOf("fail")!=-1){
					setTitle("no login");
					cli=null;
				}
				else
					setTitle("login: "+id);
			}
		}
		
    	else if(cli==null)
    		display.setText("login first");
    	else if(s.equals("borrow")||s.equals("return")||s.equals("search")||s.equals("demo")){
    		String b=input.getText();
    		if(b.equals(""))
    			display.setText("book title can't be empty");
    		else{
    			List l=new ArrayList();
    			StringTokenizer st=new StringTokenizer(b);
    			while(st.hasMoreTokens())
    				l.add(st.nextToken());
    			if(!s.equals("demo")){
    				int type=-1;
    				if(s.equals("borrow"))
    					type=Request.BORROW;
    				else if(s.equals("return"))
    					type=Request.RETUN;
					else if(s.equals("search"))
						type=Request.SEARCH;
					display.setText(cli.negotiateBook(type,l));
				}
				else{//s.equals("demo")
    				for (int i=0; i<100; i++)
    		   			display.setText(cli.negotiateBook((i%3)+1,l));//type={1,2,3}   
				}
			}
		}
    	else if(s.equals("checkloan"))
    		display.setText(cli.negotiateChloan());
    			
     }
    		
    
    public static void main(String[] args) {
    	if(args.length!=1)
    		System.out.println("java Client< int port>");
     	 ClientGUI frame = new ClientGUI(Integer.parseInt(args[0]));
  		 frame.setVisible(true);
    }
}


        
        

⌨️ 快捷键说明

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