📄 bank.java
字号:
package work1;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.awt.event.*;
public class Bank extends JFrame implements Runnable{
JLabel label1=new JLabel("window1");
JLabel label2=new JLabel("window2");
JLabel label3=new JLabel("window3");
JTextField t1=new JTextField(8);
JTextField t2=new JTextField(8);
JTextField t3=new JTextField(8);
public int numClicks=0;
DefaultListModel model=new DefaultListModel();
JList li=new JList(model);
JButton bt=new JButton("new customer");
Container cp1,cp2,cp3;
JPanel jp1=new JPanel();
JPanel jp2=new JPanel();
public synchronized String getMsg() {
String msg = "";
if(model.size()>0)
{
msg=model.getElementAt(0).toString();
model.removeElementAt(0);
}
notifyAll();
return msg;
}
public void run(){
String curRunning;
while(true){
curRunning=Thread.currentThread().getName();
if(curRunning.equals ("FirstThread")){
while(t1.getText().endsWith("")){
t1.setText(getMsg());
try{
Thread.sleep(6000);
}catch(InterruptedException e){
System.out.println(e.getMessage());
}
t1.setText("");
}
}
else if(curRunning.equals("SecondThread")) {
while(t2.getText().endsWith("")){
t2.setText(getMsg());
try{
Thread.sleep(6000);
}catch(InterruptedException e){
System.out.println(e.getMessage());
}
t2.setText("");
}
}
else if(curRunning.equals("ThirdThread")){
while(t3.getText().endsWith("")){
t3.setText(getMsg());
try{
Thread.sleep(6000);
}catch(InterruptedException e){
System.out.println(e.getMessage());
}
t3.setText("");
}
}
}
}
public Bank(){
super("实验一:银行排号的模拟");
jp1.setLayout(new GridLayout(3,2));
jp1.add(label1);jp1.add(t1);
jp1.add(label2);jp1.add(t2);
jp1.add(label3);jp1.add(t3);
jp2.setLayout(new GridLayout(2,0));
jp2.add(li);
jp2.add(bt);
cp3=getContentPane();cp3.setLayout(new BorderLayout());
cp3.add(jp1,"North");
cp3.add(jp2,"South");
t1.setEnabled(false);
t2.setEnabled(false);
t3.setEnabled(false);
li.setVisibleRowCount(6);li.setFixedCellWidth(200);
JScrollPane panel=new JScrollPane(li);
cp3.add(panel);
bt.addActionListener(new InputListener());
setSize(400,250);
}
class InputListener implements ActionListener {
public void actionPerformed(ActionEvent e){
if(e.getSource()==bt){
String str="";
numClicks++;
str=JOptionPane.showInputDialog("input the name");
model.addElement(numClicks+str);
}
}
}
public static void main(String args[]){
Bank bank=new Bank();
Thread thread1,thread2,thread3;
thread1=new Thread(bank,"FirstThread");
thread2=new Thread(bank,"SecondThread");
thread3=new Thread(bank,"ThirdThread");
thread1.start();
thread2.start();
thread3.start();
bank.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
bank.show();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -