📄 clientgui.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 + -